高速PCI信號采集卡設計與實(shí)現綜合實(shí)例之: FPGA內部結構設計
13.6FPGA內部結構設計
13.6.1構框圖
基于FPGA及PCI9054的信號采集卡的核心設計部分是FPGA內部結構的邏輯設計。如圖13.15所示為本系統FPGA內部結構框圖。
本文引用地址:http://dyxdggzs.com/article/201706/348784.htm其中,信號接收器是接收采集信號的模塊,對LVTTL信號接口和LVDS信號接口輸入的信號進(jìn)行分析,并將獲得的信號送入下一個(gè)模塊。
內部信號源是一個(gè)用于測試的模塊。通過(guò)產(chǎn)生一個(gè)已知的有序的信號序列送至信號接收器,最終進(jìn)入主機后進(jìn)行檢測,即可得知整個(gè)傳輸過(guò)程的正確性。
雙口RAM用于實(shí)現信號的串并轉換,使輸入的信號轉換成32位數據位寬,同時(shí)實(shí)現時(shí)鐘域的轉換。另外通過(guò)乒乓操作實(shí)現數據的有序存取。
圖13.15FPGA內部結構框圖
數據控制模塊用于產(chǎn)生雙口RAM和SDRAM控制器的地址總線(xiàn)、數據總線(xiàn)和控制總線(xiàn),是雙口RAM模塊與SDRAM控制器的橋梁。實(shí)現雙口RAM至SDRAM控制器正確的數據轉移。同時(shí),數據控制模塊還負責從SDRAM控制器讀取數據,并送至FPGA內的FIFO緩沖區中,用于PCI總線(xiàn)交互。
SDRAM控制器是FPGA內用于外部SDRAM控制的模塊。
PCI本地控制器是FPGA內用于控制PCI9054本地總線(xiàn)交互的模塊。
PLL是AlteraFPGA內提供的模擬延遲鎖相環(huán)模塊,可以實(shí)現系統時(shí)鐘的倍頻、分頻及延遲等時(shí)鐘控制操作。通過(guò)該模塊可以實(shí)現系統內不同時(shí)鐘域的時(shí)鐘分配。
13.6.2設計方法
在實(shí)際的設計中,主要通過(guò)自行編寫(xiě)模塊、調用宏模塊和引用開(kāi)源模塊3種方式來(lái)實(shí)現模塊的設計。
1.自行編寫(xiě)模塊
自行編寫(xiě)模塊就是完全通過(guò)自行編寫(xiě)的邏輯完成模塊的設計,可以使用硬件編程語(yǔ)言、狀態(tài)機、電路圖等方式實(shí)現。
本設計中的PCI本地控制器、信號接收器、內部信號源、數據控制等模塊都是使用Verilog硬件語(yǔ)言自行編寫(xiě)設計的。
2.調用宏模塊
在邏輯設計中,Altera已經(jīng)為設計者提供了豐富的基本邏輯組件的模塊。設計者只需使用宏模塊向導進(jìn)行調用,配置相應的參數,即可得到符合設計需求的模塊。
本設計中的雙口RAM、PLL及FIFO緩沖模塊正是通過(guò)調用CycloneFPGA支持的相應的LPM_RAM_DP、ALTPLL和LPM_FIFO+宏模塊實(shí)現的。如圖13.16所示為Altera宏模塊向導管理器界面。
圖13.16Altera宏模塊向導管理器
3.引用開(kāi)源模塊
除了設計者自行編寫(xiě)模塊及宏模塊向導管理器中提供的模塊以外,設計者還可以引用開(kāi)源的模塊加入到系統的設計中。開(kāi)源的模塊往往是一些廠(chǎng)家對一些常見(jiàn)的外圍器件提供的控制模塊。
本設計中使用的SDRAM控制器正是引用了成熟的開(kāi)源模塊進(jìn)行的設計,Altera為SDRAM控制器給出了白皮書(shū)和開(kāi)源模塊。設計者只需將該開(kāi)源模塊引用至系統的設計中,進(jìn)行一定的修改即可使用。
評論