含异步清零和同步加载的十进制加法计数器的设计
- 格式:doc
- 大小:44.50 KB
- 文档页数:3
同步和异步十进制加法计数器的设计全文共四篇示例,供读者参考第一篇示例:同步和异步是计算机系统中常用的两种通信机制,它们在十进制加法计数器设计中起到了至关重要的作用。
在这篇文章中,我们将深入探讨同步和异步十进制加法计数器的设计原理及应用。
让我们来了解一下十进制加法计数器的基本概念。
十进制加法计数器是一种用于执行十进制数字相加的数字电路。
它通常包含多个十进制加法器单元,每个单元用于对应一个十进制数位的运算。
在进行加法操作时,每个数位上的数字相加后,可能会产生进位,这就需要进位传递的机制来满足计数器的正确操作。
在同步十进制加法计数器中,每个十进制加法器单元都与一个时钟信号同步,所有的操作都按照时钟信号的节拍来进行。
具体来说,当一个数位的加法计算完成后,会将结果通过进位端口传递给下一个数位的加法器单元,这样就能确保每个数位的计算都是按照特定的顺序来进行的。
同步十进制加法计数器的设计较为简单,在时序控制方面有很好的可控性,但由于需要受限于时钟信号的频率,其速度受到了一定的限制。
在实际应用中,根据不同的需求可以选择同步或异步十进制加法计数器。
如果对计数器的速度要求较高,并且能够承受一定的设计复杂度,那么可以选择异步设计。
如果对计数器的稳定性和可控性要求较高,而速度不是首要考虑因素,那么同步设计可能更为适合。
无论是同步还是异步,十进制加法计数器的设计都需要考虑诸多因素,如延迟、数据传输、进位控制等。
通过合理的设计和优化,可以实现一个高性能和稳定的十进制加法计数器,在数字电路、计算机硬件等领域中有着广泛的应用。
同步和异步十进制加法计数器的设计都有其各自的优势和劣势,需要根据具体的需求来选择合适的设计方案。
通过不断的研究和实践,我们可以进一步完善十进制加法计数器的设计,为计算机系统的性能提升和应用拓展做出贡献。
希望这篇文章能够为大家提供一些启发和帮助,让我们共同探索数字电路设计的奥秘,开拓计算机科学的新境界。
第二篇示例:同步和异步计数器都是数字电路中常见的设计,用于实现特定的计数功能。
设计含异步清零和同步时钟使能的加法计数器附表1:广州大学学生实验报告开课学院及实验室:物理与电子工程学院-电子楼317室2016年4 月21 日学院物电年级、专业、班姓名Jason.P 学号实验课程名称EDA技术实验成绩实验项目名称设计含异步清零和同步时钟使能的加法计数器指导教师一、实验目的:学习计数器的设计、仿真和硬件测试,进一步熟悉VerilogHDL设计技术。
二、实验内容:含异步清0和同步时钟使能的4位加法器(1)实验原理:上图是一含计数使能、异步复位的4位加法计数器,书中例3-15是其VerilogHDL描述。
由图2-1所示,图中间是4位锁存器;rst是异步清信号,高电平有效;clk是锁存信号;D[3:0]是4位数据输入端。
当ENA为‘1’时,多路选择器将加1器的输出值加载于锁存器的数据端;当ENA为‘0’时保持上一次的输出。
(2)实验步骤:(2)-1按照发给大家的文件“Quartus II 9.0基本设计流程-VerilogHDL.ppt”所讲述的步骤,在QuartusII上对例3-15(第四版)(第五版p124例5-15)进行编辑、编译、综合、适配、仿真。
说明例2-1各语句的作用,详细描述示例的功能特点,给出其所有信号的时序仿真波形。
(2)-2引脚锁定以及硬件下载测试:若目标器件是EP3C40Q240C8N,建议选实验电路模式5,用键8(PIO7)控制RST;用键7控制ENA;计数溢出COUT接发光管D8;OUTY是计数输出接数码1;时钟CLK接clock2,通过跳线选择4Hz信号。
引脚锁定后进行编译、下载和硬件测试实验。
将实验过程和实验结果写进实验报告。
三、实验HDL描述:module CNT10(CLK,RST,EN,LOAD,COUT,DOUT,DATA)input CLK,EN,RST,LOAD; //定义输入信号input[3:0] DATA; //定义4位的并行加载数据DATAoutput[3:0] DOUT; //定义4位的计数输出数据DOUToutput COUT; //定义进位输出信号COUTreg[3:0] Q1; //定义4位的寄存器型中间变量Q1reg COUT;assign DOUT = Q1; //将内部寄存器的计数结果输出至DOUTalways @(posedge CLK or negedge RST) //时序过程beginif(!RST) Q1 <= 0; //RST=0时,对内部寄存器单元异步清0else if(EN)begin //同步使能EN=1,则允许加载或计数if(!LOAD) Q1 <= DATA; //当LOAD=0,向内部寄存器加载数据else if(Q1<9) Q1 <=Q1+1; //当Q1小于9时,允许累加else Q1 <=4'b0000; //否则一个时钟后清零返回初值endendalways @(Q1) //组合过程if (Q1==4'h9) COUT = 1'b1;else COUT = 1'b0;endmodule四、仿真结果:七、实验心得:通过本次实验,使我进一步熟悉了QuartusII的VerilogHDL文本设计流程以及电路仿真和硬件测试。
同步十进制加法计数器、异步十进制加法计数器---数字电路教案课题:同步十进制加法计数器、异步十进制加法计数器教学目的:1.掌握十进制加法计数器的工作原理并会画波形图.2.计数器容量的扩展3.基本应用(考题3307).教学重点:工作原理并会画波形图教学难点:基本应用.教学方法:采用多媒体教学.教学时间:2学时教学内容:四.十进制计数器1、同步十进制加法计数器2、异步十进制加法计数器五、计数器容量的扩展异步计数器一般没有专门的进位信号输出端,通常可以用本级的高位输出信号驱动下一级计数器计数,即采用串行进位方式来扩展容量。
考题3307 多地单键控制开关电路•四.简述电路的工作原理•接通电源瞬间,C1 R2的微分作用使电路复位,Q1 Q2输出都为0,VT截止,K不吸合,EL不亮,此时Cr处计数状态.当按下任一开关时,CP得到触发脉冲,Q1输出1,VT导通,K得电吸合,EL发光.Q2仍为0,使C4017仍为计数状态.再按开关,Q1输出0,VT截止,K释放使EL 灯灭,Q2输出1,使Cr为1,CD4017再次复位,Q1 Q2为0,电路又回到计数状态,这样使Q1在CP端得到触发信号时,每次都翻转,因此得到“按任一灯亮,再按则灭”的结果。
课题:寄存器教学目的:1.了解寄存器的作用及其工作原理.2.了解集成寄存器74LS164的功能.教学重点:工作原理.教学难点:工作原理.教学方法:采用多媒体教学.教学时间:2学时教学内容:§1-6 寄存器在数字电路中,用来存放二进制数据或代码的电路称为寄存器。
寄存器是由具有存储功能的触发器组合起来构成的。
一个触发器可以存储1位二进制代码,存放n位二进制代码的寄存器,需用n个触发器来构成。
按照功能的不同,可将寄存器分为基本寄存器和移位寄存器两大类。
基本寄存器只能并行送入数据,需要时也只能并行输出。
移位寄存器中的数据可以在移位脉冲作用下依次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,串行输入、并行输出,十分灵活,用途也很广。
同步和异步十进制加法计数器的设计1. 引言1.1 引言在计算机科学领域,同步和异步十进制加法计数器是常见的设计。
它们可用于对数字进行加法运算,是数字逻辑电路中的重要组成部分。
同步计数器和异步计数器的设计原理和工作方式有所不同,各有优劣势。
同步十进制加法计数器是一种通过时钟信号同步运行的计数器,采用同步电路设计。
它的设计目的是确保每一位数字在同一时刻进行加法运算,以保证正确性和稳定性。
同步计数器具有较高的精确度和可靠性,但需要更多的电路元件和较复杂的控制逻辑。
与之相反,异步十进制加法计数器采用异步电路设计,每一位数字都根据前一位数字的状态自主运行。
这种设计方式减少了电路复杂度和功耗,但可能会造成计算不稳定或出错的情况。
在选择计数器设计时需要根据实际需求和应用场景进行权衡。
通过对同步和异步十进制加法计数器的设计进行比较分析,可以更好地理解它们的优劣势和适用范围。
结合实际的应用案例,可以更好地理解它们在数字逻辑电路中的作用和价值。
2. 正文2.1 设计目的在设计同步和异步十进制加法计数器时,我们的主要目的是实现一个能够对十进制数字进行加法运算的电路。
具体来说,我们希望设计一个可以接受两个十进制数字作为输入,并输出它们的和的计数器。
设计的目的是为了实现数字的加法计算,并且保证计数器的正确性、稳定性和效率。
在设计过程中,我们需要考虑到各种可能的输入情况,例如进位、溢出等,并确保计数器能够正确处理这些情况。
我们也希望设计出一个简洁、高效的电路,以确保在实际应用中能够满足性能要求。
我们也需要考虑到电路的功耗和面积,以确保设计的成本和资源利用是否合理。
设计同步和异步十进制加法计数器的目的是为了实现对十进制数字的加法运算,保证计数器的正确性和性能,并在满足需求的前提下尽可能地降低成本和资源消耗。
2.2 同步十进制加法计数器的设计同步十进制加法计数器是一种利用时钟脉冲同步输入和输出的数字电路,用于实现十进制加法运算。
实验一 设计含异步复位和同步加载功能的加法计数器一、实验目的学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。
二、实验原理在Quartus II 上对源程序进行编辑、编译、综合、适配、仿真。
说明源程序各语句的作用,详细描述其功能特点,给出其所有信号的时序仿真波形。
RST为异步清零信号,高电平有效;CLK是锁存信号;EN为计数使能信号,LOAD为加载控制信号,DATA为预置数。
当时钟信号CLK、加载控制信号LOAD、复位信号RST或时钟使能信号EN中任一信号发生变化,都将启动进程语句PROCESS。
此时如果RST为‘0’,将对计数器清零,即复位,这项操作是独立于CLK的,因而称异步。
三、实验仪器(1)配套计算机及Quartus II 软件四、实验步骤(1)完成含异步清零和同步使能的加法计数器的VHDL描述,并对其进行波形仿真,确定结果正确。
五、 VHDL仿真实验(1)建立文件夹E:\alteral\edashiyan\che3-20,启动QuartusII软件工作平台,打开并建立新工程管理窗口,完成创建工程。
图1 利用New Project Wizard创建工程CNT10(2) 打开文本编辑。
NEW→VHDL File→相应的输入源程序代码→存盘为CNT10.vhd.。
图2 选择编辑文件类型源程序代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 ISPORT (CLK,EN,RST,LOAD: IN STD_LOGIC;DATA: IN STD_LOGIC_VECTOR(3 DOWNTO 0);DOUT: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT: OUT STD_LOGIC );END;ARCHITECTURE behav OF CNT10 ISBEGINPROCESS(CLK,RST,EN,LOAD)VARIABLE Q:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINIF RST='0' THEN Q:=(OTHERS=>'0');ELSIF CLK'EVENT AND CLK='1' THENIF EN='1' THENIF (LOAD='0') THEN Q:=DATA;ELSEIF Q<9 THEN Q:=Q+1;ELSE Q:=(others=>'0');END IF;END IF;END IF;END IF;IF Q="1001" THEN COUT<='1';ELSE COUT<='0';END IF;DOUT<=Q;END PROCESS;END behav;(3) 综合运行,检查设计是否正确。
EDA技术基础实验报告实验名称:含异步清0和同步时钟使能的十进制加法法计数器姓名:李江虹学号:068专业及班级:通信工程(3)班指导老师:刘文进实验三含异步清0和同步时钟使能的十进制加法法计数器一、实验目的:学习时序电路的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。
二、实验原理实验图1是一含计数使能、异步复位十进制加法计数器,例1是其VHDL描述。
由实验图1所示,图中间是4位锁存器;rst是异步清信号,高电平有效;clk是锁存信号;D[3..0]是4位数据输入端。
当ENA为'1'时,多路选择器将加1器的输出值加载于锁存器的数据端;当ENA为'0'时将"0000"加载于锁存器。
图1 含计数使能、异步复位十进制加法计数器三、实验内容在MAX+plusII上参照例1(4位二进制计数器)进行设计、编辑、编译、综合、适配、仿真。
说明例中各语句的作用,详细描述示例的功能特点,给出其所有信号的时序仿真波形。
【例1】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT4B ISPORT (CLK : IN STD_LOGIC;RST : IN STD_LOGIC;LOAD : IN STD_LOGIC;DATA :IN STD_LOGIC_VECTOR(3 DOWNTO 0);OUTY : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT : OUT STD_LOGIC );END CNT4B;ARCHITECTURE behav OF CNT4B ISSIGNAL CQI : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINP_REG: PROCESS(CLK, RST,LOAD)BEGINIF RST = '1' THEN CQI <="0000"; ELSIF CLK'EVENT AND CLK = '1' THEN IF LOAD = '1' THEN CQI <= DATA; ELSIF CQI>="1001"THENCQI<="0000";COUT <='1';ELSECQI<=CQI+1;COUT <='0';END IF;END IF;OUTY <= CQI ;END PROCESS P_REG ;END behav;四、引脚锁定以及硬件下载测试。
实验七含异步清零和同步时钟使能的十进制
加法计数器设计
[实验目的]
1.学习计数器的设计、仿真和硬件测试;
2.进一步熟悉VHDL设计技术;
[实验说明]
设计一个含异步清零和同步时钟使能的十进制加法计数器,其输入分别为时钟信号CLK,复位信号RST,使能信号ENA,输出为四位二进制数D[3..0]。
其对应关系
输出的四位二进制数在“0000”到“1001”之间变化,即十进制从“0”到“9”变化。
当复位信号RST为高电平时,不管CLK和ENA处于何种状态,输出清零。
当RST为非有效电平,ENA为低电平时,输出保持前一状态不发生改变。
当RST为非有效电平,ENA 为高电平时,此时每来一个时钟CLK的上升沿,输出加1,若输出数据超过“1001”则自动清零至“0000”。
[引脚锁定]
选择模式5电路。
用键1(引脚号为233)控制输入RST,用Clock0(引脚号为28)控制输入CLK,用键2 (引脚号为234)控制输入ENA,输出信号直接接数码管8的译码器输入端口(从高位到低位分别接引脚号168,167,166,165),注意未使用的引脚请设置为三态输入。
[实验要求]
1用VHDL语言实现电路设计
2设计仿真文件,进行软件验证
3通过下载线下载到实验板上进行验证
[实验报告要求]
1写出VHDL程序并加以详细注释
2给出软件仿真结果及波形图
3通过下载线下载到实验板上进行验证并给出硬件测试结果4写出学习总结。
实验四十进制加法计数器设计
一、实验目的
1、了解十进制计数器的工作原理。
2、理解同步和异步的区别。
3、时钟在编程过程中的作用。
二、实验原理
二进制计数器中应用最多、功能最全的计数器之一,含异步清零和同步使能的加法计数器的具体工作过程如下:
在时钟上升沿的情况下,检测使能端是否允许计数,如果允许计数(定义使能端高电平有效)则开始计数,否则一直检测使能端信号。
在计数过程中再检测复位信号是否有效(低电平有效),当复位信号起作用时,使计数值清零,继续进行检测和计数。
其工作时序如图4-1所示:
图5-1 计数器的工作时序
三、实验内容
本实验要求完成的任务是在时钟信号的作用下,通过使能端和复位信号来完成加法计数器的计数。
实验中时钟信号使用数字时钟源模块的1HZ信号,用一位拨动开关K1表示使能端信号,用复位开关S1表示复位信号,用数码管显示计数结果。
计数过程遇10清零,从0计数。
四、实验步骤
1、根据课堂讲授编写计数程序。
2、编译,并功能仿真
3、引脚对应如表4-1所示。
4、编译,观测实验结果
表4-1 引脚对应表
五、实验现象与结果
以设计的参考示例为例,当设计文件加载到目标器件后,看是否自动计数,按下S1键后,是否从零开始计数。
六、实验报告
1、绘出仿真波形,并作说明。
2、进一步熟悉QUARTUSII软件。
3、将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。
EDA实验二 含异步清零和同步使能的十进制加减法计数器一、实验目的1.了解加减计数器的工作原理。
2.进一步熟悉QUARTUSII 软件的使用方法和VHDL 输入。
3.熟悉仿真时序设定。
二、实验设备1.PC机 一台;四、实验内容完成一个0~99计数器,有四个输入信号:复位reset、使能enable、时钟clk和加减选择sel,三路输出信号:计数值、进位和借位信号。
要求每来一个时钟信号,加或减1(sel=‘0’时执行加,sel=‘1’时执行减);计数值为99时再加1,输出进位信号,并且计数值归零;计数值为0时再减1,输出借位信号,并且计数值变成99(即0~99循环计数);复位信号reset有效时(低电平有效)计数值清0,使能信号enable有效时(高电平有效)计数器才进行工作,否则不进行累加或累减。
五、实验步骤1.打开QUARTUSII 软件,新建一个VHDL文件。
2.输入程序代码,点击保存时,系统会提示建立一个新的工程(Project),按照QUARTUSII的提示建立好工程;3.按照实验原理和自己的想法,在VHDL 编辑窗口调整完成VHDL 程序;4.对自己编写的VHDL 程序进行编译,对程序的错误进行修改;5.进行仿真,附录:电路实体定义可参照如下:ENTITY counter ISPORT( clk, reset, enable ,sel : IN STD_LOGIC; --定义时钟、异步复位、同步使能、选择信号cq : OUT STD_LOGIC_VECTOR(6 downto 0); --计数值c1out : OUT STD_LOGIC; --进位信号c2out : OUT STD_LOGIC --借位信号);END counter;VHDL程序代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY counter ISPORT( clk, reset, enable ,sel : IN STD_LOGIC; --定义时钟、异步复位、同步使能、选择信号cq : OUT STD_LOGIC_VECTOR(6 downto 0); --计数值c1out : OUT STD_LOGIC; --进位信号c2out : OUT STD_LOGIC --借位信号);END counter;ARCHITECTURE counter99 OF counter ISBEGINPROCESS(clk, reset, enable ,sel)VARIABLE cot :STD_LOGIC_VECTOR(6 downto 0);BEGINIF reset='0' THEN cot:=(OTHERS=>'0');ELSIF clk'EVENT AND clk ='1' THENIF enable='1' THENIF sel='0' THEN c2out<='0';IF cot<99 THEN cot:=cot+1;c1out<='0';ELSE cot:=(OTHERS=>'0');c1out<='1';END IF;ELSIF sel='1' THEN c1out<='0';IF cot>0 THEN cot:=cot-1;c2out<='0';ELSE cot:="1100011";c2out<='1';END IF;END IF;END IF;END IF;cq<=cot;END PROCESS; END counter99;仿真结果如下:。
含异步清零和同步时钟使能的加法计数器设计(1)实验目的:学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。
(2)实验原理:实验程序为例4-22;实验原理参考4.4节(计数器设计),设计流程参考第5章。
【例4-22】设计一个带有异步复位和同步时钟使能的十进制加法计数器。
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 ISPORT(CLK,RST,EN : IN STD_LOGIC;CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT : 0UT STD_LOGIC);END ENTITY CNT10;ARCHITECTURE behav OF CNT10 ISBEGINPROCESS (CLK,RST,EN)VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF RST=‘1’ THEN CQI:=(OTHERS =>‘0’);--计数器异步复位ELSIF C LK’E VENT AND CLK=‘1’ THEN --检测时钟上升沿IF EN=‘1’ THEN --检测是否允许计数(同步他能) IF CQI<9 THEN CQI:=CQI+1; --允许计数,检测是否小于9ELSE CQI := (OTHERS => ‘0’); --大于9,计数值清零END IF;END IF;END IF;IF CQI=9 THEN COUT<=‘1’; --计数大于9,输出进位信号ELSE COUT<=‘0’;END IF;CQ<=CQI; --将计数值向端口输出END PROCESS;END ARCHITECTURE behav;(3)实验内容1:在Quartus II 上对例4-22进行编辑、编译、综合、适配、仿真。
实验十九 计数、译码、显示电路一、实验目的1、掌握中规模集成计数器74LS90的逻辑功能。
2、学习使用74LS48、BCD译码器和共阴极七段显示器。
3、熟悉用示波器测试计数器输出波形的方法。
二、 实验原理计数、译码、显示电路是由计数器、译码器和显示器三部分电路组成的,下面分别加以介绍。
1、计数器:计数器是一种中规模集成电路,其种类有很多。
如果按各触发器翻转的次序分类,计数器可分为同步计数器和异步计数器两种;如果按照计数数字的增减可分为加法计数器、减法计数器和可逆计数器三种;如果按计数器进位规律可分为二进制计数器、十进制计数器、可编程N进制计数器等多种产品。
常用计数器均有典型产品,不须自己设计,只要合理选用即可。
本实验选用74LS90二—五进制计数器,其功能如下表所示。
6263(1) R 0(1)和R 0(2)为直接复位端,R 9(1)和R 9(2)为直接置位端,可以预置数字“9”(Q D = Q A = 1,Q B = Q C = 0)。
(2) A 为二分频计数器的输入,Q A 的输出频率为CP A 的1/2。
B 为五进制计数器的输入,把Q A 输出作为五进制计数器B 的输入,即构成8421BCD 码十进制计数器。
2、 译码器:这里所说的译码器是将二进制数译成十进制数的器件。
我们选用的74LS48是BCD 码七段译码器兼驱动器。
其外引线排列图和功能表如下所示。
1234567891011121314GNDVCC 74LS48B1615CLTBI/RBORBIDAgabcdef十进制数 或功能输 入LT RBI D C B A 0123H H H H H X X X L L L L L L L H L L H L L L H H BI/RBO H H H H 输 出a b c d e f g H H H H H H L L H H L L L L H H L H H L H H H H H L L H 字 型注4567H H H H X X X X L H L L L H L H L H H L L H H H H H H H L H H L L H H H L H H L H H L L H H H H H H H H L L L L H H H X X X H L L L H L L H H L H L H H H H H H H H H H H H H L L H H L L L H H L H L L H H L L H 891011H X H L H H H H H H X X X H H L L H H L H H H H L H H H L H L L L H H H L L H L H H L L L H H H H L L L L L L L 12131415H X H H H H H 1BI RBI LTX H LX XL X X X X X X X XL L L L L L HL L L L L L L L L L L L L L H H H H H H H2 34(1) 要求输出数字0~15时,“灭灯输入”(BI )必须开路或保持高电平。
电子设计自动化实验报告(二)学院:电气学院班级:电子122班姓名:覃思远一、实验题目:带有异步复位、同步计数使能和可预置型十进制计数器的verilog设计。
二、实验目的:讨论学习经典数字计数器的Verilog描述方法和相关语法。
三、实验程序:module CNT10(CLK,RST,EN,LOAD,COUT,DOUT,DATA);input CLK,EN,RST,LOAD;input [3:0] DA TA;output [3:0] DOUT;output COUT;reg [3:0] Q1;reg COUT;assign DOUT = Q1;always @(posedge CLK or negedge RST) beginif(!RST) Q1 <= 0;else if(EN) beginif (!LOAD) Q1<= DATA;else if (Q1<9) Q1<=Q1+1;else Q1 <= 4'b0000;endendalways @(Q1)beginif (Q1==4'h9) COUT = 1'b1;else COUT = 1'b0;endendmodule四、实验仿真结果:五、仿真结果分析:(1)RST在任意时刻有效时,如CLK非上升沿时,计数也能清0。
(2)计数器正常计数到RST=0时,4位输入数据DA TA被清零,之后在LOAD=1后计数器重新计数,如图所示计数从0000加载到0100的时序。
计数到9时,COUT输出进位1。
(3)当EN=1,LOAD=1,RST=1时,计数正常进行,在计数数据等于9时进位输出高电平。
六、硬件下载设置及测试过程:根据板子给定的引脚锁定图,选定相应的硬件把程序中的输入输出端和板子的相应引脚给锁定,编译并下载程序,定好DA TA,选择合适的CLK,手动改变EN和LOAD的值,观察实验现象看是否符合程序的结果。
同步计数器的设计实验报告同步计数器的设计实验报告篇一:实验六同步计数器的设计实验报告实验六同步计数器的设计学号:姓名:一、实验目的和要求1.熟悉JK触发器的逻辑功能。
2.掌握用JK触发器设计同步计数器。
二、实验仪器及器件三、实验预习1、复习时序逻辑电路设计方法。
⑴逻辑抽象,得出电路的状态转换图或状态转换表①分析给定的逻辑问题,确定输入变量、输出变量以及电路的状态数。
通常都是取原因(或条件)作为输入逻辑变量,取结果作输出逻辑变量。
②定义输入、输出逻辑状态和每个电路状态的含意,并将电路状态顺序编号。
③按照题意列出电路的状态转换表或画出电路的状态转换图。
通过以上步骤将给定的逻辑问题抽象成时序逻辑函数。
⑵状态化简①等价状态:在相同的输入下有相同的输出,并且转换到同一次态的两个状态。
②合并等价状态,使电路的状态数最少。
⑶状态分配①确定触发器的数目n。
因为n个触发器共有2n种状态组合,所以为获得时序电路所需的M个状态,必须取2n1<M2n②给每个电路状态规定对应的触发器状态组合。
⑷选定触发器类型,求出电路的状态方程、驱动方程和输出方程①根据器件的供应情况与系统中触发器种类尽量少的原则谨慎选择使用的触发器类型。
②根据状态转换图(或状态转换表)和选定的状态编码、触发器的类型,即可写出电路的状态方程、驱动方程和输出方程。
⑸根据得到的方程式画出逻辑图⑹检查设计的电路能否自启动①电路开始工作时通过预置数将电路设置成有效状态的一种。
②通过修改逻辑设计加以解决。
⑺设计步骤简图图3 设计步骤简图2、按实验内容设计逻辑电路画出逻辑图。
设计思路详情见第六部分。
电路图如下:四、实验原理1.计数器的工作原理递增计数器----每来一个CP,触发器的组成状态按二进制代码规律增加。
递减计数器-----按二进制代码规律减少。
双向计数器-----可增可减,由控制端来决定。
2.集成J-K触发器74LS73⑴符号:图1 J-K触发器符号⑵功能:表1 J-K触发器功能表⑶状态转换图:图2 J-K触发器状态转换图⑷特性方程:Qn1JQnKQn⑸注意事项:①在J-K触发器中,凡是要求接“1”的,一定要接高电平(例如5V),否则会出现错误的翻转。
10位计数器的设计原理
10位计数器是一种数字电路,可以用来计数从0到9的十个数字。
它通过使用10个触发器和适当的逻辑门电路来实现。
设计原理如下:
1. 使用10个D触发器,每个触发器有一个输入端D和一个时钟端CLK。
触发器的输出端连在下一个触发器的D输入端上,形成级联结构。
第一个触发器的D输入端连接到一个时钟信号,作为计数器的时钟输入。
2. 设置一个异步清零信号,并连接到所有触发器的清零输入端。
该信号用于将计数器重置为0。
3. 为了实现加法运算,还需要为每个触发器设计逻辑电路,将其输出与当前计数值相加。
这样,当每个触发器的输出从1变为0时,下一个触发器将加1。
4. 设计一个比较器电路,将计数器的输出与9进行比较。
当计数器的输出等于9时,比较器输出一个高电平信号,用于停止计数。
通过以上设计原理,可以实现一个十位计数器。
当时钟信号输入时,计数器开始计数,每次加1,直到计数器达到9,然后停止计数。
可以通过异步清零信号将计数器重置为0,从而重新开始计数。
广州大学学生实验报告实验室:电子信息楼 317EDA 2017 年 9月 18 日学院机电学院年级、专业、班电信151姓名苏伟强学号51实验课程名称可编程逻辑器件及硬件描述语言成绩实验项目名称实验2 含异步清零的同步时钟使能控制的加法计数器指导老师秦剑一实验目的a)学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术;二实验原理图是一含计数使能、异步复位的4位加法计数器,例2-1是其VHDL描述。
图中间是4位锁存器;rst是异步清信号,高电平有效;clk是锁存信号;D[3:0]是4位数据输入端。
当ENA为‘1’时,多路选择器将加1器的输出值加载于锁存器的数据端;当ENA为‘0’时保持上一次的输出。
三实验设备a)FPGA实验箱,Cyclone III EP3C40Q24C08四实验内容和结果a)编程根据实验原理编程VHDL,rst是异步清信号,高电平有效;clk是锁存信号;CQ[3:0]是计数输出端,COUT 是进位输出。
上升沿计数,在计数到1111的时候进位(这里判断CQI的所有位为1时进位,表示计数到top 值),清零,继续计数,将进位数据锁存在COUT端,不断更新。
可以看到在进程中,首先判断rst信号是否为1,为1的话进行置位,优先级最高而且不受时钟信号控制(放在以时钟边沿测试表述clock’event and clock=’1’为条件语句的if语句以外),是异步置位。
b)波形仿真新建波形仿真文件,文件名和实体名称保持一致,可以看到,使能信号为1,在时钟信号的上升沿计数加一,如果有置位信号,则产生异步置位(置位最优先),计数到1111top值,进位并且自动清零,符合设计。
c)引脚锁定和硬件调试进入assignmen->assignment edit,category选择location,alt+1调出node finder,调出信号进行引脚绑定,引脚绑定的时候注意查看芯片引脚手册。
设计含异步清零和同步时钟使能的加法计数器.doc加法计数器是一种常见的数字电路,它可以用于计数器、频率分频等应用。
本文将介绍一种具有异步清零和同步时钟使能的加法计数器的设计方法。
一、电路原理加法计数器由若干个触发器组成,每个触发器的输出连接到下一个触发器的时钟端。
当计数器接受到一个时钟信号时,每个触发器的状态将根据前一个触发器的状态和时钟信号发生变化,从而实现计数的功能。
本文介绍的加法计数器还包含了异步清零和同步时钟使能功能,它们分别被连接到清零端和时钟端。
当清零端接受到一个高电平信号时,计数器的状态将被清零;当时钟端接受到一个高电平信号时,计数器将在时钟上升沿时计数。
二、电路实现本文中的加法计数器由4个D触发器和一些逻辑门组成,如图所示。
其中,D触发器的输入资源于四个运算器之中,运算器分别为。
①.异或门(XOR):将A,B两个数字按位异或,当两个输入不同时,输出为1;当两个输入相同时,输出为0。
②.与非器(NAND):将AB两个输入同时取反再进行与运算,输出为非AB的结果。
在加法计数器中,D触发器的输入端连接到异或门,异或门的两个输入端分别连接到计数器输入和进位信号。
同时,计数器输出也会连接到一个4位数显。
逻辑门的输出信号会被连接到触发器的时钟控制端或清零控制端,从而实现对计数器状态的控制。
三、时序分析1.异步清零当异步清零端接受到一个高电平信号时,计数器的状态将被清零。
具体来说,所有触发器的输出都将被强制为低电平信号。
这种操作可以通过将清零信号连接到每个D触发器的清零输入实现。
2.同步时钟使能当同步时钟使能端接受到高电平信号时,计数器只在时钟上升沿时计数。
这种操作可以通过将时钟使能信号连接到所有D触发器的时钟输入实现。
具体来说,当A和B两个输入都为0时,输出为0;当A和B两个输入都为1时,输出为0;当A和B两个输入中有一个为1时,输出为1。
四、总结本文介绍了一种具有异步清零和同步时钟使能的加法计数器的设计方法。
实验二设计含异步清零和同步使能的加法计数器
1.实验目的
学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。
2.实验内容或原理
在Quartus II 上对源程序进行编辑、编译、综合、适配、仿真。
说明源程序各语句的作用,详细描述其功能特点,给出其所有信号的时序仿真波形。
RST为异步清零信号,高电平有效;CLK是锁存信号;EN为计数使能信号,LOAD为加载控制信号,DATA为预置数。
当时钟信号CLK、加载控制信号LOAD、复位信号RST或时钟使能信号EN中任一信号发生变化,都将启动进程语句PROCESS。
此时如果RST为‘0’,将对计数器清零,即复位,这项操作是独立于CLK的,因而称异步。
3.实验仪器
(1)GW48系列SOPC/EDA实验开发系统
(2)配套计算机及Quartus II 软件
4.实验步骤
(1)完成含异步清零和同步使能的加法计数器的VHDL描述,并对其进行波形仿真,确定结果正确。
(2)建议选择实验电路模式5对该设计进行硬件验证。
5. VHDL仿真实验
(1)为此工程新建一个文件夹。
启动QuartusII软件工作平台,新建工程设计文件名为。
在新建的VHDL模型窗口下编写源程序代码如下:
LIBRARY IEEE;
USE CNT10 IS
PORT (CLK,EN,RST,LOAD: IN STD_LOGIC;
DATA: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
DOUT: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
COUT: OUT STD_LOGIC );
END;
ARCHITECTURE behav OF CNT10 IS
BEGIN
PROCESS(CLK,RST,EN,LOAD)
VARIABLE Q:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
IF RST='0' THEN Q:=(OTHERS=>'0');
ELSIF CLK'EVENT AND CLK='1' THEN
IF EN='1' THEN
IF (LOAD='0') THEN Q:=DATA;ELSE
IF Q<9 THEN Q:=Q+1;
ELSE Q:=(others=>'0');
END IF;
END IF;
END IF;
END IF;
IF Q="1001" THEN COUT<='1';
ELSE COUT<='0';
END IF;
DOUT<=Q;
END PROCESS;
END behav;
(2)创建工程及全程编译。
完成源代码输入后即可创建工程然后进入全程编译,检查设计是否正确。
选择Tools->Netlist Viewers->RTL Viewers命令,即HDL 的RTL级图形观测器,选择好后即自动弹出计数器设计的RTL电路,如下图:
(3)仿真。
建立波形编辑文件进行功能仿真,仿真结果如下图所示,在脉冲上升沿出现时,只要满足RST=1,EN=1,计数器就开始计数。
(4)硬件测试。
完成仿真实验后,若仿真结果无误,则进行锁脚,然后下载到FPGA实验箱上进行硬件测试。
选择试验箱的模式为模式5,时钟CLK选择为CLOCK0(PIN_28脚),使能信号EN (PIN_234),复位信号RST(PIN_233),加载控制信号LOAD(PIN_235),预置数DATA (PIN_236,237,238,239),进位信号COUT(PIN_1),4位输出数据总线DOUT[3..0]可由数码1来显示,通过分别接PIO19、PIO18、PIO17、PIO16(它们对应的引脚编号分别为16、15、14、13)
6. 实验报告要求
将实验原理、设计过程、编译仿真波形和分析结果、硬件测试实验结果写进实验报告。
参考资料:参考书:EDA技术实用教程——VHDL版第四版潘松黄继业编著。