EDA60进制计数器设计
EDA 60进制计数器设计

《EDA技术》课程实验报告学生姓名:**所在班级:***指导教师:**记分及评价:报告满分3分得分一、实验名称实验6:60进制计数器设计二、任务及要求【基本部分】1、在QuartusII平台上,采用文本输入设计方法,通过编写VHDL语言程序,完成60进制计数器的设计并进行时序仿真。
2、设计完成后生成一个元件,以供更高层次的设计调用。
3、实验箱上进行验证。
【发挥部分】在60进制基础上设计6进制计数器,完成时序仿真。
三、实验程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt60 isport(clk,rst:in std_logic;seg:out std_logic_vector(7 downto 0);dig:out std_logic_vector(1 downto 0));end;architecture one of cnt60 issignal t:std_logic_vector(23 downto 0);signal clk_cnt,clk_scan:std_logic;signal q:integer range 0 to 59;signal d:integer range 0 to 9;beginprocess(clk)beginif clk'event and clk='1'thent<=t+1;end if;end process;clk_cnt<=t(23);clk_scan<=t(16);process(rst,clk_cnt)beginif rst='0'thenq<=0;elsif clk_cnt'event and clk_cnt='1'then if q=59 thenq<=0;elseq<=q+1;end if;end if;end process;process(clk_scan)begincase clk_scan iswhen'0'=> dig<="10";d<=q mod 10;when'1'=> dig<="01";d<=q/10;when others=>dig<="11";end case;end process;with d selectseg <= X"C0" when 0,X"F9" when 1,X"A4" when 2,X"B0" when 3,X"99" when 4,X"92" when 5,X"82" when 6,X"F8" when 7,X"80" when 8,X"90" when 9,X"FF" when others;end;四、硬件验证1、引脚锁定情况表:五、小结这次实验是运用QuartusII软件对六十进制计数器进行仿真。
六十进制计数器的仿真与设计

图 15 60 进制计数器电路 PCB 图
通过上面的电路板 PCB 图,此电路板有两个数码显示管、两个芯片和插口以及 连线组成,所以计数器的数字将会由数码显示管显示出来。 5.设计体会:
自己对 Multisim 7.0 有了进一步的了解,接触了以前自己没有接触过元件和这些 元件所在库,这个软件可以进行电路的连接以及仿真,对于 Multisim 7.0 这些虚拟元 件和现实元件有了了解,对于如何改变元件参数也有了一定的掌握。当然,自己在以 后的学习中会更加努力学习。争取多多掌握一些自己专业相关的知识,丰富自己的知 识面。
图 4 非门 74LS04D 逻辑框图
原理说明:
非门逻辑关系:Y=(A)’
图 5 用于计数的发光二极管 3word 格式支持编辑,如有帮助欢迎下载支持。
工作状态 置零 预置数 保持
保持 计数
文档从互联网中收集,已重新修正排版,word 格式支持编辑,如有帮助欢迎下载支持。
图 6 提供高电平的电压源
2.4 六十进制计数器仿真原理图 六十进制计数器仿真原理图如图 9 所示。
图 10 60 进制计数器仿真原理图
六十进制计数器主要测试点:
观察数码显示器,计数状态从 0~59,再从 0 开始计数,并有译码显示并产生进
位输出。
2.5 测试方案
2.5.1 所需元件及其用途
采用 76LS16ຫໍສະໝຸດ 同步十进制计数器两片级联的形式构成一百进制计数器,再用置数
图 9 protel DXP 软件的原理框图
通过 protel DXP 绘制的 60 进制计数器原理图由两个数码显示管、两个芯片以及插线
组成,将会实现 60 进制计数器的显示完成。所完成的数字将会在数码显示管上面显
EDA技术六十进制计数器实验报告

