第6章 宏功能模塊與IP應用_第1頁
第6章 宏功能模塊與IP應用_第2頁
第6章 宏功能模塊與IP應用_第3頁
第6章 宏功能模塊與IP應用_第4頁
第6章 宏功能模塊與IP應用_第5頁
已閱讀5頁,還剩93頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1EDA 技術(shù)實用教程技術(shù)實用教程第第 6 6 章章 宏功能模塊與宏功能模塊與IPIP應用應用 LPM是Library of Parameterized Modules(參數(shù)可設(shè)置參數(shù)可設(shè)置模塊庫模塊庫)的縮寫,Altera提供的可參數(shù)化宏功能模塊和LPM函數(shù)均基于均基于Altera器件的結(jié)構(gòu)做了優(yōu)化設(shè)計器件的結(jié)構(gòu)做了優(yōu)化設(shè)計。在許多實際情況中,必須利用宏功能模塊才可以使用一些Ahera特定器件的硬件功能。例如各類片上存儲器、各類片上存儲器、DSP(Digital Signal Processing)模塊、模塊、LVDS(Low-Voltage Differential(差分差分) Signa

2、ling)驅(qū)動器、嵌入式驅(qū)動器、嵌入式PLL(phase-locked loop)以及以及SERDESSerializer(串行串行化化)/deserializer(并行化并行化)和和DDIO電路模塊等電路模塊等,這些可以以圖形或硬件描述語言模塊形式方便調(diào)用的宏功能塊圖形或硬件描述語言模塊形式方便調(diào)用的宏功能塊,使得基于EDA技術(shù)的電子設(shè)計的效率和可靠性有了很大設(shè)計的效率和可靠性有了很大的提高的提高。設(shè)計者可以根據(jù)實際電路的設(shè)計需要,選擇LPM庫中的適當模塊,并為其設(shè)定適當?shù)膮?shù),就能滿足自己的設(shè)計需要,從而在自己的項目中十分方便地調(diào)調(diào)用優(yōu)秀的電子工程技術(shù)人員的硬件設(shè)計成果用優(yōu)秀的電子工程技術(shù)

3、人員的硬件設(shè)計成果。26.1 宏功能模塊概述宏功能模塊概述 X康芯科技康芯科技算術(shù)組件算術(shù)組件 累加器、加法器、乘法器和累加器、加法器、乘法器和LPMLPM算術(shù)函數(shù)算術(shù)函數(shù) 門電路門電路 多路復用器和多路復用器和LPMLPM門函數(shù)門函數(shù) I/OI/O組件組件 時鐘數(shù)據(jù)恢復時鐘數(shù)據(jù)恢復(CDR)(CDR)、鎖相環(huán)、鎖相環(huán)(PLL)(PLL)、雙數(shù)據(jù)速率、雙數(shù)據(jù)速率(DDR)(DDR)、千兆位收發(fā)器塊、千兆位收發(fā)器塊(GXB)(GXB)、LVDSLVDS接收器和發(fā)送器、接收器和發(fā)送器、PLLPLL重新配置和遠程更新宏功能模塊重新配置和遠程更新宏功能模塊 存儲器編譯器存儲器編譯器 FIFO Part

4、itionerFIFO Partitioner、RAMRAM和和ROMROM宏功能模塊宏功能模塊 存儲組件存儲組件 存儲器、移位寄存器宏模塊和存儲器、移位寄存器宏模塊和LPMLPM存儲器函數(shù)存儲器函數(shù) Altera提供多種方法來獲取Altera Megafunction Partners(伴侶) Program(AMPP)和MegaCore宏功能模塊,這這些函數(shù)經(jīng)嚴格的測試和優(yōu)化些函數(shù)經(jīng)嚴格的測試和優(yōu)化,可以在Altera特定器件結(jié)構(gòu)中發(fā)揮出最佳性能。使用這些知識產(chǎn)權(quán)的參數(shù)化模塊減少設(shè)計和測試的時間。MegaCore和AMPP宏功能模塊包括應應用于通信、數(shù)字信號處理用于通信、數(shù)字信號處理(DS

5、P)、PCI和其他總線界面,和其他總線界面,以及存儲器控制器中的宏功能模塊以及存儲器控制器中的宏功能模塊。36.1 宏功能模塊概述宏功能模塊概述 X康芯科技康芯科技6.1.1 知識產(chǎn)權(quán)核的應用知識產(chǎn)權(quán)核的應用 AMPPAMPP程序程序 MegaCore函數(shù)函數(shù) OpenCoreOpenCore評估功能評估功能 OpenCore PlusOpenCore Plus硬件評估功能硬件評估功能 為了使用OpenCore和OpenCore Plus功能塊,可以在獲得使用許可和購買之前免費下載和評估免費下載和評估AMPP和和MegaCore函數(shù)函數(shù)。Altera提供以下程序、功能模塊和函數(shù),協(xié)助用戶在協(xié)助

6、用戶在Quartus II和和EDA設(shè)計輸入工具中使設(shè)計輸入工具中使用用IP函數(shù)函數(shù): OpenCore宏功能模塊是通過OpenCore評評估功能獲取的估功能獲取的MegaCore函數(shù)函數(shù)。Altera OpenCore功能允許在采購之前評估允許在采購之前評估AMPP和和MegaCore函數(shù)函數(shù)。也可以使用OpenCore功能編譯、仿真設(shè)計并驗證設(shè)計的功能和性能,但不支持下載文件的生成(只能仿真)不支持下載文件的生成(只能仿真)。 OpenCore Plus評估功能通過支持免費支持免費RTL仿仿真和硬件評估來增強真和硬件評估來增強OpenCore評估功能評估功能。RTL仿真支持用于在設(shè)計中仿真

7、在設(shè)計中仿真MegaCore函數(shù)的函數(shù)的RTL模模型型。硬件評估支持用于為包括Altera MegaCore函數(shù)的設(shè)計生成時限編程文件生成時限編程文件??梢栽跊Q定購買MegaCore函數(shù)的許可之前使用這些文件,進行板進行板級設(shè)計驗證級設(shè)計驗證。OpenCore Plus功能支持的MegaCore函數(shù)包括標準OpenCore版本和OpenCore Plus版本。OpenCore Plus許可用于生成時限編程文件許可用于生成時限編程文件,但不生成輸出網(wǎng)表文件(無法編程下載目標芯片)。 AMPP程序可以支持第三方供應商支持第三方供應商,以便建立Quartus II配用的宏功能模塊。AMPP合作伙伴提

