第7講EDA技術(shù)原理與應(yīng)用.ppt_第1頁
第7講EDA技術(shù)原理與應(yīng)用.ppt_第2頁
第7講EDA技術(shù)原理與應(yīng)用.ppt_第3頁
第7講EDA技術(shù)原理與應(yīng)用.ppt_第4頁
第7講EDA技術(shù)原理與應(yīng)用.ppt_第5頁
已閱讀5頁,還剩65頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1,主講:聶明新 教授,第7講 EDA高級設(shè)計技術(shù),2,主要內(nèi)容,7.1 宏功能模塊概述 7.2 宏模塊應(yīng)用實例 7.3 在系統(tǒng)存儲器數(shù)據(jù)讀寫編輯器應(yīng)用 7.4 編輯SignalTapII的觸發(fā)信號 7.5 其它存儲器模塊的定制與應(yīng)用 7.6 流水線乘法累加器的混合輸入設(shè)計 7.7 LPM嵌入式鎖相環(huán)調(diào)用 7.8 IP核NCO數(shù)控振蕩器使用方法 7.9 8051單片機IP核應(yīng)用,3,7.1 宏功能模塊概述,4,7.1 宏功能模塊概述,7.1.1 知識產(chǎn)權(quán)核的應(yīng)用,AMPP程序,MegaCore函數(shù),OpenCore評估功能,OpenCore Plus硬件評估功能,5,7.1 宏功能模塊概述,7

2、.1.2 使用MegaWizard Plug-In Manager,.bsf : Block Editor中使用的宏功能模塊的符號(元件)。 .cmp : 組件申明文件。 .inc : 宏功能模塊包裝文件中模塊的AHDL包含文件。 .tdf : 要在AHDL設(shè)計中實例化的宏功能模塊包裝文件。 .vhd : 要在VHDL設(shè)計中實例化的宏功能模塊包裝文件。 .v : 要在VerilogHDL設(shè)計中實例化的宏功能模塊包裝文件。 _bb.v :VerilogHDL設(shè)計所用宏功能模塊包裝文件中模塊的空體或 black-box申明,用于在使用EDA 綜合工具時指定端口方向。 _inst.tdf : 宏功能

3、模塊包裝文件中子設(shè)計的AHDL例化示例。 _inst.vhd : 宏功能模塊包裝文件中實體的VHDL例化示例。 _inst.v : 宏功能模塊包裝文件中模塊的VerilogHDL例化示例。,6,7.1 宏功能模塊概述,7.1.3 在QuartusII中對宏功能模塊進行例化,1、在VerilogHDL和VHDL中例化,2、使用端口和參數(shù)定義,3、使用端口和參數(shù)定義生成宏功能模塊,計數(shù)器 乘-累加器和乘-加法器 加法/減法器 RAM 乘法器 移位寄存器,7,7.2 宏模塊應(yīng)用實例,7.2.1 工作原理,f = f0 /64,圖7-1 正弦信號發(fā)生器結(jié)構(gòu)框圖,8,7.2 宏模塊應(yīng)用實例,7.2.2

4、定制初始化數(shù)據(jù)文件,1建立.mif格式文件,【例7-1】 WIDTH = 8; DEPTH = 64; ADDRESS_RADIX = HEX; DATA_RADIX = HEX; CONTENT BEGIN 0 : FF; 1 : FE; 2 : FC; 3 : F9; 4 : F5; (數(shù)據(jù)略去) 3D : FC; 3E : FE; 3F : FF; END;,9,7.2 宏模塊應(yīng)用實例,7.2.2 定制初始化數(shù)據(jù)文件,1建立.mif格式文件,【例7-2】 #include #include math.h main() int i;float s; for(i=0;i1024;i+) s

5、= sin(atan(1)*8*i/1024); printf(%d : %d;n,i,(int)(s+1)*1023/2); ,10,7.2 宏模塊應(yīng)用實例,7.2.2 定制初始化數(shù)據(jù)文件,2建立.hex格式文件,圖7-2 將波形數(shù)據(jù)填入mif文件表中,11,2建立.hex格式文件,圖7-3 ASM格式建hex文件,12,7.2 宏模塊應(yīng)用實例,7.2.2 定制初始化數(shù)據(jù)文件,2建立.hex格式文件,圖7-4 sdata.hex文件的放置路徑,13,7.2 宏模塊應(yīng)用實例,7.2.3 定制LPM_ROM元件,圖7-5 定制新的宏功能塊,選擇菜單 Tools-Mega Wizard Plug-

6、In Manager: 彈出對話框,14,7.2 宏模塊應(yīng)用實例,7.2.3 定制LPM_ROM元件,圖7-6 LPM宏功能塊設(shè)定,選擇Memory Compiler項下ROM:1-PORT; 選擇Cyclone II和VHDL方式; 輸入設(shè)計文件存放的路徑和文件名。,15,圖7-7 選擇數(shù)據(jù)線寬度和數(shù)據(jù)個數(shù),16,圖7-8 詢問是否創(chuàng)建使能、清零,17,圖7-9 指定ROM初始化數(shù)據(jù)文件并選擇在系統(tǒng)讀寫功能,18,圖7-10 仿真庫設(shè)置,19,圖7-10 LPM_ROM設(shè)計完成,20,【例7-3】 完成后生成的ROM元件文件 sina_ROM.vhd LIBRARY ieee; USE ie