六十进制计数器一、设计任务利用Verilog HDL 编程语言编写代码并下载到试验箱中,在七段数码管上实现六十进制计数器的功能。
二、设计过程程序中输入信号为时钟信号clk和异步置数端clr,输出信号为七位的out端和两位的选通信号ctr。
为实现六十进制计数器的功能,程序中使用了三个always块语句,第一个always块结合第三个always块共同实现了七段数码器的功能,即将十进制数字在七段译码管上正确显示。
代码实现为:always @ (posedge clk or negedge clr)beginif(!clr) begin state=s0 ; ctr=0 ;endelsebegincase (state)s0:begin ctr=2'b10; temp=temp_a; state=s1; ends1:begin ctr=2'b01; temp=temp_b; state=s0; endendcaseif(cp==2)beginc=1;cp=0;endelsebegincp=cp+1;c=0;endendendalways @ (temp)begincase(temp)4'd0:out=7'b1111110;4'd1:out=7'b0110000;4'd2:out=7'b1101101;4'd3:out=7'b1111001;4'd4:out=7'b0110011;4'd5:out=7'b1011011;4'd6:out=7'b1011111;4'd7:out=7'b1110000;4'd8:out=7'b1111111;4'd9:out=7'b1111011;default:out=7'b0000000;endcaseendendmodule第二个always块则使用控制语句实现了{temp_a,temp_b}从0到59的跳转,实现了六十进制计时器的基本功能。
EDA-六十进制计数器的VHDL设计概要

