实验一 十进制计数器的设计与仿真 电子科技大学
- 格式:doc
- 大小:100.00 KB
- 文档页数:5
模拟集成电路十进制异步计数器设计及仿真课程设计报告“模拟集成电路十进制异步计数器设计及仿真课程设计报告”第一节:引言作为现代电子技术的重要组成部分,模拟集成电路在各种领域中发挥着重要作用。
其中,十进制异步计数器作为模拟集成电路中的一个重要组成部分,具有着广泛的应用前景。
本篇文章将围绕着模拟集成电路十进制异步计数器的设计和仿真展开,探讨其在电子技术中的重要性和应用价值。
第二节:理论基础在深入探讨模拟集成电路十进制异步计数器的设计前,有必要首先了解其理论基础。
十进制异步计数器是一种能够按照十进制计数规律进行计数的电路,并能够在输入脉冲信号的触发下进行递增。
其设计原理涉及到逻辑门的连接和状态转换等内容,需要深入理解和把握。
第三节:设计流程在进行模拟集成电路十进制异步计数器的设计时,需要遵循一定的设计流程。
首先是对其工作原理进行深入理解,并根据要求进行逻辑电路图的绘制。
接着是选择适当的集成电路器件,并进行电路连接和布线设计。
最后则是进行仿真验证和性能测试,以确保其符合设计要求。
第四节:实践应用模拟集成电路十进制异步计数器在实际应用中有着广泛的应用价值。
比如在数字显示系统、计数器系统和数字控制系统中都能够发挥作用。
其设计与实践能够帮助学生更好地理解电子技术的原理,并为日后的工程设计工作打下良好的基础。
第五节:个人观点从我个人的角度来看,模拟集成电路十进制异步计数器的设计和仿真课程设计报告是十分有价值的。
通过深入学习和理解其原理和应用,不仅能够提高我们对电子技术的认识,还能够培养我们的动手能力和实践能力。
这对于我们未来的工程技术学习和研究工作是十分有益的。
总结与回顾通过本文的介绍,我们深入了解了模拟集成电路十进制异步计数器的设计和仿真课程设计报告的重要性和应用价值。
也对其在理论基础、设计流程和实际应用方面有了深入的认识。
这将为我们今后的学习和工程设计工作提供重要的借鉴和指导。
在本篇文章中,我们深入探讨了模拟集成电路十进制异步计数器的设计和仿真课程设计报告,介绍了其在电子技术中的重要性和应用价值。
实验一十进制计数器的设计与仿真一、实验目的熟悉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 ,本工程所有文件将存放在此目录中。
实验四:十进制计数器实验报告
实验日期:2014.4.15 学生姓名:陆小辉(学号:1228402025) 指导老师:黄秋萍 计数器是数字系统中使用最多的时序逻辑电路,其应用非常广泛。
计数器不仅能应用于对时钟脉冲计数,而且应用于定势、分频、产生节拍脉冲和脉冲序列以及进行数字运算等。
一、设计要求:
设计十进制计数器,完成相应功能。
可预置数、可加/减。
二、设计代码如下:
input clk,ldn,clean,enp,ent; input[3:0] i; output [3:0]q; output rco; reg rco; reg [3:0] q; always@(posedge clk or negedge clean) begin if (~clean) begin q=0;rco=0;end else begin casex ({ldn,enp,ent}) 3'b0xx:q=i; 3'b101:if (q>0) q=q-1;else q=9;
3'b110:if (q<9) q=q+1;else begin q=0;rco=1;end default:q=q; endcase end end endmodule
四、仿真波形如下:
续图。
摘要:计数器的功能是记忆脉冲的个数,它是数字系统中应用最广泛的基本时序逻辑构件。
计数器在微型计算机系统中的主要作用就是为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位二进制同步加计数器。
实验一两位十进制计数器一实验目的二实验要求三实验内容及步骤(1)两位十进制计数器项目的建立1 新建一个文件夹作为工程项目的记录2 创建工程项目运行QUARTUS2软件,建立工程,方法是选择file菜单下执行new project wizard 命令(2)基于QUARTUS2的两位十进制计数器的原理图设计建立原理图文件1 运行QUARTUS2软件,选择file菜单执行new。
的命令2 选择block diagram/schematic file 流程图和原理图文件,单击ok进入原理图编辑界面,即建立一个空的原理图文件3元件的选择和放置在原理图编辑区单击鼠标右键或双击鼠标左键,在对应的Name输入相应的名字,即可调出。
选择Repeat-insert mode 即可重复调用4修改输入输出元件(引脚)属性双击任意一个元件,即可修改元件参数5 电路图连线注意网络标号的放置,用鼠标单击线条,则该线处于选中状态,再按右键,选择properties,即可填入网络标号6 保存原理图文件Ctrl+s 或点击file菜单中的save保存,就生成了原理图文件7原理图基于QUARTUS2的两位十进制计数器的编译QUARTUS2的编译方法是选中processing菜单的start compliation 项或者单击快捷键按钮进行编译基于QUARTUS2两位十进制计数器的功能测试1 新建波形文件选择菜单file中的new。
命令,选择verification/debugging中的vector waveform file方式后单击ok按键,进入QUARTUS2波形编辑器在name栏下的空白处双击鼠标,出现insert node or bus对话框,单击node finder 按钮,选择引脚2 设置仿真时间区域在edit菜单中选择end time 项,在弹出的,设置整个仿真的时间,单击ok执行edit菜单中的grid size 。
实验一 10进制计数器设计实验目的:掌握软件设计流程,掌握电路图输入方式,了解和熟悉实验箱。
实验内容:利用74161实现十进制计数,并使用7448实现七段代码显示器显示结果。
原理图:如下图所示仿真结果及结果分析:通过实验,可以得到如下两张仿真结果图。
以下分别是在CLR为低电平和CLR为高电平时的输出(Q[1]-Q[7])波形图和仿真结果图,通过实验以及参考七段显示译码器7448的功能表可知:当CLR为低电平时为十六进制计数功能,即仿真结果图上面会从7E-00计数,即对应的为0-15的数值计数,直到00H即对应值为15时再从0开始计数到15,对应如下仿真图(1);当CLR为高电平时为十进制计数功能,即仿真结果上面会从7E-73计数,即对应0-9的数值计数,直到73H即对应值为9时再从0开始计数到9,对应如下仿真图(2)。
综上所述,如下两张仿真图所示的内容可知,实验结果正确,符合预期的结果。
仿真图(1)仿真图(2)管脚锁定说明:硬件测试情况说明及结果分析:根据原理图上的芯片引脚功能按照设好的引脚用线连接好电路,输出的Q[1]-Q[7]接到七段显示译码器上面,对应芯片的引脚分别为52、53、54、55、58、59、60,CLK的脉冲信号接芯片引脚11,给的脉冲可自己给定,尽量选择让数字变化的情况可以看清的脉冲信号,而CLR接芯片引脚143然后接到控制开关L8,通过L8来控制CLR为高电平或者低电平。
然后把电脑里面的程序和引脚配置情况加载到实验箱的芯片上,在给定脉冲后,当开关L8即CLR接低电平时,七段显示译码器上显示的为16进制数从0-15计数,计数到15后再从0开始到15计数;而当控制L8即CLR接高电平时,七段显示译码器上显示的为10进制数从0-9计数,计数到9时再从0开始新一轮的计数。
通过实验观察可知所做实验符合预期的结果,实验成功。
实验总结:通过这次实验,我们学会了利用74161实现十进制和十六进制计数,并使用7448实现七段代码显示器显示结果。
十进制计数器实验报告十进制计数器实验报告引言:计数器是数字电路中常见的一种电子元件,用于计数和记录输入脉冲的次数。
在数字系统中,常用的计数器有二进制计数器和十进制计数器。
本实验旨在设计和实现一个十进制计数器,并通过实验验证其功能和性能。
一、实验目的本实验的主要目的是设计和实现一个十进制计数器,通过实验验证其功能和性能。
具体目标包括:1. 理解和掌握十进制计数器的工作原理;2. 学习使用逻辑门电路和触发器实现计数器;3. 验证计数器的计数功能和稳定性。
二、实验原理1. 十进制计数器的工作原理十进制计数器是一种能够在十进制数系统中进行计数的电子装置。
它通常由多个触发器和逻辑门组成,每个触发器负责计数一个十进制位。
当触发器的输出达到最大值时,会发出一个进位信号,使下一位触发器计数加1。
通过这种方式,十进制计数器能够实现从0到9的循环计数。
2. 实验所用材料和器件本实验所用的材料和器件包括:- 逻辑门电路芯片(如74LS08、74LS32等)- 触发器芯片(如74LS74)- 电路连接线- 电源供应器- 示波器三、实验步骤1. 搭建十进制计数器电路按照实验原理中所述的十进制计数器的工作原理,搭建一个十进制计数器电路。
根据实验所用的材料和器件,选择逻辑门电路芯片和触发器芯片,将它们按照正确的连接方式连接起来。
确保连接的准确性和稳定性。
2. 进行计数器功能测试将电源供应器连接到电路上,给予适当的电压和电流。
使用示波器观察计数器的输出波形,并记录下每个触发器的计数值。
通过观察波形和计数值,验证计数器的计数功能是否正常。
3. 进行计数器稳定性测试在计数器正常计数的情况下,观察计数器的稳定性。
持续观察一段时间,记录下计数器的计数值是否保持稳定。
如果计数器的计数值在一段时间内保持不变,则说明计数器具有较好的稳定性。
四、实验结果与分析根据实验步骤所述,我们搭建了一个十进制计数器电路,并进行了功能测试和稳定性测试。
实验结果显示,计数器的计数功能正常,能够从0到9循环计数。
eda10进制计数器实验报告1B计算机组成原理教学实验箱一台,排线若干。
2) PC机一台。
3、实验步骤与源程序l) 根据该模型机的指令系统,编写一段程序。
这里给出两个参考程序。
参考程序一:本程序从输入设备(数码开关)取入数据,保存在内存单元08,然后从08单元送到输出设备(LED数码管)进行显示。
然后程序停止(请实验者考虑:如何修改程序,使程序不断从输入设备取出数据,送到输出设备显示。
每次循环过程中,可以使输入设备数据改变,考察输出显示的结果。
)。
设计机器指令程序如下(机器码为十六进制数据)。
地址内容助记符说明00 00 IN;输入开关数据→R00120 STA [08H] ;R0→[08]02 08 ;地址03 30 OUT [08H] ;[08H] →BUS04 08 ;地址05 40 JMP [00H] ;00H→PC06 00 ;跳转地址参考程序二:本程序从输入设备(数码开关)读入数据,与0A单元的数据相加,然后送到输出设备(LED数码管)进行显示。
本程序不断地循环运行,在运行中可改变输入开关(INPUT)的值,观察输出显示的变化。
设计机器指令程序如下(机器码为十六进制数据)。
地址内容助记符说明00 00 IN;输入开关数据→R0,采集数据0110 ADD [0AH] ;R0+[0AH]→R0,输入数据与指定数据相加02 0A ;地址0320 STA [0BH] ;R0→[0B]04 0B ;地址05 30 OUT [0BH] ;[0BH] →BUS,输出显示06 0B ;地址07 40 JMP [00H] ;00H→PC08 00 ;跳转地址0A 01 ;加数,可自定0B ;求和结果保存在0B单元2) 按图1连接实验线路。
3) 写程序:对于本实验箱可以用两种方法来写入程序。
方法一:手动写入(1)先将机器指令对应的微代码正确地写入2816中,由于在实验1.6微程序控制器的组成与微程序设计实验中已将微代码写入E2PR0M芯片中,对照表2—2校验正确后就可使用。
一、实验要求及方案设计B,用D触发器实现分频模块D触发器构成的二分频电路实际上就是将D触发器转换为T触发器,将D端与~Q端短接之后,输出的频率就是原有频率的1/2。
按特性方程可知,每一CP脉冲触发后,Q状态翻转一次。
所以,Q端输出脉冲的频率则为CP脉冲频率的二分之一。
电路图如下:Cp脉冲时序图图中很明显,当遇到下降沿时cp脉冲翻转一次,如此下去,最终Q的频率是cp的1/2。
----------CP-----------QC,用74LS161实现计数模块74LS161的工作原理:74LS161是常用的四位二进制可预置的同步加法计数器。
引脚图如下,其中:1号引脚CLR为清零端,只要CLR=0各触发器均被清零,计数器输出为0000。
不清零时应使CLR=1。
9号引脚为预置数控制端,本次实验中我是使用的清零端,所以将预置端PE=1使之不工作。
7号引脚CEP和10号引脚CET是使能端,只有当CEP=CET=1时,74LS161才会进入到计数状态。
3,4,5,6为输入引脚,在实验中我将4个引脚短接之后接高电平。
11,12,13,14为输出引脚,将4个引脚按高低位顺序依次送入译码器的DBCA端。
又因为我是使用的清零来实现9转到0,所以要将‘1010’这个状态转为0,也就是将11和13号引脚与非之后接入到CLR清零端。
需要注意的是:11号引脚是高位,必须对应译码器中的D端。
引脚图如下:74LS161利用异步清零电路图如下:2,实验的总体逻辑连接电路图VCCOUTU1555_TIMER_RATEDGNDDIS RST THR CONTRI R168kΩR215kΩC110nFC210uF VCC 5V VSS 0VXSC1A BExt Trig++__+_U274LS112D~1CLR 151J 31K 21CLK 1~1PRE 41Q 5~1Q 6GND 8~2Q 72Q 9~2PRE 102CLK 132K 122J 11~2CLR 14VCC 16U374161N QA 14QB 13QC 12QD 11RCO15A 3B 4C 5D6ENP 7ENT10~LOAD 9~CLR 1CLK2U4A 7400NU574LS48DA 7B 1C 2D 6OA 13OD 10OE 9OF 15OC 11OB 12OG14~LT 3~RBI 5~BI/RBO 4GND8VCC 16U6A B C D E F G CKR350Ω135678921041416171518111213VSSVCC5、实验分析与计算在使用555定时器做多谐振荡器时,需要注意它必须接复位开关,每启动一次,先将复位开关接地端,然后,再接高位端。
实验一十进制计数器的设计与仿真
一、实验目的
熟悉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的时候要注意程序的准确输入才能够顺利通过综合与编译,才能够继续进行接下来的仿真和下载、测试。