实验一 十进制计数器的设计与仿真 电子科技大学
数电实验报告十进制计数器设计

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.本试验没有连接到实验板测试,不过可以将输出信号接至LED灯口,发光为高电平,根据发光的顺序判断计数器是否正常工作
2.遇到的问题,时钟信号上升沿和下降沿判断错误
3.二进制码->格雷码:从最右边该位的值,最左边一位不变
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
实验报告
2017年12月7日成绩:
姓名
学号
班级
专业
课程名称
《数字电路实验》
任课老师
指导老师
机位号
实验序号
12
实验名称
十进制计数器设计
实验时间
2017.12.7
实验地点
一教225
十进制计数器实验报告

when 4=>seg7<="1100110";
when 5=>seg7<="1101101";
when 6=>seg7<="1111101";
when 7=>seg7<="0000111";
when 8=>seg7<="1111111";
when 9=>seg7<="1100111";
2,建完工程后,再建一个VHDL FILE,打开VHDL编辑器对话框.
3,按照实验原理和自己的想法,在VHDL编辑窗口编写Verilog程序.
4,编写完Verilog程序后,保存起来.注意顶体名跟程序实体名要一致.
5,对自己编写的Verilog程序进行编译并仿真,对程序的错误进行修改.
6,编译仿真无误后,进行管脚分配.分配完成后,再进行全编译一次,以使管脚分配生效.
signal seg7:std_logic_vector(6 downto 0);
signal countnum: integer range 0 to 9;
signal clk_1k: std_logic;
begin
r<="011111";
process(clk)
variable cnt1:integer range 0 to 5000;
end if;
else
cnt1:=cnt1+1;
end if;
end if;
end process;
模拟集成电路十进制异步计数器设计及仿真课程设计报告

模拟集成电路十进制异步计数器设计及仿真课程设计报告“模拟集成电路十进制异步计数器设计及仿真课程设计报告”第一节:引言作为现代电子技术的重要组成部分,模拟集成电路在各种领域中发挥着重要作用。
其中,十进制异步计数器作为模拟集成电路中的一个重要组成部分,具有着广泛的应用前景。
本篇文章将围绕着模拟集成电路十进制异步计数器的设计和仿真展开,探讨其在电子技术中的重要性和应用价值。
第二节:理论基础在深入探讨模拟集成电路十进制异步计数器的设计前,有必要首先了解其理论基础。
十进制异步计数器是一种能够按照十进制计数规律进行计数的电路,并能够在输入脉冲信号的触发下进行递增。
其设计原理涉及到逻辑门的连接和状态转换等内容,需要深入理解和把握。
第三节:设计流程在进行模拟集成电路十进制异步计数器的设计时,需要遵循一定的设计流程。
首先是对其工作原理进行深入理解,并根据要求进行逻辑电路图的绘制。
接着是选择适当的集成电路器件,并进行电路连接和布线设计。
最后则是进行仿真验证和性能测试,以确保其符合设计要求。
第四节:实践应用模拟集成电路十进制异步计数器在实际应用中有着广泛的应用价值。
比如在数字显示系统、计数器系统和数字控制系统中都能够发挥作用。
其设计与实践能够帮助学生更好地理解电子技术的原理,并为日后的工程设计工作打下良好的基础。
第五节:个人观点从我个人的角度来看,模拟集成电路十进制异步计数器的设计和仿真课程设计报告是十分有价值的。
通过深入学习和理解其原理和应用,不仅能够提高我们对电子技术的认识,还能够培养我们的动手能力和实践能力。
这对于我们未来的工程技术学习和研究工作是十分有益的。
总结与回顾通过本文的介绍,我们深入了解了模拟集成电路十进制异步计数器的设计和仿真课程设计报告的重要性和应用价值。
也对其在理论基础、设计流程和实际应用方面有了深入的认识。
这将为我们今后的学习和工程设计工作提供重要的借鉴和指导。
在本篇文章中,我们深入探讨了模拟集成电路十进制异步计数器的设计和仿真课程设计报告,介绍了其在电子技术中的重要性和应用价值。
实验一基于原理图的十进制计数器