THEN
3.1.3 VHDL的数据类型
1. BIT:位数据类型,只有两个取值:‘0’和‘1’。 2. BIT_VECTOR( ): 位矢量数据类型。 3. STD_LOGIC:标准逻辑位数据类型。有9种不同的取值: 4. STD_LOGIC_VECTOR():标准逻辑位矢量数据类型。
STD_LOGIC所定义的9种数据的含义是:
数据类型时,需要使用库和程序包,具体格式如下所示:
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;
3.2 VHDL的完整结构
图2-2 D触发器
D触发器的功能:在时钟信号上升沿到来的时候,输 出跟随输入变化,否则,输出保持不变。
3.2.1 时钟上升沿检测表式
时钟上升沿的检测有两种表达方式:
1. CLK’EVENT AND CLK = ‘1’
2. RISING_EDGE(CLK)
3.2.2 D触发器的VHDL设计
库与程序包声明 标准逻辑位
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL ; 库 ENTITY DFF1 IS 程序包 PORT (CLK : IN STD_LOGIC ; 实体 D : IN STD_LOGIC ; Q : OUT STD_LOGIC );
END DFF1;
3.3 六十进制计数器的VHDL设计
六十进制BCD码计数器的源程序:
实体名
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY cnt60 IS PORT (clk, clr: IN STD_LOGIC; ten, one: DOWNTO 0 ); OUT STD_LOGIC_VECTOR(3
EDA 60进制计数器的设计

《EDA技术》课程实验报告学生姓名:黄红玉所在班级:电信1002指导教师:高金定老师记分及评价:一、实验名称实验2:60进制计数器的设计二、任务及要求【基本部分】4分1、在QuartusII平台上,采用原理图输入设计方法,调用两片74160十进制计数器,采用反馈置数法,完成一个60进制同步计数器的设计,并进行时序仿真。
2、要求具备使能功能和异步清零功能。
3、设计完成后生成一个元件,以供更高层次的设计调用。
4、实验箱上选择恰当的模式进行验证,目标芯片为ACEX1K系列EP1K30TC144-3。
【发挥部分】1分思考:采用反馈清零法设计的计数器与反馈置数法有何不同?请用实例进行仿真。
三、实验程序(原理图)四、仿真及结果分析设计60进制与设计24进制的步骤几乎一样。
调用两片74160十进制计数器,采用反馈置数法,设计一个60进制同步计数器的思路是,一片74160计数器作为个位计数,一片用来十位计数,要实现同步60进制,则个位接成1001,十位接成0101,再用一个五输入(一段接一个使能信号EN)的与非门同时接到两片74160计数器上的置数端LDN上。
把原理图在QuartusII上画成后,进行编译,编译无误后,在新建一个波形文件,添加所有引脚,设置输入引脚的波形,最后在进行波形编译,无误后即可达到想要的60进制。
然后再根据EPF10K30E144芯片引脚对照,输入各个输入输出引脚的引脚号,再链接到试验箱检验,观察数码管的显示结果。
五、硬件验证1、选择模式:模式72、引脚锁定情况表:六、小结在这次试验中,通过指导老师起初的讲解以及阅读相关课本,我对QuartusII平台有了进一步的了解,初步知道整个设计过程。
在设计过程中,许多问题的暴露使得我们不仅对数字电路原理有了更加深刻的了解,也使我们对QuartusII平台的使用规则有了更多的了解。
掌握这门技术为今后更多的设计工作打下了基础,我受益匪浅。
60进制计数器课程设计

60进制计数器课程设计60进制计数器设计 (1)绪论 (1)1.1设计背景 (1)1.2设计思想 (1)2器件介绍 (2)2.1电阻 (2)2.2电容 (3)2.3 555秒发⽣器 (3)2.4 74ls00 (5)2.574ls90 (6)2.674ls48 (7)3软件仿真 (8)3.1 555仿真图 (8)3.2 60进制仿真图 (9)3.3 仿真图 (9)4焊接⽅法 (11)4.1焊接⽅法 (11)4.2 注意事项 (12)4.3调试 (12)4.4实际图 (13)5总结 (14)6致谢 (16)7 参考⽂件 (17)60进制计数器设计摘要:60进制计数器的设计是以数电和模电为基础,结合模电⾥⾯的置零⽅法,利⽤了555芯⽚、74ls00、74ls48、74ls90以及显⽰管和各种电阻电容组成的。
利⽤74ls90可以实现制数功能,可以单独制成⼗进制。
利⽤74ls00(与⾮门)与74ls90可以制成6进制,再利⽤74ls48和显⽰管就可以在基于EWB的软件平台上完成该设计。
本设计采⽤较为常⽤的74系列芯⽚,及555芯⽚实现了信号灯与信号脉冲同步实现、同步控制,进⽽提⾼了整个系统的稳定性、独⽴性。
在实际⽣活中我们⽤60进制的有钟表的秒分进制。
随着我国科学技术与⾼科技的发展,对于仪器精度的要求更加的⾼,为了满⾜中国⾼科技的发展需求研究⾼精度计数器对于我国的航天、电⼦等业务具有很⼤的作⽤.关键字:60进制555芯⽚74ls00 74ls48 74ls90绪论1.1设计背景计数器是⼀个⽤以实现计数功能的时序部件,它不仅可⽤来及脉冲数,还常⽤作数⼦系统的定时、分频和执⾏数字运算以及其它特定的逻辑功能。
⽬前,⽆论是TTL还是CMOS集成电路,都有品种较齐全的中规模集成计数器。
使⽤者只要借助于器件⼿册提供的功能和⼯作波形图以及引出端的排列,就能正确运⽤这些器件。
计数器在现代社会中⽤途中⼗分⼴泛,在⼯业⽣产、各种和记数有关电⼦产品。
数电-课程设计-60进制计数器

表1 十进制计数器功能表CP RD` LD` EP ET 工作状态×0 ××置零↑ 1 0 ××预置数× 1 1 0 1 保持× 1 1 ×0 保持↑ 1 1 1 1 计数连接方式如图:图2 十进制计数器(个位)2、十进制计数器(十位)电路图3 十进制计数器(十位)3、时钟脉冲电路图4 时钟脉冲电路4、置数电路图5 置数电路5、进位电路图6 进位电路6、译码显示电路图7 译码显示电路三、绘制原理图1、完整原理图图7 计数器原理图2、选定仪器列表仪器名称型号数量用途同步十进制计数器74LS160 2片极联构成60进制计数器与门与非门非门74LS21D74LS00D74LS04D各1个辅助设计构成其他计数器共阴极显示器DCD-HEX 2只显示数字计数电压源1个提供脉冲电压表二原理图仪器列表四、测试方案测试步骤:1)进入Multisim7界面图8 软件页面2)右击空白处,选择放置元件,进入元器件选择区,选择要放置的元件,然后单击好。
图9 放置元件3)放置好各种器件之后,即可进行线路连接,同时标明所需参数值。
设置元器件的参数时,用鼠标双击,弹出属性对话框,分别给元件赋值,并设置名称标号。
图10 元器件属性图4)确认电路无误后,即可单击仿真按钮,实现对电路的仿真工作。
5)观察结果看是否与理论分析的预测结果相同。
五、测试验证结果与分析1、验证结果以下两个仿真结果分别是计数器计数的仿真起点00和仿真终点59,之后计数器会自动恢复原来的00起点继续进行循环计数,并且进位输出灯会在59时发光。
图11 60进制计数器起点00 图12 60进制计数器终点592、理论分析本计数器由两个10进制计数器构成60进制计数器的接线图,右边的10进制计数器作为个位,左边的10进制计数器作为十位。
输入端全部接地,计数开始循环一周后通过置位法自动进行归00,之后再继续循环计数。
VHDL60进制计数器实验