7、ee.std_logic_1164.all; LIBRARY altera_mf; USE altera_mf.all; -使用宏功能庫中的所有元件 ENTITY sina_ROM IS PORT ( address: IN STD_LOGIC_VECTOR (5 DOWNTO 0); clock: IN STD_LOGIC ; q: OUT STD_LOGIC_VECTOR (7 DOWNTO 0); END sina_ROM; ARCHITECTURE SYN OF sina_rom IS SIGNAL sub_wire0: STD_LOGIC_VECTOR (7 DOWNTO 0);,接

8、下頁,21,【例7-3】 COMPONENT altsyncram -例化altsyncram元件,調(diào)用了LPM模塊altsyncram GENERIC (-參數(shù)傳遞語句 clock_enable_input_a: STRING; -類屬參量數(shù)據(jù)類型定義 clock_enable_output_a: STRING; init_file: STRING; intended_device_family: STRING; lpm_hint: STRING; lpm_type: STRING; numwords_a: NATURAL; operation_mode: STRING; outdata_a

9、clr_a: STRING; outdata_reg_a: STRING; widthad_a: NATURAL; width_a: NATURAL; width_byteena_a: NATURAL ); PORT ( clock0 : IN STD_LOGIC ; -altsyncram元件接口聲明 address_a: IN STD_LOGIC_VECTOR (5 DOWNTO 0); q_a: OUT STD_LOGIC_VECTOR (7 DOWNTO 0); END COMPONENT;,接下頁,22,【例7-3】 BEGIN q BYPASS, clock_enable_outp

10、ut_a = BYPASS, init_file = romd.mif, -ROM初始化數(shù)據(jù)文件,此處已修改 intended_device_family = Cyclone II, lpm_hint = ENABLE_RUNTIME_MOD=NO, lpm_type = altsyncram, -LPM類型 numwords_a = 64, -數(shù)據(jù)數(shù)量64 operation_mode = ROM, -LPM模式ROM outdata_aclr_a = NONE, -無輸出鎖存異步清0 outdata_reg_a = UNREGISTERED, -輸出無鎖存 widthad_a = 6, -

11、地址線寬度6 width_a = 8, -數(shù)據(jù)線寬度8 width_byteena_a = 1 ) - byteena_a輸入口寬度1 PORT MAP (clock0 = clock, address_a = address, q_a = sub_wire0); END SYN;,23,7.2.4 完成頂層設(shè)計,【例7-4】 正弦信號發(fā)生器頂層設(shè)計 LIBRARY IEEE; -正弦信號發(fā)生器源文件 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY SINGT IS PORT ( CLK : IN STD

12、_LOGIC; -信號源時鐘 DOUT : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) );-8位波形數(shù)據(jù)輸出 END; ARCHITECTURE DACC OF SINGT IS COMPONENT sina_ROM IS -調(diào)用波形數(shù)據(jù)存儲器LPM_ROM文件:sina_rom.vhd聲明 PORT ( address: IN STD_LOGIC_VECTOR (5 DOWNTO 0); -6位地址信號 clock: IN STD_LOGIC ; -地址鎖存時鐘 q: OUT STD_LOGIC_VECTOR (7 DOWNTO 0); END COMPONENT;

13、 SIGNAL Q1 : STD_LOGIC_VECTOR (5 DOWNTO 0); -設(shè)定內(nèi)部節(jié)點作為地址計數(shù)器 BEGIN PROCESS(CLK ) -LPM_ROM地址發(fā)生器進程 BEGIN IF CLKEVENT AND CLK = 1 THEN Q1Q1, q = DOUT, clock=CLK);-例化 END;,24,7.2 宏模塊應(yīng)用實例,7.2.4 完成頂層設(shè)計,圖7-11 仿真波形輸出,25,7.2 宏模塊應(yīng)用實例,7.2.4 完成頂層設(shè)計,圖7-12 嵌入式邏輯分析儀獲得的波形,26,7.3 在系統(tǒng)存儲器數(shù)據(jù)讀寫編輯器應(yīng)用,圖7-13 In-System Memory

14、 Content Editor編輯窗,27,7.3 在系統(tǒng)存儲器數(shù)據(jù)讀寫編輯器應(yīng)用,圖7-14 與實驗系統(tǒng)上的FPGA通信正常情況下的編輯窗界面,28,7.3 在系統(tǒng)存儲器數(shù)據(jù)讀寫編輯器應(yīng)用,圖7-15 從FPGA中的ROM讀取波形數(shù)據(jù),29,7.3 在系統(tǒng)存儲器數(shù)據(jù)讀寫編輯器應(yīng)用,圖7-16 編輯波形數(shù)據(jù),30,7.3 在系統(tǒng)存儲器數(shù)據(jù)讀寫編輯器應(yīng)用,圖7-16 下載編輯數(shù)據(jù)后的SignalTapII采樣波形,31,7.4 編輯SignalTapII的觸發(fā)信號,圖7-17 選擇高級觸發(fā)條件,32,圖7-18 進入“觸發(fā)條件函數(shù)編輯”窗口,33,7.4 編輯SignalTapII的觸發(fā)信號,圖

