实验一 十进制计数器的设计与仿真 电子科技大学知识讲解
- 格式:doc
- 大小:87.50 KB
- 文档页数:7
10进制计算器电路设计
10进制计算器电路设计主要涉及到数字电路和逻辑设计的相关知识。
以下是一个简单的10进制计算器电路设计的步骤:
1.确定需求:确定计算器的功能和输入输出接口。
例如,输入应该是两个数
字和一个运算符,输出应该是计算结果。
2.设计电路:根据需求,使用逻辑门电路(如与门、或门、非门、与非门、
或非门等)来构建计算器的逻辑电路。
这包括数字输入端的比较器、加法器、减法器、乘法器等基本电路。
3.实现算法:确定计算器的算法,例如加减乘除等基本算术运算的算法。
这
些算法可以通过组合逻辑门电路来实现。
4.测试和验证:通过输入不同的数字和运算符来测试计算器的功能是否正常。
如果有错误,需要回到设计阶段进行修改和优化。
5.封装和集成:将计算器电路封装在一个合适的电路板上,并将其与其他电
路或系统集成在一起。
在实际设计中,可能还需要考虑一些其他因素,例如功耗、面积、可靠性等。
同时,可以使用硬件描述语言(如Verilog或VHDL)来描述和设计计算器电路,以便进行仿真和验证。
十进制计数器设计十进制计数器设计一、实验目的:熟悉Quartus II的Verilog文本设计流程全过程,学习十进制计数器的设计、仿真,掌握计数器的工作原理。
二、实验原理:计数器属于时序电路的范畴,其应用十分普遍。
该程序设计是要实现带有异步复位、同步计数使能和可预置型的十进制计数器。
该计数器具有5个输入端口(CLK、RST、EN、LOAD、DATA)。
CLK输入时钟信号;RST起异步复位作用,RST=0,复位;EN是时钟使能,EN=1,允许加载或计数;LOAD是数据加载控制,LOAD=0,向内部寄存器加载数据;DATA是4位并行加载的数据。
有两个输出端口(DOUT和COUT)。
DOUT的位宽为4,输出计数值,从0到9;COUT是输出进位标志,位宽为1,每当DOUT为9时输出一个高电平脉冲。
RST在任意时刻有效时,如CLK非上升沿时,计数也能即刻清0;当EN=1,且在时钟CLK的上升沿时刻LOAD=0,4位输入数据DATA被加载,但如果此时时钟没有上升沿,尽管出现了加载信号LOAD=0,依然未出现加载情况;当EN=1,RST=1,LOAD=1时,计数正常进行,在计数数据等于9时进行输出高电平。
三、实验任务:在Quartus II上将设计好的程序进行编辑、编译、综合、适配、仿真,从时序仿真图中学习计数器工作原理,了解计数器的运行情况及时钟输入至计数器数据输出的延时情况。
四、实验步骤:(一)、建立工作库文件和编辑设计文件任何一项设计都是一项Project(工程),而把一个工程下的所有文件放在一个文件夹内是一个非常好的习惯,以便于我们整理,利用和提取不同工程下的文件,而此文件夹将被EDA软件默认为Work Library(工作库),所以第一步先根据自己的习惯,建立个新的文件夹。
(1)新建文件夹:在盘建立并保存工程,将文件夹取名Jishuqi。
(2)输入源程序:打开Quartus II,选择菜单File→New→DesignFiles→VerilogHDL File→OK(如图1所示)。
十进制计数器简介十进制计数器是一种常见的计数器类型,用于在电子设备和计算机中记录和显示数字。
它由一组数字显示单元和逻辑电路构成,能够按照十进制系统的规则进行计数。
本文将介绍十进制计数器的工作原理、应用领域以及常见的实现方法。
工作原理十进制计数器的工作原理基于十进制数字系统。
十进制系统是一种计数和计量的方法,使用0-9这10个数字,每个数字的值代表了一定的数量。
十进制计数器通过逐个增加计数器中的数字,从0递增到9,然后再回到0,形成一个循环。
十进制计数器通常由多个数字显示单元组成,每个显示单元可以显示一个数字。
例如,一个四位的十进制计数器可以显示0至9999的数值。
计数器中的逻辑电路能够根据当前的计数值控制各个显示单元的状态,使其按照正确的顺序显示相应的数字。
应用领域十进制计数器在很多领域都有广泛的应用,特别是在计算机技术和电子设备中。
以下是一些常见的应用领域:1. 计算机在计算机中,十进制计数器用于记录和控制程序的执行次数、计时器和时钟。
例如,计算机中的时钟电路经常使用十进制计数器来实现时间的计算和显示。
2. 电子设备在许多电子设备中,如数字电子表、计算器、计数器、时钟等,都使用了十进制计数器。
它们能够以人类可读的方式显示数字,方便用户进行数值的输入和查看。
3. 工业自动化在工业自动化领域,十进制计数器可以用于对生产线上的产品数量进行计数和控制。
当计数器达到预设的数量时,可以触发相应的操作,如停止生产线或自动分拣产品。
4. 计量仪器在科学实验和工程测量中,十进制计数器被广泛用于记录和显示测量结果。
例如,在温度计、压力计、计时器等仪器中,都使用了十进制计数器来显示测量的数值。
实现方法十进制计数器可以使用不同的电子元件和逻辑电路进行实现。
以下是一些常见的实现方法:1. 逻辑门电路通过组合逻辑门电路,可以实现简单的十进制计数器。
例如,使用4个D型触发器和若干个与、或、非门,可以构建一个四位的十进制计数器。
《基于FPGA的现代数字系统设计》实验名称:十进制计数器设计与仿真姓名:学号:班级:指导老师:2013年3月11日实验目的:(1)熟悉和掌握ISE Foudation 软件的使用(2)掌握基本原理图进行FPGA设计开发的全流程(3)理解和掌握“自底向下”的层次化设计方法(4)温习数字电路设计的基础知识实验要求:(1)使用原理图库中的门电路元件设计七段显示译码电路,以及十进制加法计数器。
(2)要求LED定位显示。
(3)完成LED七段码波形的仿真分析。
(4)在目标板按要求显示译码结果。
实验原理:本次试验将完成的设计是一个具有数显输出的十进制计数器。
示意图如2.1所示。
图2.1七段数码管属于数码管的一种,是由7段二极管组成。
按发光二极管单元衔接方式分为共阳极数码管和共阴极数码管。
本实验使用共阴数码管。
它是指将一切发光二极管的阴极接到一同构成公共阴极(COM)的数码管。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平相应字段就点亮,当某一字段的阳极为低电平相应字段就不亮。
显示译码器,一般是将一种编码译成十进制码或特定的编码,并通过显示器件将译码器的状态显示出来。
最小项译码器输出能产生输入变量的所有最小项,而任何一个组合逻辑函数都可以变换为最小项之和的标准形式,故采用译码器和门电路可实现任何单输出或多输出的组合逻辑函数。
当译码器输出低电平有效时,一般选用与非门;当译码器输出高电平有效时,一般选用或门。
本实验可以采用ISE软件自带的“Decoder”库中的4线-16线译码器D4_16E (带使能端,输出高电平有效)和“Logic”库中的16输入或门OR16。
本次试验将完成的设计是一个具有数显输出的十进制计数器。
实验步骤:1.完成七段数码管的绘制,按照正常操作新建工程,添加新原理图文件。
(1)画出七段数码管A段的原理图,如图1所示,根据书上的七段数码管的真值表完成D$_16E与16位或门的连线,其中0的地方连地,1的地方连上D4_16E 芯片。
实验一十进制计数器的设计与仿真一、实验目的熟悉QuartusⅡ的Verilog HDL文本设计流程全过程,学习计数器的设计、仿真和硬件测试。
二、实验原理该程序设计是带有异步复位、同步计数使能、可预置型功能全面的十进制计数器。
(1)第一个条件句if(!RST)构成的RST接于寄存器下方的异步清0端CLR。
(2)第二个条件句if(EN)构成EN接于寄存器左侧的使能端ENA。
(3)第三个条件句if(LODA)构成LODA接于上面的多路选择器,使之控制选择来自DATA的数据,还是来自另一多路选择器的数据。
(4)不完整的条件语句与语句Q1<=Q1+1构成了加1加法器和4位寄存器。
(5)语句(Q1<9)构成了小于比较器,比较器的输出信号控制左侧多路选择器。
(6)第二个过程语句构成了纯组合电路模块,即一个等式比较器,作进位输出。
三、实验设备与软件平台实验设备:计算机、FPGA硬件平台是Cyclone系列FPGA软件平台:Quartus II 9.1 (32-Bit)、5E+系统四、实验内容编写Verilog程序描述一个电路,实现以下功能:设计带有异步复位、同步计数使能和可预置型的十进制计数器。
具有5个输入端口(CLK、RST、EN、LOAD、DATA)。
CLK输入时钟信号;RST 起异步复位作用,RST=0,复位;EN是时钟使能,EN=1,允许加载或计数;LOAD 是数据加载控制,LOAD=0,向内部寄存器加载数据;DATA是4位并行加载的数据。
有两个输出端口(DOUT和COUT)。
DOUT的位宽为4,输出计数值,从0到9;COUT是输出进位标志,位宽为1,每当DOUT为9时输出一个高电平脉冲。
五、实验步骤设计程序:module CNT10 (CLK,RST,EN,LOAD,COUT,DOUT,DATA);input CLK;input EN;input RST;input LOAD;input [3:0] DATA;output [3:0] DOUT;output COUT;reg [3:0] Q1 ;reg COUT ;assign DOUT = Q1;always @(posedge CLK or negedge RST) begin if (!RST) Q1 <= 0;else if (EN) beginif (!LOAD) Q1 <= DATA;else if (Q1<9) Q1 <= Q1+1;else Q1 <= 4'b0000;endendalways @(Q1)if (Q1==4'h9) COUT = 1'b1;else COUT = 1'b0;Endmodule设计流程:1.编辑和输入设计文件(1)、新建一个文件夹如D:\CNT10 ,本工程所有文件将存放在此目录中。
摘要:计数器的功能是记忆脉冲的个数,它是数字系统中应用最广泛的基本时序逻辑构件。
计数器在微型计算机系统中的主要作用就是为CPU和I/O设备提供实时时钟,以实现定时中断、定时检测、定时扫描、定时显示等定时控制,或者对外部事件进行计数。
一般的微机系统和微机应用系统中均配置了定时器/计数器电路,它既可当作计数器作用,又可当作定时器使用,其基本的工作原理就是"减1"计数。
计数器:CLK输入脉冲是一个非周期事件计数脉冲,当计算单元为零时,OUT输出一个脉冲信号,以示计数完毕。
以下是关于十进制计数器的几种设计方法。
1.计数器计数器是数字系统中用的较多的基本逻辑器件。
它不仅能记录输入时钟脉冲的个数,还可以实现分频,定时,产生节拍脉冲和脉冲序列等。
例如,计算机中的时序发生器,分频器,指令计数器等都要使用计数器。
计数器的种类很多。
按时序脉冲输入方式的不同,可分为同步计数器和异步计数器;按进位体制不同可以分为二进制计数器和非二进制计数器;按计数器的数字增减趋势的不同,可分为加法计数器,减法计数器和可逆计数器。
同步计数器是指计数器内所有的触发器共同使用同一个输入的时钟脉冲信号,在同一个时刻翻转,有计数速度快的特点。
异步计数器是指计数器内各触发器的输入时钟信号的来源不同,各电路的翻转时刻也不一样,因此计数速度较慢在非二进制计数器中,最常用的是十进制计数器,其他进制计数器习惯上称为任意进制计数器。
非二进制计数器也有异步和同步,加减和可逆计数器的各种类型。
2.集成计数器集成计数器在一些简单小型数字系统中仍被广泛有用,因为他们具有体积小,功耗低,功能灵活等优点。
集成计数器的类型很多,表1列举了若干集成计数器产品。
表1 几种集成计数器CP脉冲引入方式型号计数模式清零方式预置数方式同步741614位二进制加法异步(低电平)同步74HC1614位二进制加法异步(低电平)同步74HCT1614位二进制加法异步(低电平)同步74LS191单时钟4位二进制可逆无异步74LS193双时钟4位二进制可逆异步(高电平)异步74160 十进制加法异步(低电平)同步74LS190单时钟十进制可逆无异步异步74LS293双时钟4位二进制加法异步无74LS290二-五-十进制加法异步异步3常用计数器74161的功能74161是4位二进制同步加计数器。
实验一十进制计数器的设计与仿真电子科
技大学
实验一十进制计数器的设计与仿真
一、实验目的
熟悉QuartusⅡ的Verilog HDL文本设计流程全过程,学习计数器的设计、仿真和硬件测试。
二、实验原理
该程序设计是带有异步复位、同步计数使能、可预置型功能全面的十进制计数器。
(1)第一个条件句if(!RST)构成的RST接于寄存器下方的异步清0端CLR。
(2)第二个条件句if(EN)构成EN接于寄存器左侧的使能端ENA。
(3)第三个条件句if(LODA)构成LODA接于上面的多路选择器,使之控制选择来自DATA的数据,还是来自另一多路选择器的数据。
(4)不完整的条件语句与语句Q1<=Q1+1构成了加1加法器和4位寄存器。
(5)语句(Q1<9)构成了小于比较器,比较器的输出信号控制左侧多路选择器。
(6)第二个过程语句构成了纯组合电路模块,即一个等式比较器,作进位输出。
三、实验设备与软件平台
实验设备:计算机、FPGA硬件平台是Cyclone系列FPGA
软件平台:Quartus II 9.1 (32-Bit)、5E+系统
四、实验内容
编写Verilog程序描述一个电路,实现以下功能:设计带有异步复位、同步计数使能和可预置型的十进制计数器。
具有5个输入端口(CLK、RST、EN、LOAD、DATA)。
CLK输入时钟信号;RST起异步复位作用,RST=0,复位;EN是时钟使能,EN=1,允许加载或计数;LOAD是数据加载控制,LOAD=0,向内部寄存器加载数据;DATA是4位并行加载的数据。
有两个输出端口(DOUT和COUT)。
DOUT的位宽为4,输出计数值,从0到9;COUT是输出进位标志,位宽为1,每当DOUT为9时输出一个高电平脉冲。
五、实验步骤
设计程序:
module CNT10 (CLK,RST,EN,LOAD,COUT,DOUT,DATA);
input CLK;
input EN;
input RST;
input LOAD;
input [3:0] DATA;
output [3:0] DOUT;
output COUT;
reg [3:0] Q1 ;
reg COUT ;
assign DOUT = Q1;
always @(posedge CLK or negedge RST) begin
if (!RST) Q1 <= 0;
else if (EN) begin
if (!LOAD) Q1 <= DATA;
else if (Q1<9) Q1 <= Q1+1;
else Q1 <= 4'b0000;
end
end
always @(Q1)
if (Q1==4'h9) COUT = 1'b1;
else COUT = 1'b0;
Endmodule
设计流程:
1.编辑和输入设计文件
(1)、新建一个文件夹
如D:\CNT10 ,本工程所有文件将存放在此目录中。
1)输入VHDL源程序
打开QuartusII,选择菜单File->New。
选择Verilog HDL File,输入源程序。
2)文件存盘
选择File->Save As命令,找到已设立的文件夹D:\CNT10,存盘文件名应与实体名一致,存盘为CNT10.v。
当出现语句“do you want to create…..”的对话框,选择“是”自动创建工程。
这里先选择“否”,即暂时不创建工程流程。
下一步手动创建工程。
(2)、创建工程
1)选择菜单File->New project Wizard命令,即弹出工程设置对话框。
单击此对话框右侧的“…”进行设置,第一行的D:\CNT10表示工程所在的工作库文件夹,第二行的CNT10表示此项工程的工程名,第三行是当前工程顶层文件的实体名。
2)将设计文件CNT10.v添加入工程中。
点“…”按钮,在弹出的对话框中选择CNT10.v文件。
单击“Add”按钮。
3)选择目标芯片
器件选择Cyclone系列中的EP1C6Q240C8。
也可以从主菜单Assignments 的下拉菜单中点击 Device目标芯片设置窗口。
4)工具设置,此处不进行设置,点击Next
5)结束设置
列出了此工程相关设置情况,点击Finish按钮,出现project nevigator 窗口,显示本工程项目的层次结构和各层次的实体名。
2.全程综合与编译
选择Processing->start compilation,等待一段时间,跳出对话框提示编译成功或有错误,并在信息栏显示错误信息。
3.仿真测试
1)打开波形编辑器
选择File->new,选择vector waveform file。
2)设定仿真时间区域
在Edit->end time,在弹出的窗口time栏处输入50,单位选“us”。
3)波形文件存盘,默认文件名为CNT10.vwf
4)将此工程CNT10的端口信号名选入波形编辑器中
View->utility windows项的Node Finder选项。
点击“list”。
5)将端口信号名拖入波形编辑器中,拖完信号后可以关掉浮动窗口
6)按键盘上“CTRL+W”,显示全部仿真时间区域。
7)编辑输入波形(输入激励信号)
8) 仿真器参数设置
9)启动仿真器。
提示是否保存,选择“是”,仿真成功后选“确定”。
10) 观察仿真结果
按键盘上“CTRL+W”,在全部仿真时间区域内观察波形,并分析波形图显示的逻辑功能是否正确
点击“start”将配置文件下载,然后进行硬件测试。
功能仿真截图:
仿真波形图
管脚锁定截图
六、实验结果及分析
(1)RST在任意时刻有效时,如CLK非上升沿时,计数也能即刻清0。
(2)当EN=1,且在时钟CLK的上升沿时刻LODA=0时,4位输入数据DATA=7被加载,在LOAD=1后作为计数器的计数初值,如图所示计数从4加载到7的时序。
计数到9时,COUT输出进位1。
当下一轮计数到2时,尽管出现了加载信号LODA=0,但不加载。
(3)当EN=1,RST=1,LODA=1时,计数正常进行,在计数数据等于9时进位输出高电平。
当计数从7计到8时有一毛刺信号。
七、心得体会
第一次做EDA实验,使用Quartus II感觉很吃力,因为以前都没有接触过电子设计之类的东西。
虽然没有电子基础但还是硬着头皮慢慢去摸索。
经过老师的详细讲解和耐心指导以及同学们的探讨学习,使我对EDA和Quartus II的使用有了一定的了解。
十进制计数器的设计使用Quartus II的时候要注意程序的准确输入才能够顺利通过综合与编译,才能够继续进行接下来的仿真和下载、测试。