基于模型的DDS芯片設(shè)計與實現(xiàn)
2 在MATLAB 中建立的DDS 模型并在ISE 中實現(xiàn)本文引用地址:http://m.butianyuan.cn/article/152145.htm
Simulink 是一個可用于多領(lǐng)域動態(tài)系統(tǒng)仿真的平臺,為動態(tài)系統(tǒng)提供建模和分析的方 法,提供交互的圖形化方框圖環(huán)境帶有為信號處理、通信和控制等可定制的模塊集。System Generator 就是Xilinx 公司的一個專有模塊集(Blockset),它是Simulink 的一個插件, 包括基本DSP 函數(shù)和邏輯算符,其中包含的預(yù)先定義好的模塊可以保證FPGA 實現(xiàn)時位和周 期的正確。用它可以自動生成VHDL 語言、測試向量等文件,還可以自動將特定的設(shè)計模塊 映射成高度優(yōu)化的IP 核模型。在本文介紹的設(shè)計中,最后生成的工程文件中就自動映射出 一個累加器核和一個單口塊ROM 核。
根據(jù)DDS 控制原理在MATLAB 環(huán)境中建立如下的模型(圖1):其中在存儲正弦數(shù)據(jù)的RO中設(shè)定Depth 為:4096,Initial Value Vector 為:2047*sin(pi*(0:4095)/2048)+2047, 即讓System Generator 在編譯過程中自動產(chǎn)生一個存儲4096 個正弦數(shù)據(jù)的ROM。為了配合 使用開發(fā)板上的D/A 模塊,ROM 中的每個值設(shè)置成12 位無符號數(shù)。Accumulator 模塊用來進(jìn) 行相位的累加,AddSub 模塊將相位偏移量與相位累加值相加,作為ROM2 的地址輸入。在仿 真前,設(shè)置相位控制字為PWord=512,由公式算出移相后的波形應(yīng)該較基準(zhǔn)正弦波偏移;設(shè)置頻率控制字FWord=4,將仿真時間設(shè)置為2048,這樣 從理論上我們應(yīng)該可以看到兩個周期的完整波形輸出。運(yùn)行仿真,可以在Scope 中觀察到如圖2.1 中波形。改變控制字的值,就可以得到不同頻率、不同相位的波形(圖2.2)。
2.2 在ISE 中實現(xiàn)并仿真
點(diǎn)擊System Generator 圖標(biāo)中的generate 按鈕,生成可綜合的VHDL 代碼,并在ISE 中打開。先對代碼使用Synthesize-XST 進(jìn)行綜合,通過之后可以觀察到系統(tǒng)RTL 級視圖。 然后創(chuàng)建一個.tbw 文件對綜合后的設(shè)計進(jìn)行仿真,能夠得到和MATLAB 環(huán)境下一樣的仿真結(jié) 果(按照正弦規(guī)律變化的離散數(shù)值序列)。為了能夠在實驗板上實現(xiàn)設(shè)計,在ISE 環(huán)境中建立 頂層文件,將System Generator 產(chǎn)生的文件與PicoBlaze 的控制程序文件結(jié)合,再進(jìn)行對 應(yīng)的功能仿真,正確后加載約束文件,生成比特流文件。
隔離器相關(guān)文章:隔離器原理
評論