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

FPGA設計思想與技巧之串并轉(zhuǎn)換和流水線操作
1to8串并轉(zhuǎn)換
FPGA串并轉(zhuǎn)換實現(xiàn)問題
LVDS信號串并轉(zhuǎn)換芯片UB9240
FPGA串/并轉(zhuǎn)換的思想相關(guān)資料推薦
串并轉(zhuǎn)換VHDL代碼
84調(diào)制解調(diào)程序(包括串并轉(zhuǎn)換,判決等等)
串并轉(zhuǎn)換 通過多通道串-并轉(zhuǎn)換器將多個同步串行數(shù)據(jù)流轉(zhuǎn)換為并
74ls164與單片機的串并轉(zhuǎn)換(串轉(zhuǎn)并\串進并出)

(18)FPGA串/并轉(zhuǎn)換的思想

評論