




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、EDAEDA技术与技术与VHDL VHDL 第第7 7章章X康芯科技康芯科技 LPM模块的使用知识要点nLPM功能模块nLPM: library of Parameterized Modulesn参数化的模块组成的库(可简称为:参数化的模块参数化的模块组成的库(可简称为:参数化的模块库),其模块使用参数和端口信号进行描述库),其模块使用参数和端口信号进行描述,通过设,通过设置参数和端口信号,可以实现不同的功能。其模块可置参数和端口信号,可以实现不同的功能。其模块可称之为参数化模块或者称之为参数化模块或者LPM模块或者模块或者LPM兆功能块。兆功能块。n模块设置n参数:设置大小;参数:设置大小;
2、n端口信号设置:设置使用哪些端口信号和信号属性等,端口信号设置:设置使用哪些端口信号和信号属性等,其中输入端口信号有缺省值,也可以自己设置。其中输入端口信号有缺省值,也可以自己设置。7.1 7.1 宏功能模块概述宏功能模块概述 Altera提供的宏功能模块与提供的宏功能模块与LPM函数有:类型函数有:类型类型类型类型描述描述类型类型类型描述描述描述描述描述描述 算术组件:算术组件: 包括累加器、加法器、乘法器和包括累加器、加法器、乘法器和LPM算术函数;算术函数; 门电路:门电路: 包括多路复用器和包括多路复用器和LPM门函数。门函数。 I/O组件:组件: 包括时钟数据恢复包括时钟数据恢复(C
3、DR)、锁相环、锁相环(PLL)、双数据速、双数据速率率(DDR)、千兆位收发器块、千兆位收发器块(GXB)、LVDS接收器和发送器、接收器和发送器、PLL重新重新配置和远程更新宏功能模块。配置和远程更新宏功能模块。 存储器编译器:存储器编译器:包括包括FIFO Partitioner、RAM和和ROM宏功能模块。宏功能模块。 存储组件:存储组件: 包括存储器、移位寄存器宏模块和包括存储器、移位寄存器宏模块和LPM存储器函数。存储器函数。 X康芯科技康芯科技7.1 7.1 宏功能模块概述宏功能模块概述 7.1.1 知识产权(知识产权(IP)核的应用)核的应用 AMPP程序程序 MegaCore
4、函数函数 OpenCore评估功能评估功能 OpenCore Plus硬件评估功能硬件评估功能 7.1 7.1 宏功能模块概述宏功能模块概述 7.1.2 使用使用MegaWizard Plug-In Manager 以下列出了以下列出了MegaWizard Plug-In Manager为用户生成的每个自定义宏功能模块为用户生成的每个自定义宏功能模块变量而生成的文件。变量而生成的文件。 .bsf : Block Editor中使用的宏功能模块的符号(元件)。中使用的宏功能模块的符号(元件)。 .cmp : 组件申明文件。组件申明文件。 .inc : 宏功能模块包装文件中模块的宏功能模块包装文件
5、中模块的AHDL包含文件。包含文件。 .tdf : 要在要在AHDL设计中实例化的宏功能模块包装文件。设计中实例化的宏功能模块包装文件。 .vhd : 要在要在VHDL设计中实例化的宏功能模块包装文件。设计中实例化的宏功能模块包装文件。 .v : 要在要在VerilogHDL设计中实例化的宏功能模块包装文件。设计中实例化的宏功能模块包装文件。 _bb.v :VerilogHDL设计所用宏功能模块包装文件中模块的空体或设计所用宏功能模块包装文件中模块的空体或black-box申明,用于在使用申明,用于在使用EDA 综合工具时指定端口方向。综合工具时指定端口方向。 _inst.tdf : 宏功能模
6、块包装文件中子设计的宏功能模块包装文件中子设计的AHDL例化示例。例化示例。 _inst.vhd : 宏功能模块包装文件中实体的宏功能模块包装文件中实体的VHDL例化示例。例化示例。 _inst.v : 宏功能模块包装文件中模块的宏功能模块包装文件中模块的VerilogHDL例化示例。例化示例。 7.1 7.1 宏功能模块概述宏功能模块概述 7.1.3 在在QuartusII中对宏功能模块进行例化中对宏功能模块进行例化 1、在、在VerilogHDL和和VHDL中例化中例化 2、使用端口和参数定义、使用端口和参数定义( (原理图)原理图) 3、使用端口和参数定义生成宏功能模块、使用端口和参数定
7、义生成宏功能模块 计数器计数器 加法加法/减法器减法器 乘法器乘法器 乘乘-累加器和乘累加器和乘-加法器加法器 RAM 移位寄存器移位寄存器 7.2 LPM7.2 LPM模块应用实例模块应用实例 n使用LPM_COUNTER模块实现数控分频器n各端口信号的意义和设置各端口信号的意义和设置n参数的设置参数的设置n分频比分频比n二分频和占空比二分频和占空比n仿真波形仿真波形 数控分频器电路原理图数控分频器电路原理图 基于基于LPM_COUNTER的数控分频器设计的数控分频器设计当当d3.0=12(即即16进制数:进制数:C)时的工作波形。时的工作波形。数控分频器工作波形数控分频器工作波形7.2 L
8、PM7.2 LPM模块应用实例模块应用实例 7.2.1 电路设计原理电路设计原理 图图7-1 正弦信号发生器结构框图正弦信号发生器结构框图 f = f0 /64 7.2 LPM7.2 LPM模块应用实例模块应用实例 7.2.2 定制定制LPM_ROM初始化数据文件初始化数据文件 1建立建立.mif格式文件格式文件 【例【例7-1】WIDTH = 8;DEPTH = 64;ADDRESS_RADIX = HEX;DATA_RADIX = HEX;CONTENT BEGIN0 : FF;1 : FE;2 : FC;3 : F9;4 : F5;(数据略去)(数据略去)3D : FC;3E : FE;
9、3F : FF;END; 7.2 LPM7.2 LPM模块应用实例模块应用实例 7.2.2 定制定制LPM_ROM初始化数据文件初始化数据文件 1建立建立.mif格式文件格式文件 【例【例7-2】#include #include math.hmain()int i;float s;for(i=0;i sin_rom.mif; 7.2 LPM7.2 LPM模块应用实例模块应用实例 7.2.2 定制定制LPM_ROM初始化数据文件初始化数据文件 2建立建立.hex格式文件格式文件 图图7-2 将波形数据填入将波形数据填入mif文件表中文件表中 7.2.2 定制定制LPM_ROM初始化数据文件初始
10、化数据文件 2建立建立.hex格式文件格式文件 图图7-3 ASM格式建格式建hex文件文件 7.2.2 定制定制LPM_ROM初始化数据文件初始化数据文件 2建立建立.hex格式文件格式文件 图图7-4 sdata.hex文件的放置路径文件的放置路径 7.2 LPM7.2 LPM模块应用实例模块应用实例 7.2.3 定制定制LPM_ROM元件元件 图图7-5 定制新的宏功能块定制新的宏功能块 7.2 LPM7.2 LPM模块应用实例模块应用实例 7.2.3 定制定制LPM_ROM元件元件 图图7-6 LPM宏功能块设定宏功能块设定 7.2.3 定制定制LPM_ROM元件元件 图图7-7 选择
11、选择data_rom模块数据线和地址线宽度模块数据线和地址线宽度 7.2 LPM7.2 LPM模块应用实例模块应用实例 7.2.3 定制定制LPM_ROM元件元件 图图7-8 选择地址锁存信号选择地址锁存信号inclock 7.2 LPM7.2 LPM模块应用实例模块应用实例 7.2.3 定制定制LPM_ROM元件元件 图图7-9 调入调入ROM初始化数据文件并选择在系统读写功能初始化数据文件并选择在系统读写功能 7.2.3 定制定制LPM_ROM元件元件 图图7-10 LPM_ROM设计完成设计完成 7.2 LPM7.2 LPM模块应用实例模块应用实例 【例【例7-3】修改后的用于例化的波形
12、数据】修改后的用于例化的波形数据ROM文件:文件:data_rom.vhdLIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY altera_mf;USE altera_mf.altera_mf_components.all; -使用宏功能库中的所有元件使用宏功能库中的所有元件ENTITY data_rom ISPORT (address : IN STD_LOGIC_VECTOR (5 DOWNTO 0); inclock : IN STD_LOGIC ;q: OUT STD_LOGIC_VECTOR (7 DOWNTO 0) );END data
13、_rom;ARCHITECTURE SYN OF data_rom ISSIGNAL sub_wire0: STD_LOGIC_VECTOR (7 DOWNTO 0);COMPONENT altsyncram -例化例化altsyncram元件,调用了元件,调用了LPM模块模块altsyncramX康芯科技康芯科技接下页接下页GENERIC ( -参数传递语句参数传递语句intended_device_family: STRING; -类属参量数据类属参量数据类型定义类型定义width_a: NATURAL; widthad_a: NATURAL;numwords_a: NATURAL; op
14、eration_mode: STRING;outdata_reg_a: STRING; address_aclr_a: STRING;outdata_aclr_a: STRING; width_byteena_a : NATURAL;init_file: STRING; lpm_hint: STRING;lpm_type: STRING);PORT ( clock0: IN STD_LOGIC ; -altsyncram元件接口声明元件接口声明address_a: IN STD_LOGIC_VECTOR (5 DOWNTO 0);q_a: OUT STD_LOGIC_VECTOR (7 DOW
15、NTO 0) );END COMPONENT; 【例【例7-3】BEGINq Cyclone, -参数传递映参数传递映射射width_a = 8, -数据线宽度数据线宽度8widthad_a = 6, -地址线宽度地址线宽度6numwords_a = 64, -数据数量数据数量64operation_mode = ROM, -LPM模式模式ROMoutdata_reg_a = UNREGISTERED, -输出无锁存输出无锁存address_aclr_a = NONE, -无异步地址清无异步地址清0outdata_aclr_a = NONE, -无输出锁存异步清无输出锁存异步清0width_b
16、yteena_a = 1, - byteena_a输入口宽度输入口宽度1init_file = ./dataHEX/SDATA.hex, -ROM初始化数据文件,此处已修初始化数据文件,此处已修改过改过lpm_hint = ENABLE_RUNTIME_MOD=YES, INSTANCE_NAME=NONE, lpm_type = altsyncram ) -LPM类型类型PORT MAP ( clock0 = inclock, address_a = address,q_a = sub_wire0 );END SYN;X康芯科技康芯科技7.2.4 完成顶层设计完成顶层设计 【例【例7-4】
17、正弦信号发生器顶层设计正弦信号发生器顶层设计LIBRARY IEEE; -正弦信号发生器源文件正弦信号发生器源文件USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SINGT IS PORT ( CLK : IN STD_LOGIC; -信号源时钟信号源时钟 DOUT : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) ); -8位波形数据输出位波形数据输出END;7.2 LPM7.2 LPM模块应用实例模块应用实例 【例【例7-4】 正弦信号发生器顶层设计正弦信号发生器顶层设计ARCHIT
18、ECTURE DACC OF SINGT ISCOMPONENT data_rom -调用波形数据存储器调用波形数据存储器LPM_ROM文件:文件:data_rom.vhd声明声明 PORT(address : IN STD_LOGIC_VECTOR (5 DOWNTO 0);-6位地址信号位地址信号 inclock : IN STD_LOGIC ;-地址锁存时钟地址锁存时钟 q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0);END COMPONENT; SIGNAL Q1 : STD_LOGIC_VECTOR (5 DOWNTO 0); -设定内部节点作为设定内部节
19、点作为地址计数器地址计数器 BEGINPROCESS(CLK ) -LPM_ROM地址发生器地址发生器进程进程 BEGINIF CLKEVENT AND CLK = 1 THEN Q1Q1, q = DOUT,inclock=CLK);-例例化化END; 7.2.4 完成顶层设计完成顶层设计 7.2 LPM7.2 LPM模块应用实例模块应用实例 图图7-11 仿真波形输出仿真波形输出 图图7-12 嵌入式逻辑分析仪获得的波形嵌入式逻辑分析仪获得的波形 7.3 7.3 在系统存储器数据读写编辑器应用在系统存储器数据读写编辑器应用 图图7-13 In-System Memory Content E
20、ditor编辑窗编辑窗 7.3 7.3 在系统存储器数据读写编辑器应用在系统存储器数据读写编辑器应用 图图7-14 与实验系统上的与实验系统上的FPGA通信正常情况下的编辑窗界面通信正常情况下的编辑窗界面 7.3 7.3 在系统存储器数据读写编辑器应用在系统存储器数据读写编辑器应用 图图7-15 从从FPGA中的中的ROM读取波形数据读取波形数据 7.3 7.3 在系统存储器数据读写编辑器应用在系统存储器数据读写编辑器应用 图图7-16下载编辑数据后的下载编辑数据后的SignalTap II采样波形采样波形 图图7-16 编辑波形数据编辑波形数据 7.4 7.4 编辑编辑SignalTapII
21、SignalTapII的触发信号的触发信号 图图7-17 选择高级触发条件选择高级触发条件 7.4 7.4 编辑编辑SignalTapIISignalTapII的触发信号的触发信号 图图7-18 进入进入“触发条件函数编辑触发条件函数编辑”窗口窗口 7.4 7.4 编辑编辑SignalTapIISignalTapII的触发信号的触发信号 图图7-19 编辑触发函数编辑触发函数 7.5.1 RAM定制定制 7.5 7.5 其它存储器模块的定制与应用其它存储器模块的定制与应用 图图7-20 编辑定制编辑定制RAM 7.5.1 RAM定制定制 7.5 7.5 其它存储器模块的定制与应用其它存储器模块
22、的定制与应用 图图7-21 LPM_RAM的仿真波形的仿真波形 7.5.2 FIFO定制定制 7.5 7.5 其它存储器模块的定制与应用其它存储器模块的定制与应用 图图7-22 FIFO编辑窗编辑窗 7.5.2 FIFO定制定制 7.5 7.5 其它存储器模块的定制与应用其它存储器模块的定制与应用 图图7-23 FIFO的仿真波形的仿真波形 7.5.3 基于基于LPM_ROM的的4位乘法器设计位乘法器设计 7.5 7.5 其它存储器模块的定制与应用其它存储器模块的定制与应用 【例【例7-5】WIDTH = 8 ;WIDTH = 8 ;DEPTH = 256 ;DEPTH = 256 ;ADDR
23、ESS_RADIX = HEX ;ADDRESS_RADIX = HEX ;DATA_RADIX = HEX ;DATA_RADIX = HEX ;CONTENT BEGINCONTENT BEGIN 00:00 ; 01:00 ; 02:00 ; 03:00 ; 04:00 ; 05:00 ; 06:00 ; 07:00 ; 08:00 ; 09:00; 00:00 ; 01:00 ; 02:00 ; 03:00 ; 04:00 ; 05:00 ; 06:00 ; 07:00 ; 08:00 ; 09:00; 10:00 ; 11:01 ; 12:02 ; 13:03 ; 14:04 ; 1
24、5:05 ; 16:06 ; 17:07 ; 18:08 ; 19:09; 10:00 ; 11:01 ; 12:02 ; 13:03 ; 14:04 ; 15:05 ; 16:06 ; 17:07 ; 18:08 ; 19:09; 20:00 ; 21:02 ; 22:04 ; 23:06 ; 24:08 ; 25:10 ; 26:12 ; 27:14 ; 28:16 ; 29:18; 20:00 ; 21:02 ; 22:04 ; 23:06 ; 24:08 ; 25:10 ; 26:12 ; 27:14 ; 28:16 ; 29:18; 30:00 ; 31:03 ; 32:06 ; 3
25、3:09 ; 34:12 ; 35:15 ; 36:18 ; 37:21 ; 38:24 ; 39:27; 30:00 ; 31:03 ; 32:06 ; 33:09 ; 34:12 ; 35:15 ; 36:18 ; 37:21 ; 38:24 ; 39:27; 40:00 ; 41:04 ; 42:08 ; 43:12 ; 44:16 ; 45:20 ; 46:24 ; 47:28 ; 48:32 ; 49:36; 40:00 ; 41:04 ; 42:08 ; 43:12 ; 44:16 ; 45:20 ; 46:24 ; 47:28 ; 48:32 ; 49:36; 50:00 ; 5
26、1:05 ; 52:10 ; 53:15 ; 54:20 ; 55:25 ; 56:30 ; 57:35 ; 58:40 ; 59:45; 50:00 ; 51:05 ; 52:10 ; 53:15 ; 54:20 ; 55:25 ; 56:30 ; 57:35 ; 58:40 ; 59:45; 60:00 ; 61:06 ; 62:12 ; 63:18 ; 64:24 ; 65:30 ; 66:36 ; 67:42 ; 68:48 ; 69:54; 60:00 ; 61:06 ; 62:12 ; 63:18 ; 64:24 ; 65:30 ; 66:36 ; 67:42 ; 68:48 ;
27、69:54; 70:00 ; 71:07 ; 72:14 ; 73:21 ; 74:28 ; 75:35 ; 76:42 ; 77:49 ; 78:56 ; 79:63; 70:00 ; 71:07 ; 72:14 ; 73:21 ; 74:28 ; 75:35 ; 76:42 ; 77:49 ; 78:56 ; 79:63; 80:00 ; 81:08 ; 82:16 ; 83:24 ; 84:32 ; 85:40 ; 86:48 ; 87:56 ; 88:64 ; 89:72; 80:00 ; 81:08 ; 82:16 ; 83:24 ; 84:32 ; 85:40 ; 86:48 ;
28、87:56 ; 88:64 ; 89:72; 90:00 ; 91:09 ; 92:18 ; 93:27 ; 94:36 ; 95:45 ; 96:54 ; 97:63 ; 98:72 ; 99:81; 90:00 ; 91:09 ; 92:18 ; 93:27 ; 94:36 ; 95:45 ; 96:54 ; 97:63 ; 98:72 ; 99:81;END ; (1)用)用VHDL设计设计16位加法器。位加法器。 7.67.6流水线乘法累加器的混合输入设计流水线乘法累加器的混合输入设计 【例【例7-6】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;U
29、SE 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_VECTO
30、R(16 DOWNTO 0);BEGINAA=0&A; BB=0&B; SINT = AA + BB + CIN; S = SINT(15 DOWNTO 0); COUT = SINT(4);END behav; (2)顶层原理图文件设计。)顶层原理图文件设计。 7.67.6流水线乘法累加器的混合输入设计流水线乘法累加器的混合输入设计 图图7-24 在原理图编辑窗加入在原理图编辑窗加入LPM元件元件 (2)顶层原理图文件设计。)顶层原理图文件设计。 7.67.6流水线乘法累加器的混合输入设计流水线乘法累加器的混合输入设计 图图7-25 编辑编辑LPM乘法器乘法器 (2)顶层原理
31、图文件设计。)顶层原理图文件设计。 7.67.6流水线乘法累加器的混合输入设计流水线乘法累加器的混合输入设计 图图7-26 加入所有相关元件加入所有相关元件 (2)顶层原理图文件设计。)顶层原理图文件设计。 7.67.6流水线乘法累加器的混合输入设计流水线乘法累加器的混合输入设计 图图7-27 乘法累加器电路乘法累加器电路 (3)仿真。)仿真。 7.67.6流水线乘法累加器的混合输入设计流水线乘法累加器的混合输入设计 图图7-28 muladd工程仿真波形工程仿真波形 7.7.1 建立嵌入式锁相环元件建立嵌入式锁相环元件 7.7 LPM7.7 LPM嵌入式锁相环调用嵌入式锁相环调用 图图7-2
32、9 选择参考时钟为选择参考时钟为16MHz 7.7.1 建立嵌入式锁相环元件建立嵌入式锁相环元件 7.7 LPM7.7 LPM嵌入式锁相环调用嵌入式锁相环调用 图图7-30 选择控制信号选择控制信号 7.7.1 建立嵌入式锁相环元件建立嵌入式锁相环元件 7.7 LPM7.7 LPM嵌入式锁相环调用嵌入式锁相环调用 图图7-31 选择选择c0的片内时钟倍频为的片内时钟倍频为2 7.7.2 测试锁相环测试锁相环 7.7 LPM7.7 LPM嵌入式锁相环调用嵌入式锁相环调用 图图7-32 PLL元件的仿真波形元件的仿真波形 习习 题题 7-1. 如果不使用如果不使用MegaWizardMegaWiz
33、ard Plug-In Manager Plug-In Manager工具,如何在自己的设工具,如何在自己的设计中调用计中调用LPMLPM模块?以计数器模块?以计数器lpmlpm_counter_counter为例,写出调用该模块的程为例,写出调用该模块的程序,其中参数自定。序,其中参数自定。7-2. LPM_ROMLPM_ROM、LPM_RAMLPM_RAM、LPM_FIFOLPM_FIFO等模块与等模块与FPGAFPGA中嵌入的中嵌入的EABEAB,ESBESB,M4KM4K有怎样的联系关系?有怎样的联系关系? 7-3. 参考参考QuartusIIQuartusII的的HelpHelp(C
34、ontentsContents),详细说明),详细说明LPMLPM元件元件altcamaltcam、altsyncramaltsyncram、lpm_fifolpm_fifo、lpm_shiftreglpm_shiftreg的使用方法,以及其中各参量的使用方法,以及其中各参量的含义和设置方法。的含义和设置方法。7-4. 如果要设计一如果要设计一80518051单片机,如何为它配置含有汇编程序代码的单片机,如何为它配置含有汇编程序代码的ROMROM(文件)?(文件)? 7-5. 将例将例7-4的顶层程序和例的顶层程序和例7-3的的ROM程序合并成为一个程序,要程序合并成为一个程序,要求用例化语句
35、直接调用求用例化语句直接调用LPM模块模块altsyncramaltsyncram。编译验证,使之功能与。编译验证,使之功能与原设计相同。原设计相同。 实实 验验 与与 设设 计计 7-1. 正弦信号发生器设计正弦信号发生器设计(1)实验目的:)实验目的:进一步熟悉进一步熟悉QuartusII及其及其LPM_ROM与与FPGA硬件资硬件资源的使用方法。源的使用方法。 (2)实验原理:)实验原理:参考本章相关内容参考本章相关内容。 (3)实验内容)实验内容1:根据例根据例7-4,在,在Quartus II上完成正弦信号发生器设上完成正弦信号发生器设计,包括仿真和资源利用情况了解(假设利用计,包括
36、仿真和资源利用情况了解(假设利用Cyclone器件)。最后在器件)。最后在实验系统上实测,包括实验系统上实测,包括SignalTap II测试、测试、FPGA中中ROM的在系统数据的在系统数据读写测试和利用示波器测试。最后完成读写测试和利用示波器测试。最后完成EPCSx配置器件的编程。配置器件的编程。实实 验验 与与 设设 计计 7-1. 正弦信号发生器设计正弦信号发生器设计(4)实验内容)实验内容2:修改例修改例7-3的数据的数据ROM文件,设其数据线宽度为文件,设其数据线宽度为8,地址线宽度也为地址线宽度也为8,初始化数据文件使用,初始化数据文件使用MIF格式,用格式,用C程序产生正弦程序
37、产生正弦信号数据,最后完成以上相同的实验。信号数据,最后完成以上相同的实验。(5)实验内容)实验内容4:设计一任意波形信号发生器,可以使用设计一任意波形信号发生器,可以使用LPM双口双口RAM担任波形数据存储器,利用单片机产生所需要的波形数据,然后担任波形数据存储器,利用单片机产生所需要的波形数据,然后输向输向FPGA中的中的RAM(可以利用(可以利用GW48系统上与系统上与FPGA接口的单片机完接口的单片机完成此实验,成此实验,D/A可利用系统上配置的可利用系统上配置的0832或或5651高速器件)。高速器件)。(6)实验报告:)实验报告:根据以上的实验内容写出实验报告,包括设计原理、根据以
38、上的实验内容写出实验报告,包括设计原理、程序设计、程序分析、仿真分析、硬件测试和详细实验过程。程序设计、程序分析、仿真分析、硬件测试和详细实验过程。 实实 验验 与与 设设 计计 7-2. 8位位16进制频率计进制频率计设计设计(1) 实验目的:实验目的:设计设计8位位16进制频率计,学习较复杂的数字系统设计方法。进制频率计,学习较复杂的数字系统设计方法。(2) 实验原理:实验原理:根据频率的定义和频率测量的基本原理,测定信号的频率必须有根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为一个脉宽为1秒的输入信号脉冲计数允许的信号;秒的输入信号脉冲计数允许的信号;1秒计数结束后,
39、计数值被秒计数结束后,计数值被锁入锁存器,计数器清锁入锁存器,计数器清0,为下一测频计数周期作好准备。测频控制信号可,为下一测频计数周期作好准备。测频控制信号可以由一个独立的发生器来产生,即图以由一个独立的发生器来产生,即图7-34中的中的FTCTRL。根据测频原理,测。根据测频原理,测频控制时序可以如图频控制时序可以如图7-33所示。所示。 设计要求是:设计要求是:FTCTRL的计数使能信号的计数使能信号CNT_EN能产生一个能产生一个1秒脉宽的周秒脉宽的周期信号,并对频率计中的期信号,并对频率计中的32位二进制计数器位二进制计数器COUNTER32B(图(图7-34)的)的ENABL使能端
40、进行同步控制。当使能端进行同步控制。当CNT_EN高电平时允许计数;低电平时停高电平时允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要一个锁存信号止计数,并保持其所计的脉冲数。在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前的上跳沿将计数器在前1秒钟的计数值锁存进锁存器秒钟的计数值锁存进锁存器REG32B中,并中,并由外部的由外部的16进制进制7段译码器译出,显示计数值。设置锁存器的好处是数据显段译码器译出,显示计数值。设置锁存器的好处是数据显示稳定,不会由于周期性的清示稳定,不会由于周期性的清0信号而不断闪烁。锁存信号后,必须有一清信号而不断闪烁。锁
41、存信号后,必须有一清0信号信号RST_CNT对计数器进行清零,为下对计数器进行清零,为下1秒的计数操作作准备。秒的计数操作作准备。 实实 验验 与与 设设 计计 7-2. 8位位16进制频率计进制频率计设计设计(3) 实验内容实验内容1:分别仿真测试模块例分别仿真测试模块例7-7、例、例7-8和例和例7-9,再结合例,再结合例7-10完成频完成频率计的完整设计和硬件实现,并给出其测频时序波形及其分析。建议选实验电路模率计的完整设计和硬件实现,并给出其测频时序波形及其分析。建议选实验电路模式式5;8个数码管以个数码管以16进制形式显示测频输出;待测频率输入进制形式显示测频输出;待测频率输入FIN
42、由由clock0输入,输入,频率可选频率可选4Hz、256HZ、3Hz.50MHz等;等;1HZ测频控制信号测频控制信号CLK1HZ可由可由clock2输入输入(用跳线选用跳线选1Hz)。注意,这时。注意,这时8个数码管的测频显示值是个数码管的测频显示值是16进制的。进制的。(4) 实验内容实验内容2:参考例参考例3-22,将频率计改为,将频率计改为8位位10进制频率计,注意此设计电路进制频率计,注意此设计电路的计数器必须是的计数器必须是8个个4位的位的10进制计数器,而不是进制计数器,而不是1个。此外注意在测频速度上给予个。此外注意在测频速度上给予优化。优化。(5) 实验内容实验内容3:用用
43、LPM模块取代例模块取代例7-8和例和例7-9,再完成同样的设计任务。,再完成同样的设计任务。(6) 实验内容实验内容4:用嵌入式锁相环用嵌入式锁相环PLL的的LPM模块对实验系统的模块对实验系统的50MHz或或20MHz时时钟源分频率,钟源分频率,PLL的输出信号作为频率计的待测信号。注意的输出信号作为频率计的待测信号。注意PLL的输入时钟必须是的输入时钟必须是器件的专用时钟输入脚器件的专用时钟输入脚CLKpin16。(7) 实验报告:实验报告:给出频率计设计的完整实验报告。给出频率计设计的完整实验报告。【例【例7-7】LIBRARY IEEE; -测频控制电路测频控制电路USE IEEE.
44、STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FTCTRL IS PORT (CLKK : IN STD_LOGIC; - 1Hz CNT_EN : OUT STD_LOGIC; - 计数器时钟使能计数器时钟使能 RST_CNT : OUT STD_LOGIC; - 计数器清零计数器清零 Load : OUT STD_LOGIC ); - 输出锁存信号输出锁存信号 END FTCTRL;ARCHITECTURE behav OF FTCTRL IS SIGNAL Div2CLK : STD_LOGIC;BEGIN PROCESS( CL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 育苗知识与技能培训考核试卷
- 科研伦理审查与违规处理考核试卷
- 染整行业绿色制造与清洁生产考核试卷
- 染料在农业生物防治中的应用考核试卷
- 竞赛场地布局与设计考核试卷
- 批发商财务管理与风险控制考试考核试卷
- 租赁农机在农业机械化推广中的作用考核试卷
- 拼多多农产品电商平台活动策划代运营服务协议
- 海关关员岗位海关业务流程优化聘用合同
- 城市管理系统数据收集与合规利用协议
- 提高预应力锚索在圆砾层中一次性成孔合格率
- 业主物业纠纷 上诉状 空白
- 毕业设计(论文)-螺旋式榨汁机的设计
- 不规则动词的过去式及过去分词一览表
- 部编版道德与法治六年级下册第三单元《多样文明多彩生活》大单元作业设计
- 浙江省生态环境厅所属3家事业单位招聘考试真题2022
- 2023年护理考试-护理学(副高)历年考试真题试卷摘选答案
- 桥式起重机司机(中级)职业技能鉴定考试题库(职校培训)
- NCCN成人癌痛指南解读
- GB/T 1041-2008塑料压缩性能的测定
- 职业卫生监督课件
评论
0/150
提交评论