開發板配套視頻fpga入門學習第六天xilinx_第1頁
開發板配套視頻fpga入門學習第六天xilinx_第2頁
開發板配套視頻fpga入門學習第六天xilinx_第3頁
開發板配套視頻fpga入門學習第六天xilinx_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、FPGA 入門學習第六天(DDS 信號發生器)一. 實驗目的利用 FPGA 實現信號發生器的功能,產生一定頻率的正弦波信號掌握 DDS 原理學習生成 ROM IPCORE學習仿真 ROM IPCORE二. 實驗小精靈開發板XSpirit_V1(DA 模塊與開發板的 J4 口相接)黑金 DA 模塊(AN108)3. ISE14.6(綜合編譯)10.1a(仿真)4.5. 波形數據生成三. 原理分析首先利用波形數據生成生成正弦波的波形數據,FPGA 可以將波形數據保存在ROM 中,然后按一定的速率從 ROM 中讀出來,送入 DA 接口,通過 DA 模塊的數模轉換,便可以將數字信號轉換成模擬信號。然后

2、通過示波器便可觀察到正弦波。波形數據的寬度和DA 模塊的數據位寬有關系,位寬越寬,那么波形越平滑,但是需要的空間也相應的加大,選用的 DA 模塊位寬是 8 位,所以波形數據也應該選 8 位位寬。波形數據的深度我們用 512。假如要生成 1Khz 的正弦波,將從 ROM 中讀出的數據送入 DA 模塊,ROM 的時鐘頻率應該是 512*1Khz,如此,便可以在示波器上看到 1Khz 的正弦波信號。在新建的例程中,讀 ROM 的時鐘是 50M,ROM 深度是 512,那么最終生成的正弦波信號頻率是多少呢?(50000Khz/512=97.7Khz,與示波器顯示一致)四. 源碼展示timescale

3、1ns / 1ps module dds(inputoutput output 7:0);clkdaclk ta,/fpga clock,ta/reg 8:0 rom_addr=0;wire7:0 rom_data;assignta=rom_data;/utput the data from ROMassign daclk=clk;/utput sin waveformalways (negedge clk)beginrom_addr = rom_addr + 1b1 ;endrom Urom (.clock (clk.address),/ inp(rom_addrlka),/ input 8

4、 : 0 addra.q(rom_data) / output 7 : 0 douta);endmodule五. 仿真波形六. 實驗現象七. 疑問可能會有很多小伙伴會問,為什么我直接仿真這個工程沒有波形出來呢?如果源碼是用我提供的,仿真測試激勵文件也是我提供的,那么理論上是完全可以仿真出波形的,但是就是沒有,問題就出在 ROM 這個 IPCORE 上。如果要用仿真帶 IPCORE 的工程,那么首先需要將庫文件,這是用使用的器件編譯一次,生成一個可以識別的仿真帶 IPCORE 工程的第一步。如果用 Quartusii 來仿真 IPCORE,則不用再編譯(但是QuartusII 9.0 之后的版本不再帶有仿真功能,都是用的第仿真),同樣如果用的是 Xilinx 的,那么用 ISE 或 Vivado 仿真帶 IPCORE 的工程不需要再編譯器件庫。針對 ROM IPCORE 的仿真步驟我會專門寫一篇博客詳細介紹,大家可以帶著這個疑問來看下一篇博客,相信肯定會有所

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論