《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的并串轉(zhuǎn)換電路硬件實(shí)現(xiàn)
基于FPGA的并串轉(zhuǎn)換電路硬件實(shí)現(xiàn)
2017年電子技術(shù)應(yīng)用第12期
劉 焱,周圣澤,羅 軍,王小強(qiáng),羅宏偉
工業(yè)和信息化部電子第五研究所,廣東 廣州510610
摘要: 并串轉(zhuǎn)換電路在通信接口中具有廣泛的應(yīng)用,可編程邏輯陣列由于具備靈活、可重構(gòu)等特點(diǎn)非常適應(yīng)于并串轉(zhuǎn)換硬件電路的實(shí)現(xiàn)。為了解決硬件電路結(jié)構(gòu)中資源與性能的矛盾,分析比較了移位寄存器、計(jì)數(shù)器與組合邏輯條件判定三種不同的并串轉(zhuǎn)換硬件電路結(jié)構(gòu),并通過(guò)設(shè)計(jì)仿真對(duì)其進(jìn)行了功能驗(yàn)證和性能評(píng)估。實(shí)驗(yàn)結(jié)果表明采用移位寄存器的實(shí)現(xiàn)方法具有最優(yōu)的速度性能,采用計(jì)數(shù)器的實(shí)現(xiàn)方法具有最優(yōu)的性?xún)r(jià)比,采用組合邏輯條件判定的實(shí)現(xiàn)方法具有最少的寄存器資源消耗,可根據(jù)實(shí)際應(yīng)用需求合理選擇并串轉(zhuǎn)換硬件電路實(shí)現(xiàn)方式。
中圖分類(lèi)號(hào): TP302.2
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.172005
中文引用格式: 劉焱,周圣澤,羅軍,等. 基于FPGA的并串轉(zhuǎn)換電路硬件實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2017,43(12):21-24,28.
英文引用格式: Liu Yan,Zhou Shengze,Luo Jun,et al. Hardware implementation of parallel-to-serial circuit based on FPGA[J].Application of Electronic Technique,2017,43(12):21-24,28.
Hardware implementation of parallel-to-serial circuit based on FPGA
Liu Yan,Zhou Shengze,Luo Jun,Wang Xiaoqiang,Luo Hongwei
China Electronic Product Reliability and Environmental Testing Research Institute,Guangzhou 510610,China
Abstract: Parallel-to-serial circuit has a wide application in communication interfaces. Field programmable gate array(FPGA) is very suitable for hardware implementation of parallel-to-serial circuit for its flexible and programmable. To find the best trade-off of cost and performance of hardware circuit, the methods of shift register, counter and judgment of combinational condition are implemented and compared. Functional verification and performance evaluation are completed based on FPGA. Experiment result has shown that the highest speed can be obtained by the method of shift register, and the best trade-off can be achieved by the method of counter. Besides, lowest registers can be consumed by using the method of combinational judgment. It relies on the application requirement to choose the best hardware architecture.
Key words : field programmable gate array;parallel-to-serial circuit;hardware implementation;shift register;counter

