




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第 2 節(jié) HDL 代碼輸入HDL 代碼4.2.1 新建工程首先打開 ISE,每次啟動(dòng)時(shí) ISE 都會(huì)默認(rèn)恢復(fù)到最近使用過的工程界面。當(dāng)?shù)谝淮问褂脮r(shí),由于此時(shí)還沒有過去的工程 ,所以工程管理區(qū)顯示空白。選擇FileNew Project選項(xiàng),在彈出的新建工程 框中的工程名稱中輸入“one2two”。在工程路徑中單擊Browse 按鍵,當(dāng)工程放到指定目錄,如圖 4-7 所示。圖 4-7 利用 ISE 新建工程的示意圖然后點(diǎn)擊“Next”進(jìn)入下一頁,選擇所使用的類型以及綜合、仿真工具。計(jì)算機(jī)上所安裝的所有用于仿真和綜合的第EDA 工具都可以在下拉菜單中找到,如圖 4-8 所示。在圖中,選用了 Vi
2、rtex4-10,并且指定綜合工具為 Synplify(Verilog),仿真工具選為 MSin-SE mixed。圖 4-8 新建工程器件屬性配置表再點(diǎn)擊“Next”進(jìn)入下一頁,可以選擇新建源代碼文件,也可以直接跳過,進(jìn)入下一頁。第頁用于添加已有的代碼,如果沒有源代碼,點(diǎn)擊“Next”,進(jìn)入最后一頁,單擊確認(rèn)后,就可以建立一個(gè)完整的工程。4.2.2 代碼輸入在工程管理區(qū)任意位置單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“New Source”命令,會(huì)彈出如圖 4-9 所示的 New Source框。圖 4-9 新建源代碼框左側(cè)的列表用于選擇代碼的類型,各項(xiàng)的意義如下所示:BMM File:ChipSc
3、ope Definition and Connection File:邏輯分析儀 ChipScope 文件類型,具有獨(dú)特的優(yōu)勢(shì)和強(qiáng)大的功能,將在 M 張進(jìn)行。IP(Coregen & Architecture Wizard):由 ISE 的 IP Core 生成工具快速生成可靠的源代碼,這是目前最流行、最快速的一種設(shè)計(jì)方法,將在 4.5 節(jié)詳細(xì)MEM File:。Implemenion Constras File:約束文件類型。Se Disgram:狀態(tài)圖類型。Test Bench Wavaform:測(cè)試波形類型。User:用戶文檔類型。Verilog Module:Verilog 模塊類型。
4、Verilog Test Fixture:Verilog 測(cè)試模塊類型。VHDL Module:VHDL 模塊類型。 VHDL Library:VHDL 庫類型。 VHDL Packet:VHDL 包類型。VHDL Test Bench:VHDL 測(cè)試模塊類型。在代碼類型中選擇 Verilog Module 選項(xiàng),在 File Name 文本框中輸入 one2two,單擊Next 進(jìn)入端口定義框,如圖 4-10 所示。圖 4-10 Verilog 模塊端口定義框其中 Module Name 就是輸入的“one2two”,下面的列表框用于對(duì)端口的定義。“PortName”表示端口名稱,“Dire
5、ction”表示端口方向(可以選擇為 input、output 或 inout),MSB 表示信號(hào)的最寫。,LSB 表示信號(hào)的最低位,對(duì)于信號(hào)的 MSB 和 LSB 不用填定義了模塊端口后,單擊“Next”進(jìn)入下一步,點(diǎn)擊“Finish”按鍵完成創(chuàng)建。這樣,ISE會(huì)自動(dòng)創(chuàng)建一個(gè) Verilog 模塊的例子,并且在源代碼編輯區(qū)內(nèi)打開。簡單的注釋、模塊和端口定義已經(jīng)自動(dòng)生成,所剩余的工作就是在模塊中實(shí)現(xiàn)代碼。填入的代碼如下:module one2two(x_in, flag, y1_out, y2_out); input 7:0 x_in;input flag;output 7:0 y1_out;
6、output 7:0 y2_out;/ 以下為手工添加的代碼assign y1_out = flag ? x_in : 8b0000_0000; assign y2_out = flag ? 8b0000_0000 : x_in;endmodule4.2.3 代碼模板的使用ISE 中內(nèi)嵌的語言模塊包括了大量的開發(fā)實(shí)例和所有 FPGA 語法的介紹和舉例,包括Verilog HDL/HDL 的常用模塊、FPGA 原語使用實(shí)例、約束文件的語則以及各類指令和符號(hào)的說明。語言模板不僅可在設(shè)計(jì)中直接使用,還是 FPGA 開發(fā)最好的工具手冊(cè)。在 ISE中點(diǎn)擊圖標(biāo),或選擇菜單“Edit | Language
7、Templates”,都可以打開語言模板,其界面如圖 4-11 所示。圖 4-11 ISE 語言模版用戶界面界面左邊有 4 項(xiàng):ABEL、UCF 、Verilog 以及 VHDL,分別對(duì)應(yīng)著各自的參考資料。其中 ABEL 語言主要用于 GAL 和 ISP 等器件的編程,不用于 FPGA 開發(fā)。以 Verilog 為例,點(diǎn)擊其前面的“+”號(hào),會(huì)出現(xiàn) Common Constructs、Device Primitive Instantiation、Simulation Constructs、Synthesis Constructs 以及 User Templates 5 個(gè)子項(xiàng)。其中第 1 項(xiàng)主要
8、介紹 Verilog 開發(fā)中所用的各種符號(hào)的說明,包括注釋符以及運(yùn)算符等。第 2 項(xiàng)主要介紹 Xilinx 原語的使用,可以最大限度地利用 FPGA 的硬件資源。第 3 項(xiàng)給出了程序仿真的所有指令和語句的說明和示例。第 4 項(xiàng)給出了實(shí)際開發(fā)中可綜合的 Verilog 語句,并給出了大量可靠、實(shí)用的應(yīng)用實(shí)例, FPGA 開發(fā)應(yīng)熟練掌握該部分內(nèi)容。User Templates 項(xiàng)是設(shè)計(jì)代碼風(fēng)格。自己添加的,常用于在實(shí)際開發(fā)中下面以調(diào)用全局時(shí)鐘緩沖器模版為例,給出語言模板的使用方法。在語言模板中,選擇“Device Primitive Instantiation FPGA Clock Compone
9、nts Clock Buffers Global ClockBuffer(BUFG)”,即可看到調(diào)用全局時(shí)鐘緩沖的示例代碼,如圖 4-12 所示。圖 4-12 全局時(shí)鐘緩沖器的語言模板4.2.3 Xilinx IP Core 的使用1. Xilinx IP core 基本操作IP Core 就是預(yù)先設(shè)計(jì)好、經(jīng)過嚴(yán)格測(cè)試和優(yōu)化過的電路功能模塊,如乘法器、FIR 濾波器、PCI 接口等,并且一般采用參數(shù)可配置的結(jié)構(gòu),方便用戶根據(jù)實(shí)際情況來調(diào)用這些模塊。隨著 FPGA 規(guī)模的增加,使用 IP core 完成設(shè)計(jì)成為發(fā)展趨勢(shì)。IP Core大量成(Core Generator)是 Xilinx FPG
10、A 設(shè)計(jì)中的一個(gè)重要設(shè)計(jì)工具,提供了、高效的 IP Core 為用戶所用,涵蓋了汽車工業(yè)、基本單元、通信和網(wǎng)絡(luò)、數(shù)字信號(hào)處理、FPGA 特點(diǎn)和設(shè)計(jì)、數(shù)學(xué)函數(shù)、和單元、標(biāo)準(zhǔn)總線接口等 8 大類,從簡單的基本設(shè)計(jì)模塊到復(fù)雜的處理器一應(yīng)俱全。配合 Xilinx的 IP 中心使用,能夠大幅度減輕設(shè)計(jì)的工作量,提高設(shè)計(jì)可靠性。Core Generator 最重要的配置文件的后綴是.xco,既可以是輸出文件又可以是輸入文件,包含了當(dāng)前工程的屬性和 IP Core 的參數(shù)信息。啟動(dòng) Core Generato 有兩種方法,一種是在 ISE 中新建 IP 類型的源文件,另一種是雙擊運(yùn)行開始 程序 Xilinx
11、 ISE 9.1i Ac節(jié)只以調(diào)用加法器 IP Core 為例來介紹第sories Core Generator。限于篇幅,本法。在工程管理區(qū)單擊鼠標(biāo)右鍵,在彈出的菜單中選擇 New Source,選中 IP 類型,在 File Name 文本框中輸入 adder(注意:該名字不能出現(xiàn)英文的大寫字母),然后點(diǎn)擊 Next按鍵,進(jìn)入 IP Core 目錄分類頁面,如圖 4-13 所示。圖 4-13 IP Core 目錄分類頁面下面以加法器模塊為例介紹詳細(xì)操作。首先選中“Math Funcation Adder & Subtracter Adder Subtracter v7.0”,點(diǎn)擊“Next
12、”進(jìn)入下一頁,選擇“Finish”完成配置。這時(shí)在信息顯示區(qū)會(huì)出現(xiàn)“Customizing IP.”的提示信息,并彈出一個(gè)“Adder Subtracter”配置框,如圖 4-14 所示。圖 4-14 加法器 IP Core 配置框然后,選中 adder,設(shè)置位寬為 16,然后點(diǎn)擊“Generate”,信息顯示區(qū)顯示 GeneratingIP.,直到出現(xiàn) Sucsfully generated adder 的提示信息。此時(shí)在工程管理區(qū)出現(xiàn)一個(gè)“adder.xco”的文件。這樣加法器的 IP Core 已經(jīng)生成并成功調(diào)用。IP Core 在綜合時(shí)被認(rèn)為是黑盒子,綜合器不對(duì) IP Core 做任何
13、編譯。IP Core 的仿要是運(yùn)用 Core Generator 的仿真模型來完成的,會(huì)自動(dòng)生成擴(kuò)展名為.v 的源代碼文件。設(shè)計(jì)只需要從該源文件中查看其端口,將其作為一個(gè)普通的子程序進(jìn)行調(diào)用即可。下面給出加法器的應(yīng)用實(shí)例。例 4-1 調(diào)用加法器的 IP core,并用其實(shí)現(xiàn)圖 4-15 所示的 2 級(jí)加法樹。圖 4-15 2 級(jí)加法器示意圖按照本節(jié)介紹的步驟生成 2 個(gè)加法器的 IP core Add16 和 Add17,前者用于實(shí)現(xiàn)第 1級(jí)的加法,后者用于實(shí)現(xiàn)第 2 級(jí)加法,對(duì)應(yīng)的代碼為:module addertree(clk, a1, a2, b1, b2, c);inplk;input
14、 15:0 a1;input 15:0 a2;input 15:0 b1;input 15:0 b2;output 17:0 c;wire 16:0 ab1, ab2;adder16 adder16_1(.A(a1),.B(a2),.Q(ab1),.CLK(clk);adder16 adder16_2(.A(b1),.B(b2),.Q(ab2),.CLK(clk);adder17 adder17(.A(ab1),.B(ab2),.Q(c),.CLK(clk);endmodule上述程序經(jīng)過綜合后,得到如圖 4-16 所示的 RTL 級(jí)結(jié)構(gòu)圖。圖 4-16 2 級(jí)加法樹的 RTL 結(jié)構(gòu)圖6.2b
15、 仿真測(cè)試,得到的功能波形圖如圖 4-17 所示。由于每一級(jí)加法器經(jīng)過會(huì)引入一個(gè)時(shí)鐘周期的延遲,因此,兩級(jí)加法器就會(huì)引入 2 個(gè)時(shí)鐘的周期,可以看出,仿真結(jié)果和設(shè)計(jì)分析的結(jié)果是一樣的。圖 4-17 2 級(jí)加法樹仿真結(jié)果示意圖Xilinx 公司提供了大量的、豐富的 IP Core 資源,究其本質(zhì)可以分為兩類:一是面向應(yīng)用的,和 無關(guān);還有一種用于調(diào)用 FPGA 底層的宏單元,和 型號(hào)密切相關(guān)。下面分別對(duì)這兩類給出數(shù)字頻率 器模塊 DDS 的調(diào)用實(shí)例。2. DDS 模塊IP Core 的調(diào)用實(shí)例DDS 算法原理DDS 技術(shù)是一種新的頻率,最早由 JOSEPH方法,是頻率技術(shù)的一次TIERNEY 等
16、 3 人于 1971 年提出,但由于受當(dāng)時(shí)微電子技術(shù)和數(shù)字信號(hào)處理技術(shù)的限制,DDS 技術(shù)沒有受到足夠重視,隨著數(shù)字集成電路和微電子技術(shù)的發(fā)展,DDS 技術(shù)日益它的優(yōu)越性。DDS 的工作原理為:在參考時(shí)鐘的驅(qū)動(dòng)下,相位累加器對(duì)頻率控制字進(jìn)行線性累加,得到的相位碼對(duì)波形器尋址,使之輸出相應(yīng)的幅度碼,經(jīng)過模數(shù)轉(zhuǎn)換器得到相應(yīng)的階梯波,最后再使用低通濾波器對(duì)其進(jìn)行平滑,得到所需頻率的平滑連續(xù)的波形,其結(jié)構(gòu)如圖 4-18 所示。圖 4-18 DDS 的結(jié)構(gòu)框圖相位累加器由 N 位加法器與 N 位累加寄存器級(jí)聯(lián),結(jié)構(gòu)如圖 4-19 所示。每來一個(gè)時(shí)鐘脈沖 fclk,加法器將頻率控制字 K 與累加寄存器輸出
17、的累加相位數(shù)據(jù)相加,把相加后的結(jié)果送至累加寄存器的數(shù)據(jù)輸入端。累加寄存器將加法器在上一個(gè)時(shí)鐘脈沖作用后所產(chǎn)生的新相位數(shù)據(jù)反饋到加法器的輸入端,以使加法器在下一個(gè)時(shí)鐘脈沖的作用下繼續(xù)與頻率控制字相加。這樣,相位累加器在時(shí)鐘作用下,不斷對(duì)頻率控制字進(jìn)行線性相位累加。由此可以看出,相位累加器在每一個(gè)時(shí)鐘脈沖輸入時(shí),把頻率控制字累加一次,相位累加器輸出的數(shù)據(jù)就是信號(hào)的相位,相位累加器的溢出頻率就是DDS 輸出的信號(hào)頻率。用相位累加器輸出的數(shù)據(jù)作為波形器(ROM)的相位取樣地址,這樣就可把在波形器內(nèi)的波形抽樣值(二進(jìn)制編碼)經(jīng)查找表查出,完成相位到幅值轉(zhuǎn)換。圖 4-19 DDS 相位累加器波形器所的幅度
18、值與余弦信號(hào)有關(guān)。余弦信號(hào)波形在一個(gè)周期內(nèi)相位幅度的變化關(guān)系可以用圖 4-20 中的相位圓表示,每一個(gè)點(diǎn)對(duì)應(yīng)一個(gè)特定的幅度值。一個(gè) N 位的相位累加器對(duì)應(yīng)著圓上 個(gè)相位點(diǎn),其相位分辨率為 。若 ,則共有 16 種相位值與16 種幅度值相對(duì)應(yīng),并將相應(yīng)的幅度值于波形器中,器的字節(jié)數(shù)決定了相位量化誤差。在實(shí)際的 DDS 中,可利用正弦波的對(duì)稱性,可以將 范圍內(nèi)的幅、相點(diǎn)減小到 內(nèi)以降低所需的量,量化的比特?cái)?shù)決定了幅度量化誤差。圖 4-20 三角函數(shù)相位與幅度的對(duì)應(yīng)關(guān)系波形器的輸出送到 D/A 轉(zhuǎn)換器,D/A 轉(zhuǎn)換器將數(shù)字量形式的波形幅值轉(zhuǎn)換成所要求頻率的模擬量形式信號(hào)。低通濾波器用于濾除不需要的取
19、樣分量,以便輸出頻譜純凈的正弦波信號(hào)。DDS 在相對(duì)帶寬、頻率轉(zhuǎn)換時(shí)間、高分辨力、相位連續(xù)性、正交輸出以及集成化等一系列性能指標(biāo)方面遠(yuǎn)遠(yuǎn)超過了傳統(tǒng)頻率平,為系統(tǒng)提供的信號(hào)源優(yōu)于模擬信號(hào)源。技術(shù)所能達(dá)到的水DDS 模塊的輸出頻率 是系統(tǒng)工作頻率 、相位累加器比特?cái)?shù) N 以及頻率控制字 K 三者的一個(gè)函數(shù),其數(shù)學(xué)關(guān)系由式(4.1)給出。(4.1)它的頻率分辨率,即頻率的變化間隔為;(4.2)DDS IP Core 的調(diào)用DDS 模塊 IP Core 的用戶界面如圖 4-21 所示。該 IP Core 支持余弦、正弦以及正交函數(shù)的輸出,旁瓣抑制比的范圍從 18dB 到 115dB,最小頻率分辨率為
20、0.02Hz,可同時(shí)獨(dú)立支持 16 個(gè)通道。其中的查找表既可以利用分布式 RAM,也可利用塊 RAM。圖 4-21 DDS IP Core 的用戶界面DDS 模塊的信號(hào)端口說明如下:(1)CLK:輸入信號(hào),DDS 模塊的工作時(shí)鐘,對(duì) DDS 輸出信號(hào)的頻率和頻率分辨率有很大的影響。即式(5.40)中的 。(2)A:輸入信號(hào),由于 DDS 模塊的相位增量器和相位偏置寄存器共用一個(gè)數(shù)據(jù)通道,A 端口信號(hào)用選相位增量寄存器和偏置寄存器。當(dāng) A 端口的最為 1 時(shí),相位偏置寄存器被選中;當(dāng)其為 0 時(shí),則選中相位增量寄存器。其余的低 4 位比特用選 DDS 的輸出通道,最多可以輸出 16 路信號(hào)。WE
21、:輸入信號(hào),寫有效控制信號(hào),高有效。只有當(dāng) WE 為高時(shí),DATA 端口的數(shù)值才能被寫入相應(yīng)的寄存器中。DATA:輸入信號(hào),時(shí)分復(fù)用的數(shù)據(jù)總線,用于配置相位增量寄存器和相位偏置寄存器。ACLR:輸入信號(hào),異步的清空信號(hào),高有效。當(dāng) ACLR 等于 1 時(shí),DDS 模塊內(nèi)部所有的寄存器都被清空,RDY 信號(hào)也會(huì)被拉低。SCLR:輸入信號(hào),同步的清空信號(hào),高有效。當(dāng) SCLR 等于 1 時(shí),DDS 模塊內(nèi)部所有的寄存器都被清空,RDY 信號(hào)也會(huì)被拉低。RDY:輸出信號(hào),輸出握手信號(hào)。當(dāng)其為高時(shí),標(biāo)志輸出信號(hào)已經(jīng)準(zhǔn)備好。CHANNEL:輸出信號(hào),輸出通路的下標(biāo)。用于表明當(dāng)前時(shí)刻輸出端為哪一路輸出,其位寬由通道數(shù)決定。SINE:輸出信號(hào),用于輸出正弦的時(shí)間序列。COSINE:輸出信號(hào),用于輸出余弦的時(shí)間序列。例 4-2 使用DDS IP Core 實(shí)例化一個(gè) 4MHz
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年教育哲學(xué)期末試題及答案
- 關(guān)于小區(qū)維修合同范例
- 公司廠房轉(zhuǎn)讓股權(quán)合同范例
- 不銹鋼架合同范例
- 中標(biāo)平臺(tái)合同范例
- 鄉(xiāng)鎮(zhèn)勞動(dòng)合同范例
- 兼職物業(yè)合同范例
- 出租農(nóng)村樓房合同范例
- 農(nóng)村房屋院落出租合同范例
- 企業(yè)經(jīng)理層業(yè)績合同范例
- 2023年上海市中考語文備考之名著閱讀《駱駝祥子》練習(xí)題含答案
- 大數(shù)據(jù)在國家安全與防控中的作用
- 水電廠設(shè)備分析報(bào)告
- 電腦一體機(jī)技術(shù)方案
- GB/T 9364.8-2023小型熔斷器第8部分:帶有特殊過電流保護(hù)的熔斷電阻器
- 《健康體檢報(bào)告解讀》課件
- 小學(xué)三年級(jí)數(shù)學(xué)脫式計(jì)算200題(2023年整理)
- 宮頸錐切術(shù)護(hù)理
- 日間化療中心管理制度范文
- 職業(yè)流行病學(xué)課件
- 高中英語-怎樣寫英語倡議書
評(píng)論
0/150
提交評(píng)論