seg7A
seg7
2.十进制计数 器的设计
调用ISE软件自带的“Counter”库中的 十进制计数器CD4CE。
CD4CE是一个同步十进制器,输入有异 步清零控制端CLR、工作使能控制端CE和 时钟输入端C,输出有BCD码计数值输出 端Q3~Q0,进位输出端TC和输出状态标 志位CEO。
2
生成下载配置文件。
准备硬件开发板,
3
连接外围显示模块,
连接好下载线。
实验报告
1 叙述实验的具体 步骤。
分析并说明本次
2 实验所完成的工 程文件结构关系。
记录本实验中所
3 完成的FPGA资 源耗用情况和运 行时钟频率。
4 如何分析仿真软 件运行出的结果?
在仿真激励信号 的设计上组合电
5 路和时序电路分 别关注的重点是 什么?为什么?
请同学们抓紧时间进 行实验!
单/击/此/处/添/加/副/标/题/内/容
NET "clk" LOC = P57 | IOSTANDARD = LVCMOS33 |
CLOCK_DEDICATED_ROUTE = FALSE;
NET "ce" LOC =P32 | IOSTANDARD = LVCMOS33;
NET "clr" LOC = P20 | IOSTANDARD = LVCMOS33;
时钟端使能控制端
异步清零端
02
十进制计数 器
03
七段数码管 显示译码器
七段数码管属于数码管的一种,是由7段二极管组成。
1.七段数码管 译码器的设计
按发光二极管单元衔接方式分为共阳极数码管和共阳极数码管。本实验使用共阳数 码管。它是指将一切发光二极管的阳极接到一同构成公共阳极(COM)的数码管。 共阳数码管在应用时应将公共极COM接到电源VCC上,当某一字段发光二极管的 阴极为低电平相应字段就点亮,当某一字段的阴极为高电平相应字段就不亮。
实验一 十进制计数器的设计与仿真 电子科技大学

实验一十进制计数器的设计与仿真一、实验目的熟悉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 ,本工程所有文件将存放在此目录中。
十进制计数器的制作与调试

任务 十进制计数器的制作与调试
3. 同步RS触发器的主要特点
(1)时钟控制。在CP=1期间接收输入 信号,CP=0时状态保持不变,与基本RS 触发器相比,对触发器状态的转变增加了 时钟控制。
(2)R、S之间有约束条件。不能允许出 现R和S同时为1的情况,否则会使触发器 处于不确定的状态。
任务 十进制计数器的制作与调试
(一) 二进制译码器
二进制译码器是将输入的二进制代码“翻译”成 为其原来所对应信息的组合逻辑电路。它有n个输入端, 2n个输出端。一般称为n线-2n线译码器,且对应于输 入代码的每一种状态,2n个输出中只有一个为1(或为 0),其余全为0(或为1)。图4-2所示为3线-8线译码器 74LS138的引脚排列及惯用图形符号。
图4-8 74LS48与共阴极数码管相连
任务 十进制计数器的制作与调试
活动
小组成员讨论译码 电路的实现方法,以译 码器74LS248为例来制 作一个0~9一位数字的 显示电路。首先了解 74LS248芯片的结构和 功能,其惯用图形符号 如图4-9所示。
图4-9 74LS248的惯用图形符号
任务 十进制计数器的制作与调试
任务 十进制计数器的制作与调试
共阴极显示译码器有7448、74LS48和74C48等,其特点是: 有效高电平输出;内部有升压电阻,因而无须外部电阻;试灯输 入;前、后沿零灭灯控制;显示译码器有灯光调节能力;输出最 大电压为 5.5 V,吸收电流为6 mA。共阳极显示译码器7446的引 脚排列及惯用图形符号如图4-5所示。其功能表见表4-3。从表中 可以看到,当输入信号DCBA为0000~1001时,分别显示0~9数 字信号;当输入1010~1110时,显示非数字信号,当输入1111时, 7个显示段全暗。
实验报告(十进制计数器)

实验四:十进制计数器实验报告
实验日期: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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一十进制计数器的设计与仿真
一、实验目的
熟悉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的时候要注意程序的准确输入才能够顺利通过综合与编译,才能够继续进行接下来的仿真和下载、测试。