eda技术原理与应用

上传人:san****019 文档编号:71629790 上传时间:2019-01-21 格式:PPT 页数:70 大小:2.40MB
返回 下载 相关 举报
eda技术原理与应用_第1页
第1页 / 共70页
eda技术原理与应用_第2页
第2页 / 共70页
eda技术原理与应用_第3页
第3页 / 共70页
eda技术原理与应用_第4页
第4页 / 共70页
eda技术原理与应用_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《eda技术原理与应用》由会员分享,可在线阅读,更多相关《eda技术原理与应用(70页珍藏版)》请在金锄头文库上搜索。

1、1,主讲:聂明新 教授,第7讲 EDA高级设计技术,2,主要内容,7.1 宏功能模块概述 7.2 宏模块应用实例 7.3 在系统存储器数据读写编辑器应用 7.4 编辑SignalTapII的触发信号 7.5 其它存储器模块的定制与应用 7.6 流水线乘法累加器的混合输入设计 7.7 LPM嵌入式锁相环调用 7.8 IP核NCO数控振荡器使用方法 7.9 8051单片机IP核应用,3,7.1 宏功能模块概述,4,7.1 宏功能模块概述,7.1.1 知识产权核的应用,AMPP程序,MegaCore函数,OpenCore评估功能,OpenCore Plus硬件评估功能,5,7.1 宏功能模块概述,7

2、.1.2 使用MegaWizard Plug-In Manager,.bsf : Block Editor中使用的宏功能模块的符号(元件)。 .cmp : 组件申明文件。 .inc : 宏功能模块包装文件中模块的AHDL包含文件。 .tdf : 要在AHDL设计中实例化的宏功能模块包装文件。 .vhd : 要在VHDL设计中实例化的宏功能模块包装文件。 .v : 要在VerilogHDL设计中实例化的宏功能模块包装文件。 _bb.v :VerilogHDL设计所用宏功能模块包装文件中模块的空体或 black-box申明,用于在使用EDA 综合工具时指定端口方向。 _inst.tdf : 宏功能

3、模块包装文件中子设计的AHDL例化示例。 _inst.vhd : 宏功能模块包装文件中实体的VHDL例化示例。 _inst.v : 宏功能模块包装文件中模块的VerilogHDL例化示例。,6,7.1 宏功能模块概述,7.1.3 在QuartusII中对宏功能模块进行例化,1、在VerilogHDL和VHDL中例化,2、使用端口和参数定义,3、使用端口和参数定义生成宏功能模块,计数器 乘-累加器和乘-加法器 加法/减法器 RAM 乘法器 移位寄存器,7,7.2 宏模块应用实例,7.2.1 工作原理,f = f0 /64,图7-1 正弦信号发生器结构框图,8,7.2 宏模块应用实例,7.2.2

4、定制初始化数据文件,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; (数据略去) 3D : FC; 3E : FE; 3F : FF; END;,9,7.2 宏模块应用实例,7.2.2 定制初始化数据文件,1建立.mif格式文件,【例7-2】 #include #include “math.h“ main() int i;float s; for(i=0;i1024;i+)

5、s = sin(atan(1)*8*i/1024); printf(“%d : %d;n“,i,(int)(s+1)*1023/2); ,10,7.2 宏模块应用实例,7.2.2 定制初始化数据文件,2建立.hex格式文件,图7-2 将波形数据填入mif文件表中,11,2建立.hex格式文件,图7-3 ASM格式建hex文件,12,7.2 宏模块应用实例,7.2.2 定制初始化数据文件,2建立.hex格式文件,图7-4 sdata.hex文件的放置路径,13,7.2 宏模块应用实例,7.2.3 定制LPM_ROM元件,图7-5 定制新的宏功能块,选择菜单 Tools-Mega Wizard P

6、lug-In Manager: 弹出对话框,14,7.2 宏模块应用实例,7.2.3 定制LPM_ROM元件,图7-6 LPM宏功能块设定,选择Memory Compiler项下ROM:1-PORT; 选择Cyclone II和VHDL方式; 输入设计文件存放的路径和文件名。,15,图7-7 选择数据线宽度和数据个数,16,图7-8 询问是否创建使能、清零,17,图7-9 指定ROM初始化数据文件并选择在系统读写功能,18,图7-10 仿真库设置,19,图7-10 LPM_ROM设计完成,20,【例7-3】 完成后生成的ROM元件文件 sina_ROM.vhd LIBRARY ieee; US

