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