15、7-19 編輯觸發(fā)函數(shù),34,7.5 其它存儲器模塊的定制與應(yīng)用,圖7-20 編輯定制RAM,7.5.1 RAM定制,35,7.5 其它存儲器模塊的定制與應(yīng)用,圖7-21 LPM_RAM的仿真波形,7.5.1 RAM定制,36,7.5 其它存儲器模塊的定制與應(yīng)用,圖7-22 FIFO編輯窗,7.5.2 FIFO定制,37,7.5 其它存儲器模塊的定制與應(yīng)用,圖7-23 FIFO的仿真波形,7.5.2 FIFO定制,38,7.6 流水線乘法累加器的混合輸入設(shè)計,(1)用VHDL設(shè)計16位加法器。,【例7-5】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;

16、USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ADDER16B IS PORT ( CIN : IN STD_LOGIC; A,B : IN STD_LOGIC_VECTOR(15 DOWNTO 0); S : OUT STD_LOGIC_VECTOR(15 DOWNTO 0); COUT : OUT STD_LOGIC ); END ADDER16B; ARCHITECTURE behav OF ADDER16B IS SIGNAL SINT : STD_LOGIC_VECTOR(16 DOWNTO 0); SIGNAL AA,BB : STD_LOGIC_

17、VECTOR(16 DOWNTO 0); BEGIN AA=0,39,7.6流水線乘法累加器的混合輸入設(shè)計,圖7-24 在原理圖編輯窗加入LPM元件,(2)頂層原理圖文件設(shè)計。,40,7.6流水線乘法累加器的混合輸入設(shè)計,圖7-25 將LPM乘法器設(shè)置為流水線工作方式,(2)頂層原理圖文件設(shè)計。,41,7.6流水線乘法累加器的混合輸入設(shè)計,圖7-26 乘法累加器電路,(2)頂層原理圖文件設(shè)計。,42,7.6流水線乘法累加器的混合輸入設(shè)計,圖7-27 muladd工程仿真波形,(3)仿真。,43,7.6流水線乘法累加器的混合輸入設(shè)計,圖7-28 對乘法器選擇不同設(shè)置后的編譯報告,(4)圖7-28

18、是對于圖7-25在進行不同項目的選擇后,編譯報告給出的不同資源利用情況。,44,7.7 LPM嵌入式鎖相環(huán)調(diào)用,圖7-29 選擇參考時鐘為20MHz,7.7.1 建立嵌入式鎖相環(huán)元件 : I/O項選ALTPLL =,45,7.7 LPM嵌入式鎖相環(huán)調(diào)用,圖7-30 選擇控制信號,7.7.1 建立嵌入式鎖相環(huán)元件,46,7.7 LPM嵌入式鎖相環(huán)調(diào)用,圖7-31 選擇e0的輸出頻率為210MHz,7.7.1 建立嵌入式鎖相環(huán)元件,47,7.7 LPM嵌入式鎖相環(huán)調(diào)用,圖7-32 PLL元件的仿真波形,7.7.2 測試鎖相環(huán),48,7.7.2 測試鎖相環(huán),單頻率輸出的應(yīng)用PLL的示例: ; ENT

19、ITY DDS_VHDL IS PORT ( CLKK : IN STD_LOGIC; -此時鐘進入鎖相環(huán) FWORD : IN STD_LOGIC_VECTOR(7 DOWNTO 0); ; ARCHITECTURE one OF DDS_VHDL IS COMPONENT PLLU -調(diào)入PLL聲明 PORT (inclk0 : IN STD_LOGIC := 0; c0 : OUT STD_LOGIC); END COMPONENT; COMPONENT REG32B ; BEGIN ; u6 : SIN_ROM PORT MAP( address=D32B(31 DOWNTO 22), q=POUT, inclock=CLK ); u7 : PLL20 PORT MAP( inclk0= CLKK,c0=CLK); -例化 END;,49,7.8 IP核NCO數(shù)控振蕩器使用方法,圖7-33 安裝NCO核,50,7.8 IP核NCO數(shù)控振蕩器使用方法,圖7-34 確定安裝路徑,51,7.8 IP核NCO數(shù)控振蕩器使用方法,圖7-35 開始Core的工程路徑,52,7.8 IP核NCO數(shù)控振蕩器使用方法,圖7-36 確定工程路徑和工程名,53,7.8 IP核NCO數(shù)控振蕩器使用方法,圖7-37 打開Core用戶庫設(shè)置窗,54,7.8 IP核NCO數(shù)控振蕩器使用方法

溫馨提示

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

評論

0/150

提交評論