7、E ieee.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 DOWN

8、TO 0);,接下页,21,【例7-3】 COMPONENT altsyncram -例化altsyncram元件,调用了LPM模块altsyncram GENERIC ( -参数传递语句 clock_enable_input_a : STRING; -类属参量数据类型定义 clock_enable_output_a: STRING; init_file: STRING; intended_device_family: STRING; lpm_hint : STRING; lpm_type : STRING; numwords_a : NATURAL; operation_mode: STRI

9、NG; outdata_aclr_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“,

10、 clock_enable_output_a = “BYPASS“, init_file = “romd.mif“, -ROM初始化数据文件,此处已修改 intended_device_family = “Cyclone II“, lpm_hint = “ENABLE_RUNTIME_MOD=NO“, lpm_type = “altsyncram“, -LPM类型 numwords_a = 64, -数据数量64 operation_mode = “ROM“, -LPM模式ROM outdata_aclr_a = “NONE“, -无输出锁存异步清0 outdata_reg_a = “UNRE

11、GISTERED“, -输出无锁存 widthad_a = 6, -地址线宽度6 width_a = 8, -数据线宽度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 完成顶层设计,【例7-4】 正弦信号发生器顶层设计 LIBRARY IEEE; -正弦信号发生器源文件 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; E

12、NTITY SINGT IS PORT ( CLK : IN STD_LOGIC; -信号源时钟 DOUT : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) );-8位波形数据输出 END; ARCHITECTURE DACC OF SINGT IS COMPONENT sina_ROM IS -调用波形数据存储器LPM_ROM文件:sina_rom.vhd声明 PORT ( address : IN STD_LOGIC_VECTOR (5 DOWNTO 0); -6位地址信号 clock : IN STD_LOGIC ; -地址锁存时钟 q : OUT STD_LOGI

13、C_VECTOR (7 DOWNTO 0); END COMPONENT; SIGNAL Q1 : STD_LOGIC_VECTOR (5 DOWNTO 0); -设定内部节点作为地址计数器 BEGIN PROCESS(CLK ) -LPM_ROM地址发生器进程 BEGIN IF CLKEVENT AND CLK = 1 THEN Q1Q1, q = DOUT, clock=CLK);-例化 END;,24,7.2 宏模块应用实例,7.2.4 完成顶层设计,图7-11 仿真波形输出,25,7.2 宏模块应用实例,7.2.4 完成顶层设计,图7-12 嵌入式逻辑分析仪获得的波形,26,7.3 在

14、系统存储器数据读写编辑器应用,图7-13 In-System Memory Content Editor编辑窗,27,7.3 在系统存储器数据读写编辑器应用,图7-14 与实验系统上的FPGA通信正常情况下的编辑窗界面,28,7.3 在系统存储器数据读写编辑器应用,图7-15 从FPGA中的ROM读取波形数据,29,7.3 在系统存储器数据读写编辑器应用,图7-16 编辑波形数据,30,7.3 在系统存储器数据读写编辑器应用,图7-16 下载编辑数据后的SignalTap II采样波形,31,7.4 编辑SignalTapII的触发信号,图7-17 选择高级触发条件,32,图7-18 进入“触

15、发条件函数编辑”窗口,33,7.4 编辑SignalTapII的触发信号,图7-19 编辑触发函数,34,7.5 其它存储器模块的定制与应用,图7-20 编辑定制RAM,7.5.1 RAM定制,35,7.5 其它存储器模块的定制与应用,图7-21 LPM_RAM的仿真波形,7.5.1 RAM定制,36,7.5 其它存储器模块的定制与应用,图7-22 FIFO编辑窗,7.5.2 FIFO定制,37,7.5 其它存储器模块的定制与应用,图7-23 FIFO的仿真波形,7.5.2 FIFO定制,38,7.6 流水线乘法累加器的混合输入设计,(1)用VHDL设计16位加法器。,【例7-5】 LIBRA

16、RY IEEE; USE IEEE.STD_LOGIC_1164.ALL; 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); S

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号