《EDA技术》课程实验报告学生姓名:所在班级:电信1001指导教师:记分及评价:项目满分5分得分一、实验名称60进制计数器设计二、任务及要求【基本部分】4分1、在QuartusII平台上,采用文本输入设计方法,通过编写VHDL语言程序,完成60进制计数器的设计并进行时序仿真。
2、设计完成后生成一个元件,以供更高层次的设计调用。
3、实验箱上选择恰当的模式进行验证,目标芯片为ACEX1K系列EP1K30TC144-3。
【发挥部分】1分在60进制基础上设计6进制计数器,完成时序仿真。
三、实验程序Library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;Entity j602 Isport (clk:in std_logic;ent:in std_logic;rst:in std_logic;y0: out std_logic_vector(3 downto 0);y1: out std_logic_vector(3 downto 0);cout: out std_logic);End j602;Architecture j602 of j602 issignal cnt0 :std_logic_vector(3 downto 0);signal cnt1 :std_logic_vector(3 downto 0);Begincout<='1' when (cnt1="0101" and cnt0="1001" and ent = '1') else '0';process(clk,rst)BeginIf rst ='0' Thencnt0<="0000";cnt1<="0000";elsif clk'event and clk='1' Thenif ent = '1' Thenif cnt0="1001" Thencnt0<="0000";if cnt1="0101" Thencnt1<="0000";elsecnt1<=cnt1+1;end if;elsecnt0<=cnt0+1;end if;end if;end if;end process;y0<=cnt0;y1<=cnt1;end j602;四、仿真及结果分析五、硬件验证1、选择模式:模式5六、小结通过这次实验,使我明白了用VHDL语言编程和用设计原理图实现同样功能器件的区别,从而加深的对EDA的理解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《EDA技术》课程实验报告
学生姓名:
所在班级:
指导教师:
记分及评价:
报告满分3分
得分
一、实验名称
实验6:60进制计数器设计
二、任务及要求
【基本部分】
1、在QuartusII平台上,采用文本输入设计方法,通过编写VHDL语言程序,完成60进制计数器的设计并进行时序仿真。
2、设计完成后生成一个元件,以供更高层次的设计调用。
3、实验箱上进行验证。
【发挥部分】
在60进制基础上设计6进制计数器,完成时序仿真。
三、实验程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity sixth is
port(clk:in std_logic;
co:out std_logic;--jin wei
qh:buffer std_logic_vector(3 downto 0);--shi wei
ql:buffer std_logic_vector(3 downto 0));--ge wei
end entity sixth;
architecture art of sixth is
begin
co<='1'when(qh="0101"and ql="1001")else'0';
process(clk)
begin
if(clk='1')then
if(ql=9)then
ql<="0000";
if(qh=5)then
qh<="0000";
else
qh<=qh+1;
end if;
else
ql<=ql+1;
end if;
end if;
end process;
end architecture art;
四、仿真及结果分析
图6-1 60进制计数器仿真图
用VHDL语言实现一个六十进制计数器,该计数器有计数使能端en,清零端clr和进位输出端co。
档en=1时,计数器正常计数;当clr=1时,计数器清零。
最后在试验箱上仿真,数码管显示了0到59,则60进制计数器完成。
五、硬件验证
1、选择模式:
2、引脚锁定情况表:
六、小结
1、六进制程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity six is
port(clk,en,clr:in std_logic;
co:out std_logic;--jin wei
qh:buffer std_logic_vector(3 downto 0));--shi wei
end entity six;
architecture art of six is
begin
co<='1'when(qh="0101" and en='1')else'0';
process(clk)
begin
if(clr='0')then
qh<="0000";
elsif(clk'event and clk='1')then
if(en='1') then
if(qh=5)then
qh<="0000";
else
qh<=qh+1;
end if;
end if;
end if;
end process;
end architecture art;
2、六进制仿真结果
图6-2 6进制计数器仿真图
3、总结
这次实验仿真了六十进制计数器运用到了QuartusII软件。
通过学习设计,初步掌握了QuartusII软件的使用并且深入地体会到VHDL语言的广泛应用。
这次实验让我感觉收获颇多,一方面培养了我用自己的专业知识解决问题的能力,进一步理解了理论必须运用于实际的重要性,加深了我对这门课程及专业知识的理解,对以后的工作学习生活都有很大的意义;另一方面我也发现自己很多的不足,对以前所学过的知识理解得不够深刻,掌握得不够牢固,这都是自己以后需要深入学习和克服的问题。
在今后的学习中,我会发挥积极主动的精神,把所学知识与实践结合起来,努力掌握Quartus II 设计软件和VHDL设计语言的使用方法。