8、供了合作伙伴提供了一系列為一系列為Altera器件實行優(yōu)化的現(xiàn)成宏功能模塊器件實行優(yōu)化的現(xiàn)成宏功能模塊。AMPP函數(shù)的評估期由各供應商決定。可以從Altera網(wǎng)站 MegaStore下載和評估AMPP函數(shù)。 MegaCore函數(shù)是用于復雜系統(tǒng)級函數(shù)的預驗證復雜系統(tǒng)級函數(shù)的預驗證HDL設(shè)計文件設(shè)計文件,并且可以使用MegaWizard Plug-In Manager進行完全參數(shù)化設(shè)置完全參數(shù)化設(shè)置。MegaCore函數(shù)由多個不同的設(shè)計文件組成,用于實施設(shè)計綜合后AHDL(Altera的HDL)包含文件和為使用為使用EDA仿真工仿真工具進行設(shè)計和調(diào)試而提供的具進行設(shè)計和調(diào)試而提供的VHDL或或Ve

9、rilogHDL功功能仿真模型能仿真模型。46.1 宏功能模塊概述宏功能模塊概述 X康芯科技康芯科技6.1.2 使用使用MegaWizard Plug-In Manager .bsf : Block Editor中使用的宏功能模塊的符號(元件)。中使用的宏功能模塊的符號(元件)。 .cmp : 組件申明文件。組件申明文件。 .inc : 宏功能模塊包裝文件中模塊的宏功能模塊包裝文件中模塊的AHDL包含文件。包含文件。 .tdf : 要在要在AHDL設(shè)計中實例化的宏功能模塊包裝文件。設(shè)計中實例化的宏功能模塊包裝文件。 .vhd : 要在要在VHDL設(shè)計中實例化的宏功能模塊包裝文件。設(shè)計中實例化的

10、宏功能模塊包裝文件。 .v : 要在要在VerilogHDL設(shè)計中實例化的宏功能模塊包裝文件。設(shè)計中實例化的宏功能模塊包裝文件。 _bb.v :VerilogHDL設(shè)計所用宏功能模塊包裝文件中模塊的空體或設(shè)計所用宏功能模塊包裝文件中模塊的空體或 black-box申明,用于在使用申明,用于在使用EDA 綜合工具時指定端口方向。綜合工具時指定端口方向。 _inst.tdf : 宏功能模塊包裝文件中子設(shè)計的宏功能模塊包裝文件中子設(shè)計的AHDL例化示例。例化示例。 _inst.vhd : 宏功能模塊包裝文件中實體的宏功能模塊包裝文件中實體的VHDL例化示例。例化示例。 _inst.v : 宏功能模塊

11、包裝文件中模塊的宏功能模塊包裝文件中模塊的VerilogHDL例化示例。例化示例。 MegaWizard Plug-In Manager(宏向?qū)Р寮芾砥骱晗驅(qū)Р寮芾砥鳎┛梢詭椭脩艚⒒蛐薷陌远x宏功能模塊變量的設(shè)計文建立或修改包含自定義宏功能模塊變量的設(shè)計文件件,然后可以在頂層設(shè)計文件中對這些文件進行例化在頂層設(shè)計文件中對這些文件進行例化。這些自定義宏功能模塊變量是基于Altera提供的宏功能模塊,包括LPM(參數(shù)模塊庫參數(shù)模塊庫)、MegaCore和AMPP(宏編程伴侶宏編程伴侶)函數(shù)。MegaWizard Plug-In Manager運行一個向?qū)?,幫助用戶輕松地為自定義宏功能模

12、塊變量指定選項輕松地為自定義宏功能模塊變量指定選項。該向?qū)в糜跒閰?shù)和可選端口設(shè)置數(shù)值。也可以從Tools菜單或從原理圖設(shè)計文件中打開MegaWizard Plug-In Manager,還可以將它作為獨立實用程序來運行。以下列出了MegaWizard Plug-In Manager為用戶生成的每個自定義宏功能模塊變量而生成的文件。56.1 宏功能模塊概述宏功能模塊概述 X康芯科技康芯科技6.1.3 在在QuartusIIQuartusII中對宏功能模塊進行中對宏功能模塊進行例化例化 1、在、在VerilogHDL和和VHDL中例化中例化 2、使用端口和參數(shù)定義、使用端口和參數(shù)定義 3、使用端

13、口和參數(shù)定義生成宏功能模塊、使用端口和參數(shù)定義生成宏功能模塊 計數(shù)器計數(shù)器 乘乘-累加器和乘累加器和乘-加法器加法器加法加法/減法器減法器 RAM乘法器乘法器 移位寄存器移位寄存器 對宏功能模塊例化的途徑有多種,如可以在在Block Editor(原理圖)中直接例化(原理圖)中直接例化;在在HDL代碼中例化代碼中例化(通過端口和參數(shù)定通過端口和參數(shù)定義例化,或使用義例化,或使用MegaWizard Plug-In Manager對宏功能模塊進對宏功能模塊進行參數(shù)化并建立包裝文件行參數(shù)化并建立包裝文件);也可以通過界面,在通過界面,在Quartus II中中對對Altera宏功能模塊和宏功能模塊

14、和LPM函數(shù)進行例化函數(shù)進行例化。 Altera推薦使用推薦使用MegaWizard Plug-In Manager對宏功能模塊對宏功能模塊進行例化以及建立自定義宏功能模塊變量進行例化以及建立自定義宏功能模塊變量。此向?qū)⑻峁┮粋€供自定義和參數(shù)化宏功能模塊使用的圖形界面,并確保正確設(shè)置所有宏功能模塊的參數(shù)。 可以使用MegaWizard Plug-In Manager建立宏功建立宏功能模塊或自定義宏功能模塊變量能模塊或自定義宏功能模塊變量。 再利用MegaWizard Plug-In Manager建立包含宏建立包含宏功能模塊實例的功能模塊實例的VerilogHDL或或VHDL包裝文件包裝文件

15、, 然后,可以在設(shè)計中使用此文件設(shè)計中使用此文件。 對于VHDL宏功能模塊,MegaWizard Plug-In Manager還建立組件申明文件還建立組件申明文件。 可以采用或調(diào)用任何其他模塊或組件相類似方法調(diào)用函數(shù),直接在直接在VerilogHDL或或VHDL設(shè)計中對設(shè)計中對宏功能模塊進行例化宏功能模塊進行例化。在VHDL中,還需要使用組件申明。 Quartus II Analysis Synthesis可以自動識別某些類型的自動識別某些類型的HDL代碼和生成相應的宏功能模塊代碼和生成相應的宏功能模塊。由于Altera宏功能模塊已對Altera器件實行優(yōu)化器件實行優(yōu)化,并且性能要好于標準的

