串并轉(zhuǎn)換與并串轉(zhuǎn)換是高速數(shù)據(jù)流處理的重要技巧之一。其實(shí)現(xiàn)方法多種多樣,根據(jù)數(shù)據(jù)的順序和數(shù)量的不同要求,可以選用移位寄存器、雙口RAM(Dual RAM)、SRAM、SDRAM或者FIFO 等實(shí)現(xiàn)。
帶有高速收發(fā)器或LVDS等串行收發(fā)器的應(yīng)用都包含了典型的串并轉(zhuǎn)換與并串轉(zhuǎn)換設(shè)計(jì)。以筆者在《XilinxFPGA伴你玩轉(zhuǎn)USB3.0與LVDS》一書(shū)的第8章介紹的LVDS收發(fā)實(shí)驗(yàn)為例。如圖3.21所示,F(xiàn)PGA接收到LVDS串行時(shí)鐘s_clk和串行數(shù)據(jù)s_data,s_data是逐位傳輸?shù)模總€(gè)s_clk時(shí)鐘周期傳輸4bit數(shù)據(jù)。每2個(gè)s_clk時(shí)鐘周期共傳輸8bit數(shù)據(jù),這8bit數(shù)據(jù)就是實(shí)際應(yīng)用中有具體意義的有效數(shù)據(jù)。因此,串并轉(zhuǎn)換后,1bit位寬的s_data在2個(gè)s_clk時(shí)鐘周期中累計(jì)送入的8bit數(shù)據(jù),最終要轉(zhuǎn)換為FPGA的并行時(shí)鐘p_clk所同步的8bit位寬的并行數(shù)據(jù)p_data上。
圖3.21 串并轉(zhuǎn)換波形
由于LVDS的傳輸基于FPGA的硬件物理層結(jié)構(gòu),因此FPGA開(kāi)發(fā)工具上通常都有配套支持的IP核供直接配置使用,串并轉(zhuǎn)換(LVDS接收)或并串轉(zhuǎn)換(LVDS發(fā)送)的工作都由IP核完成了,無(wú)需設(shè)計(jì)者自己寫(xiě)代碼實(shí)現(xiàn)。
筆者在實(shí)際設(shè)計(jì)中,使用較多的是基于FIFO的串并轉(zhuǎn)換或并串轉(zhuǎn)換設(shè)計(jì)。如圖3.22所示,左右兩個(gè)FIFO,除了起到了數(shù)據(jù)緩存的作用,也起到了位寬變換,即串并轉(zhuǎn)換(16bit轉(zhuǎn)換為64bit)和并串轉(zhuǎn)換(64bit轉(zhuǎn)換為16bit)的作用。
圖3.22 串并轉(zhuǎn)換與并串轉(zhuǎn)換應(yīng)用
審核編輯:湯梓紅
-
FPGA
+關(guān)注
關(guān)注
1629文章
21748瀏覽量
603909 -
收發(fā)器
+關(guān)注
關(guān)注
10文章
3432瀏覽量
106045 -
寄存器
+關(guān)注
關(guān)注
31文章
5355瀏覽量
120531 -
Xilinx
+關(guān)注
關(guān)注
71文章
2167瀏覽量
121574 -
lvds
+關(guān)注
關(guān)注
2文章
1043瀏覽量
65833
原文標(biāo)題:經(jīng)典設(shè)計(jì)思想:串并轉(zhuǎn)換與并串轉(zhuǎn)換
文章出處:【微信號(hào):FPGA快樂(lè)學(xué)習(xí),微信公眾號(hào):FPGA快樂(lè)學(xué)習(xí)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論