新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 通用異步串行接口的VHDL實(shí)用化設(shè)計(jì)

通用異步串行接口的VHDL實(shí)用化設(shè)計(jì)

作者: 時(shí)間:2012-10-10 來(lái)源:網(wǎng)絡(luò) 收藏

3.5 同步FIFO的設(shè)計(jì)

設(shè)計(jì)中根據(jù)收發(fā)模塊對(duì)狀態(tài)標(biāo)志要求的不同,分別進(jìn)行同步FIFO的設(shè)計(jì)以節(jié)約邏輯資源。其中,發(fā)送模塊的FIFO只需要全空/全滿標(biāo)志,采用地址相等不相等的比較邏輯和地址繞回指示位來(lái)產(chǎn)生。具體過(guò)程為:地址隨著相應(yīng)的操作遞增,寫指針由內(nèi)存的最后位置返回到初始位置時(shí)將地址繞回指示位置1,讀指針?lè)祷貢r(shí)則置0。因此,當(dāng)讀寫指針地址相同時(shí),若地址繞回指示位為0,則讀寫指針經(jīng)歷了相同次數(shù)的循環(huán)移動(dòng), FIFO處于空狀態(tài)(圖4a);若地址繞回指示位為1,則寫指針比讀指針多循環(huán)一次,F(xiàn)IFO處于滿狀態(tài)。

接收模塊需要在FIFO中數(shù)據(jù)量達(dá)到一個(gè)設(shè)定的數(shù)值時(shí)產(chǎn)生一個(gè)中斷,由于設(shè)定的數(shù)值是任意的,這樣空/滿標(biāo)記的產(chǎn)生必須使用減法器,消耗的邏輯資源稍大。綜合后的邏輯資源使用情況也說(shuō)明了這點(diǎn)。

3.6 鎖存器的使用

使電路復(fù)雜化的常見原因之一是設(shè)計(jì)中存在許多不必要的鎖存器,使得電路復(fù)雜,工作速度降低,系統(tǒng)可靠性變差。綜合時(shí)應(yīng)該仔細(xì)檢查是否合理使用了鎖存器。由于UART的功能特點(diǎn),設(shè)計(jì)中共使用了4個(gè)鎖存器,用來(lái)鎖存A(2:0)和CSn信號(hào)。當(dāng)UART和CPU總線處在同一個(gè)芯片中時(shí),這些鎖存器可以用寄存器取代。

4 綜合結(jié)果

整個(gè)設(shè)計(jì)以語(yǔ)言來(lái)實(shí)現(xiàn)。在SYNOPSYS Design Compiler中使用LSI_10K庫(kù),設(shè)定系統(tǒng)工作頻率為25MHz,其他使用預(yù)定的選項(xiàng),綜合后最大路徑延時(shí)為10.66ns,預(yù)期工作頻率大于90MHz。資源使用情況如表1所示。

在XC2V1000-6芯片中,以Synplify為綜合工具,則使用了188個(gè)寄存器,占用了1%的邏輯資源。最大路徑延遲預(yù)期9.043ns,預(yù)期工作頻率110MHz。

5 仿真與驗(yàn)證

設(shè)計(jì)中對(duì)UART各模塊分別撰寫了相應(yīng)的測(cè)試程序,驗(yàn)證了各模塊的正確性。然后把這些模塊裝配在一起,在系統(tǒng)級(jí)上再進(jìn)行了接收、發(fā)送和中斷功能的門級(jí)驗(yàn)證。這種模塊化分層次的驗(yàn)證過(guò)程在調(diào)試中有效地縮小了查找錯(cuò)誤的范圍,提高了調(diào)試效率并保證了代碼的健壯性。

6 結(jié)束語(yǔ)

穩(wěn)定性和低功耗是嵌入式通信系統(tǒng)的重要設(shè)計(jì)目標(biāo)。實(shí)現(xiàn)需要的功能有時(shí)并不困難,難的是提高系統(tǒng)穩(wěn)定性和有效降低功耗。時(shí)鐘的規(guī)劃和亞穩(wěn)態(tài)的處理與這兩個(gè)目標(biāo)有著非常密切的關(guān)系,是實(shí)用化設(shè)計(jì)關(guān)注的重點(diǎn)之一。通過(guò)穩(wěn)定性、功耗與資源等方面的綜合考慮,該設(shè)計(jì)在所實(shí)現(xiàn)的軟件無(wú)線電硬件平臺(tái)上得到了成功應(yīng)用,達(dá)到了實(shí)用化設(shè)計(jì)的目標(biāo)。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: VHDL 異步串行 接口

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