版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、3.1 4位加法计数器的位加法计数器的VHDL描述描述3.1.1 4位加法计数器位加法计数器【例【例3-1】ENTITY CNT4 IS PORT ( CLK : IN BIT ; Q : BUFFER INTEGER RANGE 15 DOWNTO 0 ) ; END ; ARCHITECTURE bhv OF CNT4 IS BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q = Q + 1 ; END IF; END PROCESS ;END bhv;3.1.2 整数、自然数和正整数数据类型整数、自然数和正整数数据类型整数常量
2、的书写方式示例如下:整数常量的书写方式示例如下:1 1 十进制整数十进制整数0 0 十进制整数十进制整数3535 十进制整数十进制整数1010E3E3 十进制整数十进制整数16#16#D9#D9# 十六进制整数十六进制整数8#720#8#720# 八进制整数八进制整数 2#11010010# 2#11010010# 二进制整数二进制整数3.1 4位加法计数器的位加法计数器的VHDL描述描述3.1.3 4位加法计数器的另一种表达方式位加法计数器的另一种表达方式【例【例3-2】 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; USE IEEE.STD_LO
3、GIC_UNSIGNED.ALL ; ENTITY CNT4 IS PORT ( CLK : IN STD_LOGIC ; Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ) ; END ; ARCHITECTURE bhv OF CNT4 IS SIGNAL Q1 : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q1 = Q1 + 1 ; END IF; Q XOTHERS=X) 为了简化表达才使用短语为了简化表达才使用短语“(“(OTHER
4、S=X)”OTHERS=X)”,这是一个省略赋这是一个省略赋值操作符,它可以在较多位的位矢量赋值中作省略化的赋值,值操作符,它可以在较多位的位矢量赋值中作省略化的赋值,如以下语句:如以下语句: SIGNAL d1 : STD_LOGIC_VECTOR(4 DOWNTO 0); VARIABLE a1 : STD_LOGIC_VECTOR(15 DOWNTO 0); . d1 0); a1 := (OTHERS=0) ;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 IS
5、PORT (CLK,RST,EN : IN STD_LOGIC; CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC ); END CNT10;ARCHITECTURE behav OF CNT10 ISBEGIN PROCESS(CLK, RST, EN) VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF RST = 1 THEN CQI := (OTHERS =0) ; -计数器复位计数器复位 ELSIF CLKEVENT AND CLK=1 THEN -检测时钟上
6、升沿检测时钟上升沿 IF EN = 1 THEN -检测是否允许计数检测是否允许计数 IF CQI 0);-大于大于9,计数值清零,计数值清零 END IF; END IF; END IF; IF CQI = 1001 THEN COUT = 1; -计数大于计数大于9,输出进位信号,输出进位信号 ELSE COUT = 0; END IF; CQ = CQI; -将计数值向端口输出将计数值向端口输出 END PROCESS;END behav;3.2.2 带有复位和时钟使能的带有复位和时钟使能的10进制计数器进制计数器【例【例3-3】 If 语句的嵌套语句的嵌套 另一个另一个 If 语句语句
7、图图3-3 例例3-3的的RTL电路电路图图3-4 例例3-3的工作时序的工作时序3.2.3 带有并行置位的移位寄存器带有并行置位的移位寄存器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SHFRT IS - 8位右移寄存器位右移寄存器 PORT ( CLK,LOAD : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0); QB : OUT STD_LOGIC );END SHFRT;ARCHITECTURE behav OF SHFRT IS BEGIN PROCESS (CLK, LOA
8、D) VARIABLE REG8 : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF CLKEVENT AND CLK = 1 THEN IF LOAD = 1 THEN - 装载新数据装载新数据 REG8 := DIN; ELSE REG8(6 DOWNTO 0) := REG8(7 DOWNTO 1); END IF; END IF; QB = REG8(0); END PROCESS; - 输出最低位输出最低位END behav;【例3-4】3.2.3 带有并行置位的移位寄存器带有并行置位的移位寄存器图图3-5 例例3-4的工作时序的工作时序(1 1)在第)
9、在第一个时钟到来时,一个时钟到来时,LOADLOAD恰为高电平恰为高电平(2 2)第二个时钟,以及以后的时钟信号都是移位时钟)第二个时钟,以及以后的时钟信号都是移位时钟(3 3)第二)第二个时钟后,个时钟后,QBQB输出了右移出的第输出了右移出的第2 2个位个位116.3 数据对象数据对象DATA OBJECTS6.3.1 常数(常数(CONSTANT)常数定义的一般表述:常数定义的一般表述: CONSTANT 常数名:数据类型常数名:数据类型 := 表达式表达式 ;6.3.2 变量(变量(VARIABLE)定义变量的一般表述:定义变量的一般表述: VARIABLE 变量名变量名 : 数据类型
10、数据类型 := 初始值初始值 ; 6.3.3 信号(信号(SIGNAL)定义格式:定义格式: SIGNAL 信号名:信号名: 数据类型数据类型 := 初始值初始值 ;3.3 数据对象数据对象DATA OBJECTS3.3.4 进程中的信号与变量赋值语句进程中的信号与变量赋值语句 信号信号SIGNAL 变量变量VARIABLE基本用法基本用法 用于作为电路中的信号连线用于作为电路中的信号连线 用于作为进程中局部数据存储单元用于作为进程中局部数据存储单元适用范围适用范围 在整个结构体内的任何地方都能适用在整个结构体内的任何地方都能适用只能在所定义的进程中使用只能在所定义的进程中使用行为特性行为特性
11、 在进程的最后才对信号赋值在进程的最后才对信号赋值 立即赋值立即赋值表表3-1 信号与变量赋值语句功能的比较信号与变量赋值语句功能的比较3.3.4 进程中的信号与变量赋值语句进程中的信号与变量赋值语句【例【例3-5】 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF3 IS PORT ( CLK,D1 : IN STD_LOGIC ; Q1 : OUT STD_LOGIC); END ; ARCHITECTURE bhv OF DFF3 IS BEGIN PROCESS (CLK) VARIABLE QQ : STD_LOGIC ;
12、 BEGIN IF CLKEVENT AND CLK = 1 THEN QQ := D1 ; END IF; Q1 = QQ; END PROCESS ; END ;3.3.4 进程中的信号与变量赋值语句进程中的信号与变量赋值语句【例例3-6】 . . . ARCHITECTURE bhv OF DFF3 IS SIGNAL QQ : STD_LOGIC ; BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK =1 THEN QQ = D1 ; END IF; Q1 = QQ; END PROCESS ; END ;3.3.4 进程中的信号与变量赋值语句
13、进程中的信号与变量赋值语句【例【例3-7】 SIGNAL in1,in2,e1, . : STD_LOGIC ; . PROCESS(in1,in2, . . .) VARIABLE c1,. . . : STD_LOGIC_VECTOR(3 DOWNTO 0) ; BEGIN IF in1 = 1 THEN . - 第第 1 行行 e1 = 1010 ; - 第第 2 行行 . IF in2 = 0 THEN . . . - 第第 15+n 行行 . c1 := 0011 ; - 第第 30+m 行行 . END IF; END PROCESS;【例【例3-8】 LIBRARY IEEE ;
14、 USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF3 IS PORT ( CLK,D1 : IN STD_LOGIC ; Q1 : OUT STD_LOGIC); END ; ARCHITECTURE bhv OF DFF3 IS SIGNAL A,B : STD_LOGIC ; BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN A = D1; B = A; Q1 =B; END IF; END PROCESS ; END ;3.3.4 进程中的信号与变量赋值语句进程中的信号与变量赋值语句【例【例3-9
15、】LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF3 IS PORT ( CLK,D1 : IN STD_LOGIC ; Q1 : OUT STD_LOGIC); END ; ARCHITECTURE bhv OF DFF3 IS BEGIN PROCESS (CLK) VARIABLE A,B : STD_LOGIC ; BEGIN IF CLKEVENT AND CLK =1 THEN A:= D1; B := A; Q1 = B; END IF; END PROCESS ; END ;3.3.4 进程中的信号与变量赋值语句进程
16、中的信号与变量赋值语句3.3.4 进程中的信号与变量赋值语句进程中的信号与变量赋值语句DQDQDQDQD1Q1D1Q1CLKCLK图图3-6例例3-7的的RTL电路电路 图图3-7 例例3-8的的RTL电路电路 【例【例3-10】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux4 IS PORT (i0, i1, i2, i3, a, b : IN STD_LOGIC; q : OUT STD_LOGIC);END mux4;ARCHITECTURE body_mux4 OF mux4 IS signal muxval : integer
17、range 7 downto 0; BEGIN process(i0,i1,i2,i3,a,b) begin muxval = 0;if (a = 1) then muxval = muxval + 1; end if;if (b = 1) then muxval q q q q null; end case; end process; END body_mux4;【例【例3-11】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux4 ISPORT (i0, i1, i2, i3, a, b : IN STD_LOGIC; q : OUT S
18、TD_LOGIC);END mux4;ARCHITECTURE body_mux4 OF mux4 IS BEGIN process(i0,i1,i2,i3,a,b) variable muxval : integer range 7 downto 0; begin muxval := 0;if (a = 1) then muxval := muxval + 1; end if;if (b = 1) then muxval := muxval + 2; end if; case muxval is when 0 = q q q q null; end case; end process; EN
19、D body_mux4;图图3-8 例例3-10的的RTL电路电路例3-11的RTL电路图图3-10 例例3-10的错误的工作时序的错误的工作时序图图3-11 例例3-11的正确工作时序的正确工作时序3.4 双向电路和三态控制电路设计双向电路和三态控制电路设计3.4.1 三态门设计三态门设计【例【例3-12】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY tri_s IS port ( enable : IN STD_LOGIC; datain : IN STD_LOGIC_VECTOR(7 DOWNTO 0); dataout : OUT ST
20、D_LOGIC_VECTOR(7 DOWNTO 0);END tri_s ; ARCHITECTURE bhv OF tri_s ISBEGINPROCESS(enable,datain) BEGIN IF enable = 1 THEN dataout = datain ; ELSE dataout =ZZZZZZZZ ; END IF ;END PROCESS;END bhv;图图3-12 8位位3态控制门电路态控制门电路3.4.2 双向端口设计双向端口设计【例【例3-13】library ieee;use ieee.std_logic_1164.all;entity tri_state
21、isport (control : in std_logic; in1: in std_logic_vector(7 downto 0); q : inout std_logic_vector(7 downto 0); x : out std_logic_vector(7 downto 0);end tri_state;architecture body_tri of tri_state isbeginprocess(control,q,in1)beginif (control = 1) then x = q ; else q = in1; x=ZZZZZZZZ ;end if;end pro
22、cess;end body_tri;3.4.2 双向端口设计双向端口设计图图3-13 例例3-13的仿真波形图的仿真波形图3.4.2 双向端口设计双向端口设计【例【例3-14】(以上部分同上例)(以上部分同上例)process(control,q,in1)beginif (control=1) then x = q ; q = ZZZZZZZZ; else q = in1; x =ZZZZZZZZ;end if;end process;end body_tri;图图3-14 例例3-14的仿真波形图的仿真波形图3.4.2 双向端口设计双向端口设计图图3-15 例例3-13的综合结果的综合结果3
23、.4.2 双向端口设计双向端口设计图图3-16 例例3-14的综合结果的综合结果3.4.3 三态总线电路设计三态总线电路设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY tristate2 IS port ( input3, input2, input1, input0 : IN STD_LOGIC_VECTOR (7 DOWNTO 0); enable : IN STD_LOGIC_VECTOR(1 DOWNTO 0); output : OUT STD_LOGIC_VECTOR (7 DOWNTO 0);END tristate2 ; AR
24、CHITECTURE multiple_drivers OF tristate2 IS BEGIN PROCESS(enable,input3, input2, input1, input0 ) BEGIN IF enable = 00 THEN output = input3 ; ELSE output Z); END IF ; IF enable = 01 THEN output = input2 ; ELSE output Z); END IF ; IF enable = 10 THEN output = input1 ; ELSE output Z); END IF ; IF enab
25、le = 11 THEN output = input0 ; ELSE output Z); END IF ; END PROCESS;END multiple_drivers;【例3-15】3.4.3 三态总线电路设计三态总线电路设计图图3-17 例例3-15错误的综合结果错误的综合结果3.4.3 三态总线电路设计三态总线电路设计library ieee;use ieee.std_logic_1164.all;entity tri isport (ctl : in std_logic_vector(1 downto 0); datain1, datain2,datain3, datain4
26、: in std_logic_vector(7 downto 0); q : out std_logic_vector(7 downto 0) );end tri;architecture body_tri of tri isbegin q Z) ; q Z) ; q Z) ; q Z) ;end body_tri;【例【例3-16】3.4.3 三态总线三态总线电路设计电路设计图图3-18 例例3-16正正确的综合结果确的综合结果3.4.4 顺序条件语句顺序条件语句IF语句语句(1)IF 条件句条件句 Then 顺序语句顺序语句 END IF ;(2)IF 条件句条件句 Then 顺序语句顺序
27、语句 ELSE 顺序语句顺序语句 END IF ;(3)IF 条件句条件句 Then IF 条件句条件句 Then . END IF END IF (4)IF 条件句条件句 Then 顺序语句顺序语句 ELSIF (5)顺序语句顺序语句 IF 条件句条件句 Then . ELSE 顺序语句顺序语句 END IF3.4.4 顺序条件语句顺序条件语句IF语句语句【例【例3-17】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY control_stmts IS PORT (a, b, c: IN BOOLEAN; output: OUT BOOL
28、EAN); END control_stmts; ARCHITECTURE example OF control_stmts IS BEGIN PROCESS (a, b, c) VARIABLE n: BOOLEAN; BEGIN IF a THEN n := b; ELSE n := c; END IF; output = n; END PROCESS; END example;3.4.4 顺序条件语句顺序条件语句IF语句语句【例【例3-18】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY coder IS PORT ( din : IN S
29、TD_LOGIC_VECTOR(0 TO 7); output : OUT STD_LOGIC_VECTOR(0 TO 2) );END coder;ARCHITECTURE behav OF coder IS SIGNAL SINT : STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN PROCESS (din) BEGIN IF (din(7)=0) THEN output = 000 ; ELSIF (din(6)=0) THEN output = 100 ; ELSIF (din(5)=0) THEN output = 010 ; ELSIF (din(4)=0)
30、 THEN output = 110 ; ELSIF (din(3)=0) THEN output = 001 ; ELSIF (din(2)=0) THEN output = 101 ; ELSIF (din(1)=0) THEN output = 011 ; ELSE output = 111 ; END IF ; END PROCESS ; END behav;表表3-2 8线线-3线优先编码器真值表线优先编码器真值表 输输 入入 输输 出出din0 din1 din2 din3 din4 din5 din6 din7 din0 din1 din2 din3 din4 din5 din6
31、 din7 output0 output1 output2 output0 output1 output2 x x x x x x x 0 0 0 0 x x x x x x x 0 0 0 0 x x x x x x 0 1 1 0 0 x x x x x x 0 1 1 0 0 x x x x x 0 1 1 0 1 0 x x x x x 0 1 1 0 1 0 x x x x 0 1 1 1 1 1 0 x x x x 0 1 1 1 1 1 0 x x x 0 1 1 1 1 0 0 1 x x x 0 1 1 1 1 0 0 1 x x 0 1 1 1 1 1 1 0 1 x x
32、0 1 1 1 1 1 1 0 1 x 0 1 1 1 1 1 1 0 1 1 x 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1注:表中的注:表中的“x”为任意,类似为任意,类似VHDL中的中的“”值。值。3.4.4 顺序条件语句顺序条件语句IF语句语句3.5 进程语句结构进程语句结构 3.5.1 进程语句格式进程语句格式PROCESS语句结构的一般表达格式如下语句结构的一般表达格式如下 进程标号进程标号: : PROCESS ( PROCESS ( 敏感信号参数表敏感信号参数表 ) ) ISIS 进程说明部分进
33、程说明部分 BEGINBEGIN 顺序描述语句顺序描述语句 END PROCESS END PROCESS 进程标号进程标号;3.5 进程语句结构进程语句结构 3.5.2 PROCESS 组成组成PROCESS语句结构语句结构进程说明进程说明顺序描述语句顺序描述语句敏感信号参数表敏感信号参数表信号赋值语句变量赋值语句进程启动语句子程序调用语句顺序描述语句进程跳出语句3.5.3 进程要点进程要点1. 1. PROCESSPROCESS为一无为一无限循环语句限循环语句2. 2. PROCESSPROCESS中的顺序语句具有明显的顺序中的顺序语句具有明显的顺序/ /并行运行双重性并行运行双重性3.
34、3. 进程必须由敏感信号的变化来启动进程必须由敏感信号的变化来启动4. 4. 进程语句本身是并行语句进程语句本身是并行语句3.5 进程语句结构进程语句结构 【例例3-19】ENTITY mul ISPORT (a, b, c, selx, sely : IN BIT; data_out : OUT BIT );END mul;ARCHITECTURE ex OF mul IS SIGNAL temp : BIT; BEGINp_a : PROCESS (a, b, selx) BEGIN IF (selx = 0) THEN temp = a; ELSE temp = b; END IF; E
35、ND PROCESS p_a; p_b: PROCESS(temp, c, sely) BEGIN IF (sely = 0) THEN data_out = temp; ELSE data_out = c; END IF; END PROCESS p_b;END ex;5. 5. 信号是多个进程间的通信线信号是多个进程间的通信线6. 6. 一个进程中只允许描述对应于一个时钟信号的同步时序逻辑一个进程中只允许描述对应于一个时钟信号的同步时序逻辑 图图3-19 例例3-19的综合结果的综合结果3.6 仿真仿真延时延时3.6.1 固有延时固有延时 z = x XOR y AFTER 5ns ; z
36、 = x XOR y ;3.6.2 传输延时传输延时 z = TRANSPORT x AFTER 10 ns;3.6.3 仿真仿真 x = 9 ;y = x ;z = x AFTER 5ns ;实实 验验 实验实验3-1 含异步清含异步清0和同步时钟使能的和同步时钟使能的4位加法计数器位加法计数器(1) 实验目的:实验目的:学习计数器的设计、仿真和硬件测试,进一学习计数器的设计、仿真和硬件测试,进一步熟悉步熟悉VHDL设计技术。设计技术。(2)实验原理:实验原理:图图3-20是一含计数使能、异步复位和计数值并是一含计数使能、异步复位和计数值并行预置功能的行预置功能的4位加法计数器,例位加法计数
37、器,例3-20是其是其VHDL描述。由图描述。由图3-20所示,图中间是所示,图中间是4位锁存器;位锁存器;rst是异步清信号,高电平是异步清信号,高电平有效;有效;clk是锁存信号;是锁存信号;D3:0是是4位数据输入端。当位数据输入端。当ENA为为1时,多路选择器将加时,多路选择器将加1器的输出值加载于锁存器的数据器的输出值加载于锁存器的数据端;当端;当ENA为为0时将时将“0000”加载于锁存器。加载于锁存器。实实 验验 图图3-20 含计数使能、异步复位和计数值并行预置功能含计数使能、异步复位和计数值并行预置功能4位加法计数器位加法计数器实验实验3-1 含异步清含异步清0和同步时钟使能
38、的和同步时钟使能的4位加法计数器位加法计数器多路选择器多路选择器4位锁存器位锁存器4位加法器(加位加法器(加1器)器)实实 验验 实验实验3-1 含异步清含异步清0和同步时钟使能的和同步时钟使能的4位加法计数器位加法计数器(3)实验内容)实验内容1:对例对例3-20进行编辑、编译、综合、适配、进行编辑、编译、综合、适配、仿真。说明例仿真。说明例3-20各语句的作用,详细描述示例的功能特点各语句的作用,详细描述示例的功能特点,给出其所有信号的时序仿真波形,给出其所有信号的时序仿真波形。【例【例3-20】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IE
39、EE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT4B IS PORT (CLK : IN STD_LOGIC; RST : IN STD_LOGIC; ENA : IN STD_LOGIC; OUTY : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC ); END CNT4B;ARCHITECTURE behav OF CNT4B IS SIGNAL CQI : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN P_REG: PROCESS(CLK, RST, ENA) BEGIN I
40、F RST = 1 THEN CQI = 0000; ELSIF CLKEVENT AND CLK = 1 THEN IF ENA = 1 THEN CQI = CQI + 1; ELSE CQI = 0000; END IF; END IF; OUTY = CQI ; END PROCESS P_REG ; COUT LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S NULL ; END CASE ; END PROCESS ; END ;实实 验验 实验实验3-2 7段数码显示译码器设计段数码显示译码器设计图图3-22
41、计数器和译码器连接电路的顶层文件原理图计数器和译码器连接电路的顶层文件原理图实实 验验 实验实验3-3 数控分频器的设计数控分频器的设计(1)实验目的:)实验目的:学习数控分频器的设计、分析和测试方法。学习数控分频器的设计、分析和测试方法。(2)实验原理:)实验原理:数控分频器的功能就是当在输入端给定不同输入数据时,数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比,例将对输入的时钟信号有不同的分频比,例3-22的数控分频器就是用计数值可并的数控分频器就是用计数值可并行预置的加法计数器设计完成的,方法是将计数溢出位与预置数加载输入信行预置的加法计数器设计完成的,
42、方法是将计数溢出位与预置数加载输入信号相接即可。号相接即可。(3)实验内容)实验内容1:根据图根据图3-23的波形提示,分析例的波形提示,分析例3-22中的各语句功能、中的各语句功能、设计原理、逻辑功能,并详述进程设计原理、逻辑功能,并详述进程P_REG和和P_DIV的作用。的作用。图图3-23 当给出不同输入值当给出不同输入值D时,时,FOUT输出不同频率(输出不同频率(CLK周期周期=50ns)【例【例3-22】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY PULSE IS P
43、ORT ( CLK : IN STD_LOGIC; D : IN STD_LOGIC_VECTOR(7 DOWNTO 0); FOUT : OUT STD_LOGIC );END;ARCHITECTURE one OF PULSE IS SIGNAL FULL : STD_LOGIC; BEGIN P_REG: PROCESS(CLK) VARIABLE CNT8 : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF CLKEVENT AND CLK = 1 THEN IF CNT8 = 11111111 THEN CNT8 := D; -当当CNT8计数计满时,输
44、入数据计数计满时,输入数据D被同步预置给计数器被同步预置给计数器CNT8 FULL = 1; -同时使溢出标志信号同时使溢出标志信号FULL输出为高电平输出为高电平 ELSE CNT8 := CNT8 + 1; -否则继续作加否则继续作加1计数计数 FULL = 0; -且输出溢出标志信号且输出溢出标志信号FULL为低电平为低电平 END IF; END IF; END PROCESS P_REG ; P_DIV: PROCESS(FULL) VARIABLE CNT2 : STD_LOGIC; BEGIN IF FULLEVENT AND FULL = 1 THEN CNT2 := NOT
45、CNT2; -如果溢出标志信号如果溢出标志信号FULL为高电平,为高电平,D触发器输出取反触发器输出取反 IF CNT2 = 1 THEN FOUT = 1; ELSE FOUT = 0; END IF; END IF; END PROCESS P_DIV ;END;实实 验验 实验实验3-4 4位十进制频率计位十进制频率计设计设计(1)实验目的:)实验目的:设计设计4位十进制频率计,学习较复杂的数字系统设计方法。位十进制频率计,学习较复杂的数字系统设计方法。(2)实验原理:)实验原理:对于频率测试,根据频率的定义和频率测量的基本原理,对于频率测试,根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为测定信号的频率必须有一个脉宽为1秒的输入信号脉冲计数允许的信号;秒的输入信号脉冲计数允许的信号;1秒秒计数结束后,计数值锁入锁存器的锁存信号并为下一测频计数周期作准备的计数结束后,计数值锁入锁存器的锁存信号并为下一测频计数周期作准备的计数器清计数器清0信号。这信号。这3个信号可以由一个测频控制信号发生器产生,即图个信号可以由一个测频控制信号发生器产生,即图3-24中中的的TESTC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信息通信业务员安全检查表
- 药店药品信息核验操作规范
- 药店药品质量培训计划
- 企业碳足迹核算管理技术方案
- 某制药厂洁净室管理准则
- 2027届温州市苍南县中考考前最后一卷物理试卷含解析
- 销售团队绩效考核办法
- 职称日语易错点专项模拟考试试卷及答案
- CN119494314A 一种用于先进封装工艺无源元器件的可缩放模型建模方法 (杭州电子科技大学)
- CN119494250A 一种多孔结构产生方法及其流注仿真方法 (中国石油大学(华东))
- 2026年皖豫天一大联考高三10月英语试题(含答案)
- 高标准农田建设项目初步设计技术规程(NYT 5490-2026 )
- T∕CCEAS008-2026 建设工程造价咨询成果文件质量标准
- 第10课《养成遵纪守法好习惯》第1框《增强遵纪守法意识》-【中职思政】《职业道法与法治》课件(高教版2023基础模块)
- 肝性脑病的早期识别与护理干预
- 2025中远海运集团招聘笔试历年常考点试题专练附带答案详解试卷2套
- 违禁物品X射线图像与识别课件
- 冷库培训课件
- 《Multisim14电子系统仿真与设计》课件(上)
- 监理全员安全生产责任制内容
- 结构家庭治疗案例介入方法与策略
评论
0/150
提交评论