0 引言

    并串轉(zhuǎn)換電路作為一種重要的數(shù)字信號(hào)傳輸途徑,在SPI、I2C、UART等接口協(xié)議及高速SERDES、PCIE等通信接口上具有廣泛的應(yīng)用。在近年來(lái)的集成電路發(fā)展中,針對(duì)并串轉(zhuǎn)換電路的設(shè)計(jì)主要有三種途徑,分別是采用集成電路定制的設(shè)計(jì)方式、基于可編程邏輯陣列(Field Programmable Gate Array,F(xiàn)PGA)的設(shè)計(jì)方式以及采用軟件的設(shè)計(jì)方式?;诩呻娐范ㄖ频牟⒋D(zhuǎn)換電路設(shè)計(jì)方式由于流片成本高昂,通常僅應(yīng)用在一些對(duì)傳輸速率要求非常高的場(chǎng)合,如1.25 Gbps的并串轉(zhuǎn)換集成電路[1-2]、2.5 Gbps的PCIE并串轉(zhuǎn)換電路[3]、1.25 GHz的差分收發(fā)芯片[4]以及4G高速并串轉(zhuǎn)換電路[5]等。而采用軟件的并串轉(zhuǎn)換設(shè)計(jì)方式通常只適應(yīng)于傳輸速率要求較低的場(chǎng)合,同時(shí)由于軟件設(shè)計(jì)方式通常要占用處理器的時(shí)間,在頻繁通信的場(chǎng)合會(huì)降低處理器的性能?;贔PGA的并串轉(zhuǎn)換電路實(shí)現(xiàn)由于能夠很好的在成本和性能之間取得一個(gè)折中,因而獲得了廣泛的發(fā)展,如在SPI[6]、I2C[7-8]等接口協(xié)議中的應(yīng)用。

    在基于FPGA的并串轉(zhuǎn)換電路實(shí)現(xiàn)中,采用計(jì)數(shù)器的方法來(lái)實(shí)現(xiàn)并串轉(zhuǎn)換電路是應(yīng)用最多的方法,如孫志雄等采用計(jì)數(shù)器的方法實(shí)現(xiàn)了16位輸入/8位數(shù)據(jù)輸出的并串轉(zhuǎn)換電路設(shè)計(jì)及仿真[9],王沖等采用計(jì)數(shù)器的方法實(shí)現(xiàn)了9位的并串轉(zhuǎn)換電路設(shè)計(jì)[10],王鵬等采用計(jì)數(shù)器的方法實(shí)現(xiàn)了N位的并串轉(zhuǎn)換電路設(shè)計(jì)[11],薛沛祥等采用計(jì)數(shù)器的方法實(shí)現(xiàn)了任意位的并串轉(zhuǎn)換電路設(shè)計(jì)[12]。由于在基于FPGA的設(shè)計(jì)中,資源使用與速度是一對(duì)矛盾體,因而如何根據(jù)具體的應(yīng)用需求以最小的資源來(lái)獲得最大的性能是工程設(shè)計(jì)的目標(biāo)[13]。

    針對(duì)不同的應(yīng)用需求,基于FPGA對(duì)不同的并串轉(zhuǎn)換電路進(jìn)行了硬件實(shí)現(xiàn),分別比較分析了采用移位寄存器、計(jì)數(shù)器及組合邏輯條件判定三種并串轉(zhuǎn)換硬件電路結(jié)構(gòu)的資源消耗與速度性能,并通過(guò)設(shè)計(jì)仿真對(duì)并串轉(zhuǎn)換硬件電路的功能進(jìn)行了驗(yàn)證。實(shí)驗(yàn)結(jié)果表明采用移位寄存器的并串轉(zhuǎn)換電路實(shí)現(xiàn)方法具有最優(yōu)的速度性能表現(xiàn),可適應(yīng)于高速應(yīng)用的領(lǐng)域。采用計(jì)數(shù)器的并串轉(zhuǎn)換電路實(shí)現(xiàn)方法具有最優(yōu)的性?xún)r(jià)比表現(xiàn),具有資源與速度的綜合能力優(yōu)勢(shì)。采用組合邏輯條件判定的并串轉(zhuǎn)換電路實(shí)現(xiàn)方法在一些對(duì)寄存器資源有嚴(yán)格限定的場(chǎng)合具有較高的應(yīng)用價(jià)值。

1 硬件實(shí)現(xiàn)結(jié)構(gòu)

    資源和性能是硬件電路結(jié)構(gòu)的一對(duì)矛盾體,如何設(shè)計(jì)更好的硬件電路結(jié)構(gòu)使其資源使用更小、性能更高成為研究者的追求目標(biāo)。基于FPGA的并串轉(zhuǎn)換電路有不同的硬件實(shí)現(xiàn)結(jié)構(gòu),為了在其資源使用和性能之間找到一個(gè)最優(yōu)的平衡,分析比較了三種不同的并串轉(zhuǎn)換電路硬件結(jié)構(gòu),分別如圖1、圖2和圖3所示。

wdz4-t1.gif

wdz4-t2.gif

