基于FPGA的CMI編碼系統設計
程序中主要有兩個進程,其中前一個進程主要功能是在clk_m時鐘作用下,產生m序列,完成CMI編碼功能,由m_out輸出產生的m序列,cmi_reg用于存儲CMI編碼值;后一個進程主要功能是在clk_cmi(是clk_m時鐘速度的2倍)時鐘作用下,輸出CMI編碼信號。
3 系統仿真結果
利用QuartusⅡ7.2軟件平臺對CMI編碼程序進行了編譯和仿真,通過仿真得到了編碼仿真結果,圖3給出了CMI碼編碼仿真波形。
從仿真結果可以看出,系統在時鐘clk_m的觸發(fā)下,由m_out寄存器輸出m序列,輸出15位的m序列值,依次為000111101011001;系統在時鐘clk_cmi的觸發(fā)下,完成CMI編碼功能,而CMI編碼后的輸出值則由cmi_out寄存器輸出,從仿真波形圖上可以看出,CMI編碼的碼元輸出速率是m序列碼元速率的2倍。對應的輸出值依次為010101110011000111010011010100,對應的CMI編碼信號與m序列相比,有一定時間的延時,但編碼結果完全正確。
4 結論
本文詳細介紹了采用Altera公司的FPGA,利用Verilog HDL語言進行設計的CMI編碼系統的具體實現方法,Altera公司的CycloneⅡ系列EP2C5Q型號FPGA具有豐富的邏輯單元,通過QuartusⅡ軟件的綜合仿真,可以看到程序的設計僅僅占用了11個LE,占用FPGA的LE資源還不到1%。通過以上仿真結果可以看出,編碼的結果完全正確,本文闡述的設計方法是合理的。
本系統的創(chuàng)新點是將FPGA應用于CMI編碼邏輯的開發(fā)中,使系統設計簡單,配置更靈活,易于擴展,擺脫了基于專用芯片設計的限制,系統采用FPGA作為CMI編碼的核心單元,應用Verilog HDL對CMI編碼邏輯進行描述,利用SignalTapⅡ工具對系統邏輯進行分析,具有開發(fā)周期短、成本低、效率高、升級方便等特點,系統還研究了4級移存器周期為15的m序列發(fā)生器的設計方法,這為CMI編碼器的測試提供了信源基礎。存在的問題是系統在設計時未能合理的選擇FPGA型號,導致FPGA資源使用不盡合理,因此,在基于FPGA的系統設計過程中,為了避免產生資源浪費,一定要在設計前通過仿真手段大致的估算出設計需要的資源數量,然后選擇相應的FPGA型號;但同時也要注意FPGA的容量選擇要留有一定的余量,因為在大規(guī)模設計中,還可以將本文設計的CMI編碼電路與其他功能模塊都集成在一塊FPGA中,這一點在CMI編碼作為系統設計的一部分時便顯得尤為重要。
評論