版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验要求: nLPM定制方法实现。 n信号数字值存储在ROM中,可以是64个或128个,位 长8位。 n产生的信号可以是正弦波或方波、三角波、锯齿波等, 自选。 n用SignalTap逻辑分析。 实验六(一)实验六(一) 信号发生器信号发生器 1. LPM模块应用模块应用设计原理设计原理 正弦信号发生器结构框图正弦信号发生器结构框图 f = f0 /64 举例:正弦信号发生器 2. 定制定制LPM_ROM初始化数据文件初始化数据文件 建立建立.mif格式文件格式文件 WIDTH = 8; DEPTH = 64; ADDRESS_RADIX = HEX; DATA_RADIX = HEX; CO
2、NTENT BEGIN 0 : FF; 1 : FE; 2 : FC; 3 : F9; 4 : F5; (数据略去)(数据略去) 3D : FC; 3E : FE; 3F : FF; END; #include #include math.h main() int i;float s; for(i=0;i sin_rom.mif; 建立建立.hex格式文件格式文件 将波形数据填入将波形数据填入mif文件表中文件表中 ASM格式建格式建hex文件文件 3. 定制定制LPM_ROM元件元件 定制新的宏功能块定制新的宏功能块 LPM宏功能块设定宏功能块设定 选择选择data_rom模块数据线和地址线
3、宽度模块数据线和地址线宽度 选择地址锁存信号选择地址锁存信号inclock 调入调入ROM初始化数据文件并选择在系统读写功能初始化数据文件并选择在系统读写功能 LPM_ROM设计完成设计完成 修改后的用于例化的波形数据修改后的用于例化的波形数据ROM文件:文件:data_rom.vhd LIBRARY ieee; USE ieee.std_logic_1164.all; LIBRARY altera_mf; USE altera_mf.altera_mf_components.all; -使用宏功能库中的所有元件使用宏功能库中的所有元件 ENTITY data_rom IS PORT (add
4、ress: IN STD_LOGIC_VECTOR (5 DOWNTO 0); inclock: IN STD_LOGIC ; q: OUT STD_LOGIC_VECTOR (7 DOWNTO 0) ); END data_rom; ARCHITECTURE SYN OF data_rom IS SIGNAL sub_wire0: STD_LOGIC_VECTOR (7 DOWNTO 0); COMPONENT altsyncram -例化例化altsyncram元件,调用了元件,调用了LPM模块模块altsyncram GENERIC ( -参数传递语句参数传递语句 intended_de
5、vice_family: STRING; -类属参量数据类型定义类属参量数据类型定义 width_a: NATURAL; widthad_a: NATURAL; numwords_a: NATURAL; operation_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
6、_LOGIC ; -altsyncram元件接口声明元件接口声明 address_a: IN STD_LOGIC_VECTOR (5 DOWNTO 0); q_a: OUT STD_LOGIC_VECTOR (7 DOWNTO 0) ); END COMPONENT; X康芯科技 康芯科技 接下页接下页 BEGIN q Cyclone, -参数传递映射参数传递映射 width_a = 8, -数据线宽度数据线宽度8 widthad_a = 6, -地址线宽度地址线宽度6 numwords_a = 64, -数据数量数据数量64 operation_mode = ROM, -LPM模式模式ROM
7、 outdata_reg_a = UNREGISTERED, -输出无锁存输出无锁存 address_aclr_a = NONE, -无异步地址清无异步地址清0 outdata_aclr_a = NONE, -无输出锁存异步清无输出锁存异步清0 width_byteena_a = 1, - byteena_a输入口宽度输入口宽度1 init_file = ./dataHEX/SDATA.hex, -ROM初始化数据文件,此处已修改过初始化数据文件,此处已修改过 lpm_hint = ENABLE_RUNTIME_MOD=YES, INSTANCE_NAME=NONE, lpm_type = a
8、ltsyncram ) -LPM类型类型 PORT MAP ( clock0 = inclock, address_a = address,q_a = sub_wire0 ); END SYN; X康芯科技 康芯科技 4.正弦信号发生器正弦信号发生器顶层设计顶层设计 LIBRARY IEEE; -正弦信号发生器源文件正弦信号发生器源文件 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY SINGT IS PORT ( CLK : IN STD_LOGIC; -信号源时钟信号源时钟 DOUT : OUT ST
9、D_LOGIC_VECTOR (7 DOWNTO 0) );-8位波形数据输出位波形数据输出 END; ARCHITECTURE DACC OF SINGT IS COMPONENT 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 COMPONEN
10、T; SIGNAL Q1 : STD_LOGIC_VECTOR (5 DOWNTO 0); -设定内部节点作为地址计数器设定内部节点作为地址计数器 BEGIN PROCESS(CLK ) -LPM_ROM地址发生器进程地址发生器进程 BEGIN IF CLKEVENT AND CLK = 1 THEN Q1Q1, q = DOUT,inclock=CLK);-例化例化 END; 仿真波形输出仿真波形输出 嵌入式逻辑分析仪获得的波形嵌入式逻辑分析仪获得的波形 采用流水线技术完成高速数字相关器设计。具体 要求如下: n输入为两路16位串行序列; n先设计并行16位数字相关器,估计最大延时, 并计算
11、可能运行的最高频率; n使用流水线技术在1位数字相关器的输入、输 出及每一级组合逻辑的结果处加入流水线寄 存器,改善其运行速度,估计最大延时,并 计算可能运行的最高频率; 实验六(二)实验六(二) 数字相关器数字相关器 速度优化方法速度优化方法 1. 流水线设计流水线设计 图图9-5 未使用流水线未使用流水线 图图9-6 使用流水线使用流水线 图图9-7 流水线工作图示流水线工作图示 LIBRARY ieee; USE ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all;
12、ENTITY adder4 IS PORT(clk : in std_logic; a0,a1,a2,a3 : in std_logic_vector(7 downto 0); yout : out std_logic_vector(9 downto 0); END adder4; ARCHITECTURE normal_arch OF adder4 IS signal t0,t1,t2,t3 : std_logic_vector(7 downto 0); signal addtmp0,addtmp1 : std_logic_vector(8 downto 0); BEGIN process(
13、clk) begin if(clkevent and clk=1) then t0 = a0; t1 = a1; t2 = a2; t3 = a3; end if; end process; addtmp0 = 0 addtmp1 = 0 process(clk) begin if(clkevent and clk = 1) then yout T2 T2 Q Q Q Q Q Q LIBRARY ieee; USE ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; EN
14、TITY pipeadd IS PORT(clk : in std_logic; a0,a1,a2,a3 : in std_logic_vector(7 downto 0); yout : out std_logic_vector(9 downto 0); END pipeadd; ARCHITECTURE pipelining_arch OF pipeadd IS signal t0,t1,t2,t3 : std_logic_vector(7 downto 0); signal addtmp0,addtmp1 : std_logic_vector(8 downto 0); BEGIN pro
15、cess(clk) begin if(clkevent and clk=1) then t0 = a0; t1 = a1; t2 = a2; t3 = a3; end if; end process; process(clk) begin if(clkevent and clk = 1) then addtmp0 = 0 addtmp1 = 0 yout = 0 end if; end process; END pipelining_arch; X康芯科技 康芯科技 2. 寄寄 存存 器器 配配 平平 图图9-9 寄存器配平的结构寄存器配平的结构 延时块 (组合逻辑1) Q Q SET CLR
16、 D 触发器 Q Q SET CLR D 触发器 clk Q Q SET CLR D 触发器 延时块 (组合逻辑2) t1t2 t1t2 t1 t1t2 t2 Q Q Q Q Q Q 延时块 Td2 延时最长 Td1 延时块 Td3 输入输出 关键路径 延时最长 Td1 延时块 Td2 延时块 Td3 3. 关键路径法关键路径法 图图9-10 关键路径示意关键路径示意 优化设置与时序分析优化设置与时序分析 1. Settings设置设置 1. 修改工程设置。修改工程设置。 2. 指定指定HDL设置。设置。 3. 指定时序设置。指定时序设置。 4. 指定编译器设置。指定编译器设置。 5. 指定仿
17、真器设置。指定仿真器设置。 6. 指定软件构建设置。指定软件构建设置。 7. 指定指定 HardCopy 时序设置。时序设置。 2. Analysis USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY SINGT IS PORT ( CLK : IN STD_LOGIC; DOUT : OUT INTEGER RANGE 255 DOWNTO 0 ); END; ARCHITECTURE DACC OF SINGT IS SIGNAL Q : INTEGER RANGE 63 DOWNTO 0 ; SIGN
18、AL D : INTEGER RANGE 255 DOWNTO 0 ; BEGIN PROCESS(CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN IF Q 63 THEN Q = Q + 1; ELSE Q D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D NULL ; END CASE; END PROCESS; DOUT = D ; END; X康芯科技
19、 康芯科技 图图9-18 未用乘积项前的编译报告未用乘积项前的编译报告 图图9-19 针对工程选择针对工程选择Locate in Assignment Editor 图图9-20 选用乘积项逻辑优化选用乘积项逻辑优化 图图9-21在在floorplan中可以看到使用了中可以看到使用了32个个ESB 图图9-22使用了乘积项的编译报告使用了乘积项的编译报告 8. Slow Slew Rate设置设置 图图9-23 Slow Slew Rate选择选择 9. LogicLock优化技术优化技术 QuartusII提供了一种非常优秀的优化技术,即逻辑锁定技提供了一种非常优秀的优化技术,即逻辑锁定技
20、术(术(LogicLock)。)。 QuartusII支持逻辑锁定技术的支持逻辑锁定技术的FPGA器件系列有器件系列有APEX20K、 APEXII、Excalibur、Cyclone和和Stratix等。等。 n由一个4位十进制数码管(含小数点)显示 结果; n测量范围为1Hz9999KHz; n能自动根据7位十进制的结果,自动选择有 效数据的高4位进行动态显示(即量程自动 转换),小数点表示是千位,即KHz; n为检测设计正确与否,应将第2时钟通过 PLL和手控分频器产生宽范围的多个频率来 测试自动换档频率计功能。 实验六(三)实验六(三) 自动换挡频率计自动换挡频率计 频率计频率计原理:
21、原理:测定信号的频率必须有一个脉宽为测定信号的频率必须有一个脉宽为1秒的输入信号脉冲计数允许的秒的输入信号脉冲计数允许的 信号;信号;1秒计数结束后,计数值被锁入锁存器,计数器清秒计数结束后,计数值被锁入锁存器,计数器清0,为下一测频计数,为下一测频计数 周期作好准备。测频控制信号可以由一个独立的发生器来产生,即图周期作好准备。测频控制信号可以由一个独立的发生器来产生,即图7-34中中 的的FTCTRL。 设计要求是:设计要求是:FTCTRL的计数使能信号的计数使能信号CNT_EN能产生一个能产生一个1秒脉宽的周秒脉宽的周 期信号,并对频率计中的期信号,并对频率计中的32位二进制计数器位二进制
22、计数器COUNTER32B(图(图7-34)的)的 ENABL使能端进行同步控制。当使能端进行同步控制。当CNT_EN高电平时允许计数;低电平时停高电平时允许计数;低电平时停 止计数,并保持其所计的脉冲数。在停止计数期间,首先需要一个锁存信号止计数,并保持其所计的脉冲数。在停止计数期间,首先需要一个锁存信号 LOAD的上跳沿将计数器在前的上跳沿将计数器在前1秒钟的计数值锁存进锁存器秒钟的计数值锁存进锁存器REG32B中,并中,并 由外部的由外部的16进制进制7段译码器译出,显示计数值。设置锁存器的好处是数据显段译码器译出,显示计数值。设置锁存器的好处是数据显 示稳定,不会由于周期性的清示稳定,
23、不会由于周期性的清0信号而不断闪烁。锁存信号后,必须有一清信号而不断闪烁。锁存信号后,必须有一清0 信号信号RST_CNT对计数器进行清零,为下对计数器进行清零,为下1秒的计数操作作准备。秒的计数操作作准备。 8位位16进制频率计设计举例进制频率计设计举例 图图7-34 频率计电路框图频率计电路框图 LIBRARY IEEE; -测频控制电路测频控制电路 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY FTCTRL IS PORT (CLKK : IN STD_LOGIC; - 1Hz CNT_EN :
24、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( CLKK ) BEGIN IF CLKKEVENT AND CLKK = 1 THEN - 1Hz时钟时钟2分频分频 Div2CLK = NOT Div2CLK; END IF; END PROCESS; P
25、ROCESS (CLKK, Div2CLK) BEGIN IF CLKK=0 AND Div2CLK=0 THEN RST_CNT=1;-产生计数器清零信号产生计数器清零信号 ELSE RST_CNT = 0; END IF; END PROCESS; Load = NOT Div2CLK; CNT_EN = Div2CLK; END behav; X康芯科技 康芯科技 LIBRARY IEEE; -32位锁存器位锁存器 USE IEEE.STD_LOGIC_1164.ALL; ENTITY REG32B IS PORT ( LK : IN STD_LOGIC; DIN : IN STD_LO
26、GIC_VECTOR(31 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END REG32B; ARCHITECTURE behav OF REG32B IS BEGIN PROCESS(LK, DIN) BEGIN IF LKEVENT AND LK = 1 THEN DOUT = DIN; END IF; END PROCESS; END behav; LIBRARY IEEE; -32位计数器位计数器 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;
27、 ENTITY COUNTER32B IS PORT (FIN : IN STD_LOGIC; - 时钟信号时钟信号 CLR : IN STD_LOGIC; - 清零信号清零信号 ENABL : IN STD_LOGIC; - 计数使能信号计数使能信号 DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); - 计数结果计数结果 END COUNTER32B; ARCHITECTURE behav OF COUNTER32B IS SIGNAL CQI : STD_LOGIC_VECTOR(31 DOWNTO 0); BEGIN PROCESS(FIN, CLR,
28、ENABL) BEGIN IF CLR = 1 THEN CQI 0); - 清零清零 ELSIF FINEVENT AND FIN = 1 THEN IF ENABL = 1 THEN CQI = CQI + 1; END IF; END IF; END PROCESS; DOUT CLK1HZ,CNT_EN=TSTEN1, RST_CNT =CLR_CNT1,Load =Load1); U2 : REG32B PORT MAP( LK = Load1, DIN=DTO1, DOUT = DOUT); U3 : COUNTER32B PORT MAP( FIN = FSIN, CLR = C
29、LR_CNT1, ENABL = TSTEN1, DOUT=DTO1 ); END struc; X康芯科技 康芯科技 图图7-33 频率计测频控制器频率计测频控制器FTCTRL测控时序图测控时序图 实验六(四)直接数字式频率合成器实验六(四)直接数字式频率合成器 DDSDDS设计设计 图图12-41 DDS基本结构基本结构 图图12-42 相位累加器位宽和采样点关系相位累加器位宽和采样点关系 接下页接下页 LIBRARY IEEE; -DDS顶层设计顶层设计 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTIT
30、Y DDS_VHDL IS PORT ( CLK : IN STD_LOGIC; FWORD : IN STD_LOGIC_VECTOR(7 DOWNTO 0); -频率控制字频率控制字 PWORD : IN STD_LOGIC_VECTOR(7 DOWNTO 0); -相位控制字相位控制字 FOUT : OUT STD_LOGIC_VECTOR(9 DOWNTO 0) ); END; ARCHITECTURE one OF DDS_VHDL IS COMPONENT REG32B PORT ( LOAD : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(31
31、 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END COMPONENT; COMPONENT REG10B X康芯科技 康芯科技 PORT ( LOAD : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(9 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(9 DOWNTO 0) ); END COMPONENT; COMPONENT ADDER32B PORT ( A : IN STD_LOGIC_VECTOR(31 DOWNTO 0); B : IN STD_L
32、OGIC_VECTOR(31 DOWNTO 0); S : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END COMPONENT; COMPONENT ADDER10B PORT ( A : IN STD_LOGIC_VECTOR(9 DOWNTO 0); B : IN STD_LOGIC_VECTOR(9 DOWNTO 0); S : OUT STD_LOGIC_VECTOR(9 DOWNTO 0) ); END COMPONENT; COMPONENT SIN_ROM PORT ( address : IN STD_LOGIC_VECTOR(9 DOWNTO
33、 0); inclock: IN STD_LOGIC ; 接下页接下页 X康芯科技 康芯科技 q: OUT STD_LOGIC_VECTOR(9 DOWNTO 0); END COMPONENT; SIGNAL F32B,D32B,DIN32B : STD_LOGIC_VECTOR(31 DOWNTO 0); SIGNAL P10B,LIN10B,SIN10B : STD_LOGIC_VECTOR( 9 DOWNTO 0); BEGIN F32B(27 DOWNTO 20)=FWORD ; F32B(31 DOWNTO 28)=0000; P10B( 1 DOWNTO 0)=00 ; F32B
34、(19 DOWNTO 0)=00000000000000000000 ; P10B( 9 DOWNTO 2)F32B,B=D32B, S=DIN32B ); u2 : REG32B PORT MAP( DOUT=D32B,DIN= DIN32B, LOAD=CLK ); u3 : SIN_ROM PORT MAP( address=SIN10B, q=FOUT, inclock=CLK ); u4 : ADDER10B PORT MAP( A=P10B,B=D32B(31 DOWNTO 22),S=LIN10B ); u5 : REG10B PORT MAP( DOUT=SIN10B,DIN=
35、LIN10B, LOAD=CLK ); END; X康芯科技 康芯科技 LIBRARY IEEE; -32位加法器模块位加法器模块 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ADDER32B IS PORT (A,B : IN STD_LOGIC_VECTOR(31 DOWNTO 0); S : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END ADDER32B; ARCHITECTURE behav OF ADDER32B IS BEGIN S = A + B; E
36、ND behav; LIBRARY IEEE; -32位寄存器模块位寄存器模块 USE IEEE.STD_LOGIC_1164.ALL; ENTITY REG32B IS PORT ( Load : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END REG32B; ARCHITECTURE behav OF REG32B IS BEGIN PROCESS(Load, DIN) BEGIN IF LoadEVENT AND Load = 1 T
37、HEN DOUT = DIN; END IF; END PRO rom_data.mif 10位正弦波数据文件,读者可用位正弦波数据文件,读者可用MATLAB/DSP Builder生成生成 WIDTH=10; DEPTH=1024; ADDRESS_RADIX=DEC; DATA_RADIX=DEC; CONTENT BEGIN 0 : 512; 1 : 515; 2 : 518; 3 : 521; 4 : 524; 5 : 527; 6 : 530; 7 : 533; 8 : 537; 9 : 540; 10 : 543; 11 : 546; 12 : 549; 13 : 552; 14
38、: 555; . . . . . .(略去部分数据)(略去部分数据) 1018 : 493; 1019 : 496; 1020 : 499; 1021 : 502; 1022 : 505; 1023 : 508; END; LIBRARY IEEE; -10位加法器模块位加法器模块 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ADDER10B IS PORT (A,B : IN STD_LOGIC_VECTOR(9 DOWNTO 0); S : OUT STD_LOGIC_VECTOR(9 DOWNTO 0) ); END ADDER10B; AR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 甘肃省华亭市电力电缆作业人员理论考试参考题库-含答案
- 静脉损伤考核试题及答案展示
- 医院爱牙日专项试题及答案大全
- 第1课 中华文明的起源与早期国家 授课课件(共24张)
- 彩云杯竞赛试题及参考答案
- 2026中国广电盘锦市分公司招6人考试备考试题及答案详解
- 2026浙江嘉兴海宁市第四人民医院招聘笔试备考题库及答案详解
- AI面试综合题目与答案示例
- 2026年天峻县网格员招聘笔试备考题库及答案解析
- 2026年宜丰县网格员招聘考试备考题库及答案解析
- 2026年射频消融术试题及答案
- 2026年云南中考(语文)考试试卷真题带答案
- FDE模式行业观察与实践
- 2026年浙江(中考)英语考试题库(含答案)
- 2026年党建知识竞赛题库(完整版含答案)
- HL1ST601-2023 钢结构焊接连接节点通 用图B册 (Q355钢)
- APQC跨行业流程分类框架 (8.0 版)( 中文版-2026年4月)
- 2025年劳动人事争议仲裁员培训考试试题及答案
- 工程伦理第2章工程中的风险、安全与责任
- LY/T 2456-2015桉树丰产林经营技术规程
- JJG 949-2011经纬仪检定装置
评论
0/150
提交评论