16、HDL代碼;因此Quartus II可以使用生成方法。對于一些體系結(jié)構(gòu)特定的功能對于一些體系結(jié)構(gòu)特定的功能;例如RAM和DSP模塊,必須使用必須使用Altera宏功能模塊宏功能模塊。Quartus II在綜合期間將以下邏輯映射到宏功能模塊:66.2.1 LPM_COUNTER計數(shù)器模塊文本文件的調(diào)用計數(shù)器模塊文本文件的調(diào)用 Quartus II中含有大量的功能強大的LPM模塊模塊。本節(jié)通過介紹一個LPM計數(shù)器計數(shù)器LPM COUNTER的調(diào)用方法、調(diào)用方法、流程的測試流程的測試,給出給出MegaWizard Plug-In Manager管理器對管理器對同類宏模塊的一般使用方法同類宏模塊的一般

17、使用方法。主要介紹調(diào)用方法上的不同之處和不同特性的仿真測試方法。6.2 LPM計數(shù)器模塊使用方法計數(shù)器模塊使用方法 (1)打開宏功能塊調(diào)用管理器。 首先建立一個文件夾,例如d:PM_MD。 選擇Tools-MegaWizard Plug-In Manager命令,打開如圖圖6-1所示的對話框所示的對話框,選中Create a new custom megafuncfion variation單選按鈕,定制一個新的模塊。 如果要修改已編輯好的已編輯好的LPM模塊模塊,則選中Edit an existing custom megafunction variation單選按鈕。 如果要拷貝已編輯好的

18、拷貝已編輯好的LPM模塊模塊,選選copy。圖圖6-1 定制新的宏功能塊定制新的宏功能塊 76.2.1 LPM_COUNTER計數(shù)器模塊文本文件的調(diào)用計數(shù)器模塊文本文件的調(diào)用 6.2 LPM計數(shù)器模塊使用方法計數(shù)器模塊使用方法 單擊圖6-1的Next按鈕后,打開如圖6-2所示的對話框。左欄中有各類功能的各類功能的LPM模塊選項模塊選項目錄。單擊算術(shù)項算術(shù)項Arithmetic,展展示示LPM算術(shù)模塊選項算術(shù)模塊選項。選擇計數(shù)器LPM_COUNTER。再于右上選擇選擇Cyclone III器件系列器件系列和VHDL語言方式語言方式。最后鍵入文件存放鍵入文件存放的路徑和文件名:的路徑和文件名:d:

19、LPM_MDCNT4B,單擊Next按鈕按鈕。圖圖6-2 LPM宏功能塊設(shè)定宏功能塊設(shè)定 最后生成的CNT4B.vhd文件是對 參 數(shù) 可 設(shè) 置 宏 模 塊 庫 中 的LPM_COUNTER例化調(diào)用的頂層文件。并將CNT4B.vhd放在當前工作庫D:PM_CNT中。86.2.1 LPM_COUNTER計數(shù)器模塊文本文件的調(diào)用計數(shù)器模塊文本文件的調(diào)用 6.2 LPM計數(shù)器模塊使用方法計數(shù)器模塊使用方法 (2)在圖6-2單擊Next按鈕后打開如圖6-3所示的對話框。在對話框中選擇選擇4位計數(shù)器位計數(shù)器,選擇選擇“Create an updown input”,使計數(shù)器有加減控制功能使計數(shù)器有加減

20、控制功能。最后單擊Next按鈕按鈕。 圖圖6-3 設(shè)設(shè)4位可加減計數(shù)器位可加減計數(shù)器96.2.1 LPM_COUNTER計數(shù)器模塊文本文件的調(diào)用計數(shù)器模塊文本文件的調(diào)用 6.2 LPM計數(shù)器模塊使用方法計數(shù)器模塊使用方法 (3)在圖6-3單擊Next按鈕,打開如圖6-4所示的對話框。在此若選擇Plain binary則表示是普通二進則表示是普通二進制計數(shù)器制計數(shù)器;現(xiàn)在選擇選擇Modulus12,即模即模12計數(shù)器,計數(shù)器,從從0計到計到11。然后選擇時鐘使能控制選擇時鐘使能控制Clock Enable和進位輸出進位輸出Carry-out。圖圖6-4 設(shè)定模設(shè)定模12計數(shù)器,含時鐘使能和進位輸

21、出計數(shù)器,含時鐘使能和進位輸出106.2.1 LPM_COUNTER計數(shù)器模塊文本文件的調(diào)用計數(shù)器模塊文本文件的調(diào)用 6.2 LPM計數(shù)器模塊使用方法計數(shù)器模塊使用方法 (4)在圖6-4單擊Next按鈕,打開如圖6-5所示的對話框。在此選擇選擇4位數(shù)據(jù)同步加載控制位數(shù)據(jù)同步加載控制Load和異步異步清零控制清零控制Clear。 最后按最后按Next按鈕后就結(jié)束設(shè)置按鈕后就結(jié)束設(shè)置。以上設(shè)置生成了LMP計數(shù)器模塊的計數(shù)器模塊的VHDL文件文件CNT4B.vhd; CNT4B.vhd可被高一層次的VHDL程序作為計數(shù)器元件調(diào)用。 圖圖6-5 加入加入4位并行數(shù)據(jù)預置功能位并行數(shù)據(jù)預置功能 116.