wdz4-t3.gif

    方法1的并串轉(zhuǎn)換電路硬件實(shí)現(xiàn)結(jié)構(gòu)采用了移位寄存器的設(shè)計(jì)方案,通過(guò)設(shè)計(jì)N個(gè)移位寄存器,并初始化為0,在每個(gè)時(shí)鐘周期左移一個(gè)寄存器(置1),來(lái)控制串行輸出數(shù)據(jù)的位寬。這種設(shè)計(jì)方案由于組合邏輯設(shè)計(jì)較少,因而關(guān)鍵路徑的延遲理論上會(huì)更短,整個(gè)硬件電路的速度會(huì)更高。

    方法2的并串轉(zhuǎn)換電路硬件實(shí)現(xiàn)結(jié)構(gòu)采用了計(jì)數(shù)器累加的設(shè)計(jì)方案,通過(guò)設(shè)計(jì)一個(gè)位寬為log2N的計(jì)數(shù)器,進(jìn)行N次累加后來(lái)控制串行輸出數(shù)據(jù)的位寬。這種設(shè)計(jì)方案減少了寄存器資源的使用量,其關(guān)鍵路徑由組合邏輯的加法器決定,關(guān)鍵路徑延遲會(huì)比方法1更長(zhǎng)一些。

    方法3的并串轉(zhuǎn)換電路硬件實(shí)現(xiàn)結(jié)構(gòu)采用了組合邏輯條件判定的設(shè)計(jì)方案,通過(guò)對(duì)N位并行輸入的數(shù)據(jù)依據(jù)奇偶特性進(jìn)行位與及位或組合邏輯判定,進(jìn)而來(lái)對(duì)串行輸出數(shù)據(jù)的位寬進(jìn)行控制。這種設(shè)計(jì)方案在硬件描述語(yǔ)言代碼上顯得更簡(jiǎn)單點(diǎn),其寄存器資源使用與方法2相差不大,但由于采用了更多的組合邏輯運(yùn)算,因而其關(guān)鍵路徑延遲在三種方法中應(yīng)當(dāng)是最長(zhǎng)的。

2 設(shè)計(jì)仿真驗(yàn)證

    并串轉(zhuǎn)換硬件電路采用模塊化和層次化的設(shè)計(jì)思路,基于相同的代碼設(shè)計(jì)層次(如圖4所示)對(duì)三種不同的硬件實(shí)現(xiàn)結(jié)構(gòu)進(jìn)行設(shè)計(jì),以便盡可能地對(duì)模塊進(jìn)行復(fù)用。在代碼設(shè)計(jì)層次中,并行輸入數(shù)據(jù)的位寬由參數(shù)文件進(jìn)行定義,頂層仿真文件和硬件電路實(shí)現(xiàn)文件通過(guò)對(duì)參數(shù)文件進(jìn)行引用來(lái)實(shí)現(xiàn)參數(shù)的傳遞。

wdz4-t4.gif

    設(shè)計(jì)仿真流程如圖5所示,采用Verilog硬件描述語(yǔ)言對(duì)上述三種不同的并串轉(zhuǎn)換硬件電路結(jié)構(gòu)進(jìn)行了設(shè)計(jì)實(shí)現(xiàn),并基于Quartus Prime 16.0、Modelsim SE 10.2c及Debussy 5.4v9對(duì)設(shè)計(jì)電路進(jìn)行了綜合、仿真和驗(yàn)證。圖6展示了采用方法2并串轉(zhuǎn)換硬件電路結(jié)構(gòu)的功能仿真結(jié)果,仿真結(jié)果表明并串轉(zhuǎn)換硬件電路設(shè)計(jì)達(dá)到了預(yù)期的功能。

wdz4-t5.gif

wdz4-t6.gif

3 實(shí)驗(yàn)結(jié)果及分析

    為了對(duì)不同硬件電路結(jié)構(gòu)的資源使用和性能進(jìn)行分析,實(shí)驗(yàn)選取了不同位寬的并行輸入數(shù)據(jù)進(jìn)行了綜合。圖7中展示了不同硬件實(shí)現(xiàn)方法消耗的邏輯資源隨數(shù)據(jù)位寬變化的影響,從圖中可以發(fā)現(xiàn)隨著硬件結(jié)構(gòu)位寬的線(xiàn)性增加,其硬件實(shí)現(xiàn)消耗的邏輯資源也在線(xiàn)性增加。同時(shí),方法1消耗的邏輯資源最多、方法3其次、方法2最少。這是由它們的硬件實(shí)現(xiàn)結(jié)構(gòu)決定的,方法1中采用了移位寄存器的實(shí)現(xiàn)結(jié)構(gòu),相比于方法2中采用的計(jì)數(shù)器實(shí)現(xiàn)結(jié)構(gòu)在同等數(shù)據(jù)位寬條件下需要更多的邏輯資源來(lái)表征數(shù)據(jù)狀態(tài)的變化。而方法3中采用的是組合邏輯條件判定硬件實(shí)現(xiàn)結(jié)構(gòu),相比方法2使用了更多的邏輯資源,但比方法1的邏輯資源使用量要低。

wdz4-t7.gif

    不同硬件實(shí)現(xiàn)方法寄存器資源隨位寬的變化如圖8所示,當(dāng)數(shù)據(jù)位寬越大時(shí),其消耗的寄存器資源更多。其中,方法1由于采用了移位寄存器的實(shí)現(xiàn)結(jié)構(gòu),消耗的寄存器資源最多。而方法2和方法3中消耗的寄存器資源相差不大。

wdz4-t8.gif

    不同硬件實(shí)現(xiàn)方法最高綜合速度隨位寬的變化如圖9所示。隨著位寬的增加,其消耗的邏輯與寄存器資源越來(lái)越多,能夠工作的最高工作頻率也逐漸降低。從圖中可以發(fā)現(xiàn),方法3的最高工作頻率相對(duì)最低,這是由于方法3中采用了組合邏輯條件判定硬件實(shí)現(xiàn)結(jié)構(gòu),其關(guān)鍵路徑延遲相對(duì)最長(zhǎng)。

wdz4-t9.gif

    為了從成本和性能兩個(gè)方面對(duì)方法1、方法2和方法3的硬件實(shí)現(xiàn)結(jié)構(gòu)進(jìn)行綜合的比較和評(píng)估,采用式(1)所示的加權(quán)等效評(píng)估方法。式(1)中S∈{Cost_A,Cost_R,Speed},其中Cost_A和Cost_R分別表示某種硬件實(shí)現(xiàn)結(jié)構(gòu)消耗的等效邏輯資源及寄存器資源。Speed則表示某種硬件實(shí)現(xiàn)結(jié)構(gòu)通過(guò)綜合工具綜合后能夠達(dá)到的最高綜合速度。N表示不同位寬硬件結(jié)構(gòu)的總個(gè)數(shù),其中n=1,2,…,N。an表示在第n中位寬條件下硬件實(shí)現(xiàn)結(jié)構(gòu)消耗的資源或者綜合的性能。

    wdz4-gs1.gif

    采用式(1)所示的評(píng)估方法對(duì)不同的硬件實(shí)現(xiàn)方法進(jìn)行等效評(píng)估,比較結(jié)果如表1所示。從表中可以看出,方法1具有最高的性能優(yōu)勢(shì),但其消耗的資源也是最多的。表1中同時(shí)列出了不同硬件實(shí)現(xiàn)結(jié)構(gòu)速度與成本的比值,方法2具有最好的效費(fèi)比,其在單位邏輯資源和單位寄存器資源下能夠貢獻(xiàn)最多的速度性能。

wdz4-b1.gif

    通過(guò)上述對(duì)不同硬件實(shí)現(xiàn)結(jié)構(gòu)的對(duì)比及分析,可以發(fā)現(xiàn)方法2在硬件實(shí)現(xiàn)結(jié)構(gòu)的成本與性能之間具有最優(yōu)的平衡特性,因而可以在SPI、I2C、UART等接口協(xié)議以及集成電路老化試驗(yàn)激勵(lì)加載等對(duì)速度要求不高的領(lǐng)域中廣泛應(yīng)用。同時(shí),在對(duì)傳輸速率要求很高的應(yīng)用領(lǐng)域中,則需要優(yōu)先選擇方法1的硬件實(shí)現(xiàn)結(jié)構(gòu)。