22、2.1 LPM_COUNTER計數(shù)器模塊文本文件的調(diào)用計數(shù)器模塊文本文件的調(diào)用【例6-1】Quartus II生成的計數(shù)器文件CNT4B.vhd。 LIBRARY ieee; USE ieee.std_logic_1164.all; LIBRARY lpm; -打開LPM庫 USE lpm.all; -打開LPM程序包 ENTITY CNT4B IS -異步清零、時鐘使能、時鐘輸入、同步預置數(shù)加載控制、加減控制 PORT(aclr,clk_en,clock,sload,updown: IN STD_LOGIC ; data: IN STD_LOGIC_VECTOR (3 DOWNTO 0);

23、-4位預置數(shù) cout: OUT STD_LOGIC; -進位輸出 q: OUT STD_LOGIC_VECTOR (3 DOWNTO 0);-計數(shù)器輸出 END CNT4B; ARCHITECTURE SYN OF cnt4b IS SIGNAL sub_wire0: STD_LOGIC; -進位結(jié)點 SIGNAL sub_wire1: STD_LOGIC_VECTOR (3 DOWNTO 0); -計數(shù)器結(jié)點 COMPONENT lpm_counter -以下是參數(shù)傳遞說明語句 GENERIC(lpm_direction,lpm_port_updown,lpm_type: STRING;

24、-定義字符串類型 lpm_modulus,lpm_width: NATURAL); -定義正整數(shù)類型 生成的VHDL文件CNT4B.vhd(例6-1) 只是調(diào)用了更底層(LPM程序程序包包)的計數(shù)器元件模塊文件。從文件可以看出更核心的計數(shù)器設(shè)計模塊是LPM庫中LPM程序包的lpm_counter。它是一個可以設(shè)定參數(shù)的封閉可以設(shè)定參數(shù)的封閉的模塊的模塊,用戶看不到內(nèi)部設(shè)計,只能通過參數(shù)傳遞說明語句將用戶設(shè)只能通過參數(shù)傳遞說明語句將用戶設(shè)定的參數(shù)通過文件定的參數(shù)通過文件CNT4B.vhd傳遞進傳遞進lpm_counter中中。而而CNT4B.vhd本本身又可以作為一個底層元件被上層設(shè)計調(diào)用或例化

25、身又可以作為一個底層元件被上層設(shè)計調(diào)用或例化。 對于參數(shù)傳遞語句的語法內(nèi)容可參閱第9.1節(jié)。126.2.1 LPM_COUNTER計數(shù)器模塊文本文件的調(diào)用計數(shù)器模塊文本文件的調(diào)用【例6-1】Quartus II生成的計數(shù)器文件CNT4B.vhd。 接上頁接上頁 PORT(sload,clk_en,aclr,clock,updown: IN STD_LOGIC ; cout: OUT STD_LOGIC ; q: OUT STD_LOGIC_VECTOR (3 DOWNTO 0); data: IN STD_LOGIC_VECTOR (3 DOWNTO 0); END COMPONENT; BE

26、GIN cout=sub_wire0;q UNUSED, -單方向計數(shù)參數(shù)未用 lpm_modulus = 12, -定義模12計數(shù)器 lpm_port_updown = PORT_USED, -使用加減計數(shù) lpm_type = LPM_COUNTER, -計數(shù)器類型 lpm_width = 4 ) -計數(shù)位寬 PORT MAP(sload = sload,clk_en = clk_en,aclr = aclr,clock = clock, data = data,updown = updown, cout = sub_wire0,q = sub_wire1); END SYN; 例6-1中

27、,lpm_counter是是LPM庫中調(diào)用的宏模塊元件名庫中調(diào)用的宏模塊元件名。lpm_Counter_component是調(diào)用是調(diào)用lpm_counter的宏模塊元件例化名的宏模塊元件例化名;其中的lpm_direction等等稱為宏模塊參數(shù)名,是被調(diào)用的元件稱為宏模塊參數(shù)名,是被調(diào)用的元件(lpm_counter)文件中己定義的參數(shù)名文件中己定義的參數(shù)名,而UNUSED等等是參數(shù)值,它們可以是整數(shù)、是參數(shù)值,它們可以是整數(shù)、操作表達式、字符串或在當前模塊中已定義的參數(shù)操作表達式、字符串或在當前模塊中已定義的參數(shù)。 使用時注意GENERIC語句只能將參數(shù)傳遞到比當前層次僅低一層語句只能將參數(shù)

28、傳遞到比當前層次僅低一層的元件文件中的元件文件中。 13 【例6-2】設(shè)計例化CNT4B.vhd的頂層程序CNT4BIT.vhd LIBRARY ieee; USE ieee.std_logic_1164.all; LIBRARY lpm; -打開LPM庫 USE lpm.all; -打開LPM程序包 ENTITY CNT4BIT IS -異步清零、時鐘使能、時鐘輸入、同步預置數(shù)加載控制、加減控制 PORT(CLK,RST,ENA,SLD,UD: IN STD_LOGIC ; DIN: IN STD_LOGIC_VECTOR (3 DOWNTO 0); -4位預置數(shù) COUT: OUT STD

29、_LOGIC; -進位輸出 DOUT: OUT STD_LOGIC_VECTOR (3 DOWNTO 0);-計數(shù)器輸出 END ENTITY CNT4BIT; ARCHITECTURE translated OF CNT4BIT IS COMPONENT CNT4B PORT(aclr,clk_en,clock,sload,updown: IN STD_LOGIC ; data: IN STD_LOGIC_VECTOR (3 DOWNTO 0); cout: OUT STD_LOGIC ; q: OUT STD_LOGIC_VECTOR (3 DOWNTO 0); END COMPONENT

30、; BEGIN U1: CNT4B PORT MAP(sload=SLD,clk_en=ENA, aclr=RST,cout=COUT, clock=CLK, data=DIN,updown=UD, q=DOUT); END ARCHITECTURE translated; 為了能調(diào)用計數(shù)器文件為了能調(diào)用計數(shù)器文件CNT4B.vhd,并測試和硬件實現(xiàn)它,必須設(shè)計例必須設(shè)計例6-2程序程序CNT4BIT.vhd來來申明申明、例化調(diào)用例化調(diào)用CNT4B.vhd 。146.2.2 創(chuàng)建工程與仿真測試創(chuàng)建工程與仿真測試6.2 LPM計數(shù)器模塊使用方法計數(shù)器模塊使用方法 按照第4章介紹的流程將例6-2設(shè)

31、定為頂層工程文什,并對其仿真。圖6-6是其仿真波形,注意第第2個個SLD加載信號在沒有加載信號在沒有CLK上升沿處發(fā)生時,無法上升沿處發(fā)生時,無法進行加載,顯然它是同步的進行加載,顯然它是同步的。從波形中可以了解此計數(shù)器模塊的功能和性能。圖6-6 例6-2的CNT4BIT仿真波形為例6-2的CNT4BIT創(chuàng)建工程156.2.2 創(chuàng)建工程與仿真測試創(chuàng)建工程與仿真測試6.2 LPM計數(shù)器模塊使用方法計數(shù)器模塊使用方法 按照第4章介紹的方法,首先建立一個空的原理圖頂層文件,并將其創(chuàng)建為工程文件。然后在原理圖編輯窗中打開如圖4-41的窗口,選擇此窗口左下的MegaWizard Plug-In Mana

32、ger按鈕,按照本章以上的流程即能編輯生成一個計數(shù)器原理圖元件文件CNT4B.bsf;.bsf是是Block Schematic File的意思。將此元件調(diào)入原理圖編輯窗元件調(diào)入原理圖編輯窗就能編輯如圖6-7所示的計數(shù)器電路。仿真結(jié)果應該與圖6-6相同。圖圖6-7原理圖輸入設(shè)計原理圖輸入設(shè)計 16圖圖6-8 8位乘法累加器頂層設(shè)計位乘法累加器頂層設(shè)計6.3 基于基于LPM的流水線乘法累加器設(shè)計的流水線乘法累加器設(shè)計X康芯科技康芯科技 乘法累加器常在全硬件的數(shù)字信號處理的不同算法中用到。本節(jié)通過一個8位流水線乘法累加器的實例介紹以頂層原理圖為工程頂層原理圖為工程,VHDL文本描述和宏功能塊為原理

33、圖元件的輸入和(混合混合)設(shè)計方法。 圖6-8是最終的原理圖頂層設(shè)計。包含三種包含三種LPM模塊模塊,即寄存器寄存器LPM模塊模塊、流水線加法器流水線加法器LPM模塊模塊和流水線乘法器流水線乘法器LPM模塊模塊。以下分刖介紹這些模塊的調(diào)用。176.3.1 LPM加法器模塊設(shè)置調(diào)用加法器模塊設(shè)置調(diào)用6.3 基于基于LPM的流水線乘法累加器設(shè)計的流水線乘法累加器設(shè)計圖圖6-9 從原理圖編輯窗進入從原理圖編輯窗進入MegaWizard Plug-In Manager管理器管理器 首先打開一個原理圖編輯窗原理圖編輯窗,存盤取名為MULTADD,然后將它創(chuàng)建成工程創(chuàng)建成工程。 再次進入本工程的原理圖輸入

34、對話框原理圖輸入對話框后,單擊左下的MegaWizard P1ug-In Manager管理器按鈕,根據(jù)上節(jié)介紹的流程進入圖進入圖6-9所示的所示的LPM模塊編輯調(diào)用窗模塊編輯調(diào)用窗。18圖圖6-10 選擇選擇16位加法工作方式位加法工作方式 6.3.1 LPM加法器模塊設(shè)置調(diào)用加法器模塊設(shè)置調(diào)用6.3 基于基于LPM的流水線乘法累加器設(shè)計的流水線乘法累加器設(shè)計 在進入圖在進入圖6-2所示的窗口下,選擇所示的窗口下,選擇LPM_ADD_SUB加減法器模塊,再選擇加減法器模塊,再選擇CycloneIII和和VHDL;文件名可;文件名可取為取為ADD16B。進入以后的對話框后分別選擇選擇16位加法

35、位加法器工作模式器工作模式(圖圖6-10),選擇有加法進位輸出選擇有加法進位輸出;選擇有符選擇有符號加法方式號加法方式(圖圖6-11);選擇選擇2級流水線工作方式級流水線工作方式(圖圖6-12);這時模塊出現(xiàn)一條時鐘輸入線,即變成了有時序電路的這時模塊出現(xiàn)一條時鐘輸入線,即變成了有時序電路的模塊。模塊。最后按Finish按鈕即可將此加法器調(diào)入原理圖編輯窗。196.3.2 LPM乘法器模塊設(shè)置調(diào)用乘法器模塊設(shè)置調(diào)用6.3 基于基于LPM的流水線乘法累加器設(shè)計的流水線乘法累加器設(shè)計 流程同上。在進入圖在進入圖6-2所示的窗口下,選擇所示的窗口下,選擇LPM_MULT乘法乘法器模塊,文件名可取為器模

36、塊,文件名可取為MULT8B。在圖6-13的對話框,選擇有符號選擇有符號乘法工作方式乘法工作方式;選擇嵌入式專用硬件乘法器模塊,即選擇選擇嵌入式專用硬件乘法器模塊,即選擇“Use dedicated multiplie.”;調(diào)用專用乘法器,工作速度高,且不耗費調(diào)用專用乘法器,工作速度高,且不耗費邏輯宏單元邏輯宏單元。 進入圖進入圖6-14所示對話框所示對話框后,選擇選擇2級流水線工作方式級流水線工作方式(實際只一級)。最后將完成設(shè)置的乘法器模塊加入圖最后將完成設(shè)置的乘法器模塊加入圖6-8所示的原理圖中所示的原理圖中。20圖圖6-8 8位乘法累加器頂層設(shè)計位乘法累加器頂層設(shè)計8位位LPM寄存器模

37、塊寄存器模塊FF8B設(shè)置設(shè)置6.3.2 LPM乘法器模塊設(shè)置調(diào)用乘法器模塊設(shè)置調(diào)用6.3 基于基于LPM的流水線乘法累加器設(shè)計的流水線乘法累加器設(shè)計 在圖6-2所示的窗中,于左欄中選擇選擇Storage中的中的LPM_FF即可調(diào)入寄存器模塊:即可調(diào)入寄存器模塊:FF8B。 最后根據(jù)圖根據(jù)圖6-8,連接好電路圖,準備全程編譯和仿真測試。216.3.3 乘法累加器的仿真測試乘法累加器的仿真測試6.3 基于基于LPM的流水線乘法累加器設(shè)計的流水線乘法累加器設(shè)計 以上工程MULTADD的仿真波彤如圖6-15所示。由波形可見,在CLK的第的第4個上升沿后才得到第一個計算個上升沿后才得到第一個計算數(shù)據(jù)數(shù)據(jù)

38、,之前都是之前都是0,這就是流水線計算結(jié)構(gòu)的結(jié)果。 第第4個上升沿后得到結(jié)果為個上升沿后得到結(jié)果為S=00+2315=345,而第第5個上升沿后得到結(jié)果為個上升沿后得到結(jié)果為S=2315+1122=587,第第6個上升沿后得到結(jié)果為個上升沿后得到結(jié)果為S=1122+3345=1727。圖圖6-15電路圖電路圖6-8的的MULTADD工程仿真波形工程仿真波形00T0 T1 T2 T3 T4分析:T0準備好前一組數(shù)據(jù)準備好前一組數(shù)據(jù)。 T1觸發(fā)前一組數(shù)據(jù)鎖存,準備好當前數(shù)據(jù)觸發(fā)前一組數(shù)據(jù)鎖存,準備好當前數(shù)據(jù)。 T2觸發(fā)前一組數(shù)據(jù)和當前數(shù)據(jù)分別相乘觸發(fā)前一組數(shù)據(jù)和當前數(shù)據(jù)分別相乘。 T3緩沖 T4觸

39、發(fā)前一組數(shù)據(jù)積和當前數(shù)據(jù)積相加觸發(fā)前一組數(shù)據(jù)積和當前數(shù)據(jù)積相加。 (從觸發(fā)相乘從觸發(fā)相乘T2到觸發(fā)相加到觸發(fā)相加T4經(jīng)過經(jīng)過2個時鐘個時鐘)226.3.3 乘法累加器的仿真測試乘法累加器的仿真測試6.3 基于基于LPM的流水線乘法累加器設(shè)計的流水線乘法累加器設(shè)計 圖6-16是對于圖6-13在進行不同選項后,編譯給出資源使用情況。 在圖6-13的窗口選擇選擇Use logic elements,生成圖生成圖6-16右側(cè)的數(shù)據(jù)右側(cè)的數(shù)據(jù),表明乘法器全部使用邏輯宏單元乘法器全部使用邏輯宏單元LE,共占用,共占用238個個LE。 若選擇圖選擇圖6-13其余兩項中的任一項其余兩項中的任一項都將得到圖6-

40、16左側(cè)的數(shù)據(jù)報告,數(shù)據(jù)表明,使用了使用了2個嵌入式乘法器,而個嵌入式乘法器,而LE只耗用了只耗用了50個個。 圖圖6-16對乘法器的構(gòu)建模式選擇不同設(shè)置后的編譯報告對乘法器的構(gòu)建模式選擇不同設(shè)置后的編譯報告圖圖6-13 選擇專用乘法器模塊構(gòu)建乘法器選擇專用乘法器模塊構(gòu)建乘法器 236.3.3 乘法累加器的仿真測試乘法累加器的仿真測試6.3 基于基于LPM的流水線乘法累加器設(shè)計的流水線乘法累加器設(shè)計 其實,本設(shè)計項目可以直接用直接用LPM庫的乘法累加器模塊庫的乘法累加器模塊ALTMULT_ADD實現(xiàn)實現(xiàn),其參數(shù)設(shè)置窗如圖6-17所示。 圖圖6-17 ALTMULT_ADD模塊設(shè)置對話框模塊設(shè)置

41、對話框 24 【例【例6-3】兩個】兩個8位乘位乘8位的有符號數(shù)乘法器位的有符號數(shù)乘法器VHDL描述。描述。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_SIGNED.ALL; ENTITY MULT8 IS PORT(A1,B1,A2,B2: IN SIGNED(7 DOWNTO 0); -定義有符號位矢定義有符號位矢 R1,R2: OUT SIGNED(15 DOWNTO 0); END; ARCHITECTURE bhv OF MULT8 IS BE

42、GIN R1=A1 * B1; R2=A2 * B2; END bhv;6.3 基于基于LPM的流水線乘法累加器設(shè)計的流水線乘法累加器設(shè)計X康芯科技康芯科技6.3.4 乘法器的乘法器的VHDL文本表述和相關(guān)屬性設(shè)置文本表述和相關(guān)屬性設(shè)置 本節(jié)探討文本表述的乘法器。例6-3是兩個兩個8位乘位乘8位的位的有符號數(shù)乘法器有符號數(shù)乘法器VHDL描述描述。 如果僅按照普通的方法進行綜合按照普通的方法進行綜合,綜合出的乘法器一綜合出的乘法器一定會占用大量的邏輯資源定會占用大量的邏輯資源,而且運行速度不見得快運行速度不見得快。25圖6-18a 例6-3的編譯報告圖6-18 設(shè)置乘法器用DSP模塊構(gòu)建6.3.

43、4 乘法器的乘法器的VHDL文本表述和相關(guān)屬性設(shè)置文本表述和相關(guān)屬性設(shè)置6.3 基于基于LPM的流水線乘法累加器設(shè)計的流水線乘法累加器設(shè)計 在FPGA開發(fā)中,最常用的方法是直接調(diào)用直接調(diào)用FPGA內(nèi)部已嵌入的硬件內(nèi)部已嵌入的硬件乘法器乘法器(DSP模塊);可以通過Quartus II來設(shè)置使用DSP模塊。方法是先進先進入圖入圖4-6的的Settings窗窗,在左欄選擇左欄選擇Analysis Synthesis Settings項項,在其其右邊對話框中按右邊對話框中按More ettings按鈕按鈕,在彈出的對話框彈出的對話框(圖圖6-18)中對中對DSP Block Balancing項選擇

44、項選擇DSP blocks,即用DSP乘法器模塊構(gòu)建。 例例6-3全程編譯后的報告如圖全程編譯后的報告如圖6-18a所示所示。其中用了兩個兩個9位位DSP模塊模塊,0個邏輯宏單元個邏輯宏單元。此項設(shè)計高速,且節(jié)省邏輯資源。26 【例【例6-4】兩個】兩個8位乘位乘8位的有符號數(shù)乘法器位的有符號數(shù)乘法器VHDL描述描述(帶帶DSP模塊屬性設(shè)置模塊屬性設(shè)置)。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_SIGNED.ALL; ENTITY MULT8 IS

45、PORT(A1,B1,A2,B2: IN SIGNED(7 DOWNTO 0); -定義有符號位矢定義有符號位矢 R1,R2: OUT SIGNED(15 DOWNTO 0); END; ARCHITECTURE bhv OF MULT8 IS attribute multstyle: string; attribute multstyle of R1,R2: signal is “DSP”; BEGIN R1=A1 * B1; R2New命令命令,在New窗中選擇窗中選擇Memory File欄欄的的Memory Initialization File項項,單擊單擊OK按鈕后,按鈕后,打開打

46、開MIF數(shù)據(jù)文件大小選擇窗口數(shù)據(jù)文件大小選擇窗口;在此根據(jù)存儲器地址在此根據(jù)存儲器地址和數(shù)據(jù)寬度選擇參數(shù)和數(shù)據(jù)寬度選擇參數(shù)(如地址線為地址線為7位,選單元數(shù)位,選單元數(shù)Number為為128;數(shù)據(jù)寬為數(shù)據(jù)寬為8位,選擇位,選擇Word size為為8位位);按按OK鈕鈕,將出現(xiàn)如圖將出現(xiàn)如圖6-20所示的所示的.mif數(shù)據(jù)表數(shù)據(jù)表格格;表格中的數(shù)據(jù)格式可通過右擊窗口邊緣的地址數(shù)據(jù)所彈出的窗口中選數(shù)據(jù)格式可通過右擊窗口邊緣的地址數(shù)據(jù)所彈出的窗口中選擇擇。此表中任一數(shù)據(jù)對應的地址任一數(shù)據(jù)對應的地址為左列左列與與頂行頂行數(shù)之和數(shù)之和。填完后,選擇選擇File-SaveAs命令,保存此數(shù)據(jù)文件命令,保

47、存此數(shù)據(jù)文件,取名為data7X8.mif保存保存。單元地址=18+1data7x8.mif28(2)文件編輯法)文件編輯法 【例【例6-5】使用】使用Quartus II以外的編輯器設(shè)計以外的編輯器設(shè)計MIF文件。文件。 DEPTH=128; ;數(shù)據(jù)深度,即存儲的數(shù)據(jù)個數(shù)數(shù)據(jù)深度,即存儲的數(shù)據(jù)個數(shù) WIDTH=8; ;輸出數(shù)據(jù)寬度輸出數(shù)據(jù)寬度 ADDRESS_RADIX=HEX; ;地址數(shù)據(jù)類型,地址數(shù)據(jù)類型,HEX表示選擇十六進制數(shù)據(jù)類型表示選擇十六進制數(shù)據(jù)類型 DATA_RADIX=HEX; ;存儲數(shù)據(jù)類型,存儲數(shù)據(jù)類型,HEX表示選擇十六進制數(shù)據(jù)類型表示選擇十六進制數(shù)據(jù)類型 CONTE

48、NT ;此為關(guān)鍵詞此為關(guān)鍵詞 BEGIN ;此為關(guān)鍵詞此為關(guān)鍵詞 0000 : 0080 ; 0001 : 0086 ; 0002 : 008C ; (數(shù)據(jù)略去數(shù)據(jù)略去) 007E : 0073 ; 007F : 0079 ; END;6.4 LPM隨機存儲器的設(shè)置和調(diào)用隨機存儲器的設(shè)置和調(diào)用6.4.1 存儲器初始化文件生成存儲器初始化文件生成 (2)文件編輯法。即使用Quartus II以外的編輯器設(shè)計MIF文件,其格式如例6-5所示。其中地址地址和數(shù)據(jù)數(shù)據(jù)都為十六進制,冒號左邊是地址值冒號左邊是地址值,右邊是對應的數(shù)據(jù)右邊是對應的數(shù)據(jù);并以分號以分號結(jié)尾結(jié)尾。存盤以mif為后綴,如取名為:

49、data7X8.mif。296.4 LPM隨機存儲器的設(shè)置和調(diào)用隨機存儲器的設(shè)置和調(diào)用X康芯科技康芯科技6.4.1 存儲器初始化文件生成存儲器初始化文件生成(3) C語言等軟件生成語言等軟件生成 (打開目錄打開目錄)【例【例6-6】用用C語言程序生成正弦波波點數(shù)據(jù)值語言程序生成正弦波波點數(shù)據(jù)值 #include #include math.hmain()int i;float s; for(i=0;isin_rom.Mif; 將生成sin_rom.mif文件,再加上再加上.mif文文件的頭部說明件的頭部說明即可。假設(shè)romgen是編譯后的程序名。此外,也可以用MATLAB和DSP Builde

50、r生成此文件。 WIDTH=8; DEPTH=64; ADDRESS_RADIX=HEX; DATA_RADIX=HEX; CONTENT BEGIN306.4 LPM隨機存儲器的設(shè)置和調(diào)用隨機存儲器的設(shè)置和調(diào)用X康芯科技康芯科技6.4.1 存儲器初始化文件生成存儲器初始化文件生成(4) 專用專用MIF文件生成器文件生成器圖圖6-21 利用康芯利用康芯MIF生成器生成生成器生成MIF正弦波數(shù)據(jù)文件正弦波數(shù)據(jù)文件 (4)專用MIF文件生成器。參考附錄1.4的MIIF文件生成器的用法,可可生成不同波形、不同數(shù)據(jù)格式、不同符號生成不同波形、不同數(shù)據(jù)格式、不同符號(有無符號有無符號)、或不同相位的、或

51、不同相位的MIF文件文件。例如某ROM的數(shù)據(jù)線寬為的數(shù)據(jù)線寬為8位,地址線寬為位,地址線寬為7位,即可以放置位,即可以放置128個個8位數(shù)據(jù)位數(shù)據(jù)?;蛘哒f,如果需要將一個周期分為128個點,每個點精度為8位二進制數(shù)的,初始相位為始相位為0度的正弦信號波數(shù)據(jù)度的正弦信號波數(shù)據(jù),放在ROM或RAM中,則此初始化文什應該如圖6-21的設(shè)置。 以文件以文件data7XS.mif存盤。用記事本打開此文件將如圖存盤。用記事本打開此文件將如圖6-22所示所示。 圖圖6-22打開打開MIF文件文件316.4 LPM隨機存儲器的設(shè)置和調(diào)用隨機存儲器的設(shè)置和調(diào)用X康芯科技康芯科技6.4.1 存儲器初始化文件生成存

52、儲器初始化文件生成2 2建立建立.hex.hex格式文件格式文件 第一種方法與以上介紹的方法相同,只是在New窗口窗口中選擇選擇Other files項后項后,選擇選擇Hexadecimal(Intel-Format)File項項,選選ROM的的數(shù)據(jù)數(shù)數(shù)據(jù)數(shù)Number為為64,數(shù)據(jù)寬,數(shù)據(jù)寬Word size取取8位;位;輸入數(shù)據(jù);輸入數(shù)據(jù);最后存盤.hex格式文件。 32X康芯科技康芯科技2 2建立建立.hex.hex格式文件格式文件 第二種方法是用普通用普通8051單片機單片機KEIL編譯器來產(chǎn)生編譯器來產(chǎn)生。 方法是利用匯編程序編輯器將此將此64個數(shù)據(jù)編輯于如圖個數(shù)據(jù)編輯于如圖7-3所

53、示的編輯窗口所示的編輯窗口中中,然后用單片機ASM編譯器產(chǎn)編譯器產(chǎn)生生.hex格式文件格式文件。在此不妨取名為取名為sdata.asm,編譯后得到sdata.hex文件文件。 圖圖6-23用匯編器生成用匯編器生成HEX文件文件336.4 LPM隨機存儲器的設(shè)置和調(diào)用隨機存儲器的設(shè)置和調(diào)用6.4.2 LPM_RAM的設(shè)置和調(diào)用 首先仍打開一個原理圖編輯窗,存盤取名為RAMMD,將它創(chuàng)建成創(chuàng)建成工程工程。進入本工程的原理圖輸入對話框進入本工程的原理圖輸入對話框,單擊左下的單擊左下的MegaWizard Plug-In Manager管理器按鈕管理器按鈕,進入圖進入圖6-24所示的所示的LPM模塊編

54、輯淵用窗模塊編輯淵用窗。 在這里的左欄選擇選擇Memory Compiler項項下的單口單口RAM模塊,即模塊,即RAM:1-PORT。文件取名為文件取名為RAM1P,存在,存在DALPM MD中中。圖圖6-24 調(diào)用單口調(diào)用單口LPM RAM 346.4 LPM隨機存儲器的設(shè)置和調(diào)用隨機存儲器的設(shè)置和調(diào)用6.4.2 LPM_RAM的設(shè)置和調(diào)用 單擊Next按鈕后打開如圖打開如圖6-25所示的對話框所示的對話框。選擇好選擇好數(shù)據(jù)位數(shù)據(jù)位8,數(shù)據(jù)深度數(shù)據(jù)深度128,即7位地址線位地址線。對應對應Cyclone III,存儲器構(gòu)建方式選擇存儲器構(gòu)建方式選擇M9K,以及選擇雙時鐘方式選擇雙時鐘方式。

55、圖圖6-25 設(shè)定設(shè)定RAM參數(shù)參數(shù)356.4 LPM隨機存儲器的設(shè)置和調(diào)用隨機存儲器的設(shè)置和調(diào)用6.4.2 LPM_RAM的設(shè)置和調(diào)用 在圖在圖6-25下單擊下單擊Next按鈕后,打開如圖按鈕后,打開如圖6-26所示的對話框所示的對話框。在這里消去選項消去選項“q output port”的勾的勾,即選擇時鐘只控制鎖存輸入信號選擇時鐘只控制鎖存輸入信號。 在圖在圖6-26下單擊下單擊Next按鈕后,打開如圖按鈕后,打開如圖6-27所示的對話框所示的對話框。這里的選項有三個:Old Data、New Data和和DontCare。即當允許同時讀當允許同時讀寫時寫時,是讀出新寫入的數(shù)據(jù)讀出新寫入

56、的數(shù)據(jù)(New Data)還是寫入前的數(shù)據(jù)(Old Data),還是無所謂(Dont Care),這里選擇選擇Old Data。圖圖6-26 設(shè)定設(shè)定RAM僅輸入時鐘控制僅輸入時鐘控制 圖圖6-27 設(shè)定在寫入同時讀出原數(shù)據(jù)設(shè)定在寫入同時讀出原數(shù)據(jù)366.4 LPM隨機存儲器的設(shè)置和調(diào)用隨機存儲器的設(shè)置和調(diào)用6.4.2 LPM_RAM的設(shè)置和調(diào)用 在圖在圖6-27下單擊下單擊Next按鈕后,打開如圖按鈕后,打開如圖6-28所示的對話框所示的對話框。在圖在圖6-28中中的的Do you want to specify the initial content of the memory欄中選中欄中

57、選中“Yes,use this file for the memory content date”,并單擊單擊Browse按鈕按鈕,選擇指定路選擇指定路徑上的初始化文件徑上的初始化文件DATA7X8.mif (每次上電自動載MIF文件) 。 在下面選中選中“Allow In-System Memory”復選框復選框,并在在The Instance ID of this RAM is文本框中輸入文本框中輸入MYRM(作作ID名,用于區(qū)分多個嵌入的名,用于區(qū)分多個嵌入的LPM_RAM)。這樣,可允許允許QuartusII通過通過JTAG口對下載到口對下載到FPGA中的中的RAM進行進行“在系統(tǒng)在系

58、統(tǒng)”測試和讀寫測試和讀寫。圖圖6-28 設(shè)定初始化文件和允許在系統(tǒng)編輯設(shè)定初始化文件和允許在系統(tǒng)編輯 圖圖6-26/27/28的設(shè)定操作的設(shè)定操作376.4 LPM隨機存儲器的設(shè)置和調(diào)用隨機存儲器的設(shè)置和調(diào)用6.4.2 LPM_RAM的設(shè)置和調(diào)用 最后單擊圖6-28中的NEXT按鈕,再單擊Finish按鈕后完成RAM定制。調(diào)入頂層原理圖后連接好端口引腳,如調(diào)入頂層原理圖后連接好端口引腳,如圖圖6-29所示所示。圖圖6-29 在原理圖上連接好的在原理圖上連接好的RAM模塊模塊 386.4 LPM隨機存儲器的設(shè)置和調(diào)用隨機存儲器的設(shè)置和調(diào)用6.4.2 LPM_RAM的設(shè)置和調(diào)用的設(shè)置和調(diào)用圖圖6-

59、29a CycloneIIa CycloneII器件涉及器件涉及LPM_RAMLPM_RAM模塊使用的模塊使用的設(shè)置設(shè)置( (未設(shè)置,編譯出錯未設(shè)置,編譯出錯) ) 應注意的是,對于Cyclone II器件,凡是涉及涉及RAM的的LPM模塊模塊(M4K)使用使用,都必須做如下設(shè)置如下設(shè)置(否則,無法通過編譯否則,無法通過編譯): 在菜單Assignments中選擇setting項,在彈出圖圖6-35a對話框?qū)υ捒蛑羞x中選中AnalysisSynthesis Settings下的Default Parameters項項。在此,在在Name欄鍵入欄鍵入CYCLONEII_SAFE_WRITE;在在

60、Default setting欄鍵入欄鍵入VERIFIED_SAFE,并分別按按Add和下方OK按鈕后按鈕后關(guān)閉關(guān)閉Settings窗口窗口。396.4 LPM隨機存儲器的設(shè)置和調(diào)用隨機存儲器的設(shè)置和調(diào)用6.4.3 對對LPM_RAM仿真測試仿真測試 現(xiàn)在對圖6-29所示的RAM模塊進行測試,主要是了解其各信號線的功能各信號線的功能和加載于其中的初始化文件數(shù)據(jù)是初始化文件數(shù)據(jù)是否成功否成功。圖圖6-30 圖圖6-29的的RAM的仿真波形的仿真波形 圖6-30是此模塊的仿真波形圖。地址地址A是從是從0開始的,開始的,當當WREN=0(讀讀)和進入和進入WREN=1(寫寫) 期間,可以讀出初始期間

溫馨提示

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

最新文檔

評論

0/150

提交評論