4 結(jié)論

    并串轉(zhuǎn)換電路在集成電路芯片驅(qū)動(dòng)、老化試驗(yàn)信號(hào)激勵(lì)、SPI、I2C及UART等接口協(xié)議數(shù)據(jù)傳輸領(lǐng)域具有廣泛的應(yīng)用,基于FPGA的并串轉(zhuǎn)換電路實(shí)現(xiàn)由于具備可編程、靈活等特點(diǎn)在集成電路測(cè)試驗(yàn)證中獲得了更多的關(guān)注。針對(duì)基于FPGA的并串轉(zhuǎn)換電路資源使用和性能之間的矛盾,對(duì)比分析了三種不同方法的并串轉(zhuǎn)換電路硬件實(shí)現(xiàn)結(jié)構(gòu)。實(shí)驗(yàn)結(jié)果表明采用計(jì)數(shù)器的并串轉(zhuǎn)換硬件電路結(jié)構(gòu)在資源使用和性能之間具有最好的性?xún)r(jià)比,采用移位寄存器的并串轉(zhuǎn)換電路結(jié)構(gòu)具有最優(yōu)的速度表現(xiàn)。

參考文獻(xiàn)

[1] 趙文虎,王志功,吳微,等.1.25 Gbps并串轉(zhuǎn)換CMOS集成電路[J].固體電子學(xué)研究與進(jìn)展,2003,23(1):73-78.

[2] 郭亞煒,張占鵬,章奕民,等.一種1.25 Gbps CMOS以太網(wǎng)串并/并串轉(zhuǎn)換電路[J].微電子學(xué),2003,33(1):54-55,59.

[3] 黃佳.高性能2.5 Gbps PCI Express并串轉(zhuǎn)換電路的設(shè)計(jì)[J].廣西師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2009,26(3):55-59.

[4] 楊毓軍,王永祿,周述濤.一種超高速并串轉(zhuǎn)換電路的新實(shí)現(xiàn)方式[J].微電子學(xué),2006,36(2):145-147,153.

[5] 朱正,邱祖江,任俊彥,等.一種全CMOS工藝吉比特以太網(wǎng)串并-并串轉(zhuǎn)換電路[J].通信學(xué)報(bào),2002,23(1):70-76.

[6] 王玨文,金偉信,蔡一兵,等.基于FPGA的SPI總線(xiàn)接口的實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2010,(14):102-104.

[7] 張家會(huì),熊先越,曾麗珍.基于FPGA的I2C總線(xiàn)設(shè)計(jì)[J].光通信技術(shù),2011 (9):40-41.

[8] 鐘小敏,王小峰.I2C總線(xiàn)接口協(xié)議設(shè)計(jì)與FPGA實(shí)現(xiàn)[J].現(xiàn)代導(dǎo)航,2016 (4):291-294.

[9] 孫志雄,謝海霞.基于FPGA的高速串并/并串轉(zhuǎn)換器設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2014,37(8):151-152.

[10] 王沖,汪寶祥.基于FPGA的串行通訊接口設(shè)計(jì)[J].微處理機(jī),2016 (3):73-76,80.

[11] 王鵬,程蕓,董書(shū)莉.基于FPGA的多格式數(shù)據(jù)傳輸設(shè)計(jì)[J].電子測(cè)量技術(shù),2014,37(1):70-75.

[12] 薛沛祥,宋志剛,李墩泰.基于串行通信的任意位數(shù)據(jù)傳輸?shù)膙erilog實(shí)現(xiàn)方式[J].電子科學(xué)技術(shù),2014,1(1):50-54.

[13] JUN L,QIJUN H,SHENG C,et al.High throughput Cholesky decomposition based on FPGA[C].6th International Congress on Image and Signal Processing,2013:1649-1653.


作者信息:

劉  焱,周圣澤,羅  軍,王小強(qiáng),羅宏偉

(工業(yè)和信息化部電子第五研究所,廣東 廣州510610)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。