EDA实验报告:十进制计数器
电子设计自动化EDA技术实验四报告模板-10进制计数器设计

南京工程学院自动化学院实验报告课程名称电子设计自动化EDA技术实验项目名称10进制计数器设计实验学生班级实验学生姓名同组学生姓名实验时间实验地点实验成绩评定指导教师签字年月日24其中D 表示输入初始计数值,Sta 为计数开始,Q 表示当前计数值;LD 表示预制计数值,LD 为“0”,初始计数值打入器件;UD 表示计数方向,UD 为‘0’,计数器加计数,UD 为‘1’,计数器减计数;C 表示器件工作态,C 为‘0’,表示计数器正在计数;C 为‘1’,表示计数器计数结束;CP 为计数脉冲。
四、实验方案设计、实验方法 1. 实验方案10进制计数器的VHDL 描述有多种方法,设计过程中可以采用计数脉冲CP 作为敏感量,CP 的每个上升沿,计数值Q 加‘1’或减‘1’,加到‘9’后回‘0’或减到‘0’后回‘9’,语句可采用case …when 、with …select 、if …then 以及加减运算等多种结构实现。
也可以首先设计基本的触发器、锁存器等元件,而后通过元件的互联实现。
本实验中根据真值表用if-then 结构实现10进制计数器 2. 实验方法首先根据前文所述,对照真值表的列出的不同输入逻辑状态,分情况依次输出于输入的对应关系,而后编译综合,由开发系统自行实现电路功能。
五、实验步骤1. 设计输入 利用FILE\New 菜单输入VHDL 源程序,创建源文件D0 D1 D2 D3 CP Sta LD UDQ0 Q1 Q2 Q3 C62. 器件及管脚逻分配图管脚分配情况如图,所选器件为EPM7032AELCC44-43. 仿真波形10进制计数器的仿真波形如下图,从波形可以得出,输入输出满足前文真值表,设计电路功能达到设计要求4. 时序分析图上述时间分析可以得到,输出信号存在3ns的时间延迟,它主要与器件速度、表达逻辑的合理性有关,选用速度更高器件、优化设计可以使该值降低。
8。
EDA课程设计之十进制计数器流程

2.1 十进制计数器流程2.11 建立工作库文件夹和编辑设计文件任何一项设计都是一项工程(Project),都必须首先为此工程建立一个放置与此工程相关的所有设计文件的文件夹。
此文件夹将被EDA软件默认为工作库(Work Library)。
一般,不同的设计项目最好放在不同的文件夹中,而同一工程的所有文件都必须放在同一文件夹中。
在建立了文件夹后就可以将设计文件通过Quartus II的文本编辑器编辑并存盘,步骤如下:(1)新建一个文件夹。
这里假设本项设计的文件夹取名为CNT10B,在D盘中,路径为d:\cnt10b 。
注意,文件夹名不能用中文,也最好不要用数字。
(2)输入源程序。
打开QuartusII,选择菜单File→New。
在New窗口中的Device Design Files中选择编译文件的语言类型,这里选择“VHDL File”(如图2-1所示)。
然后在VHDL 文本编译窗中输入(键入)例3-22所示的VHDL示例程序。
图2-1 选择编辑文件的语言类型《示例程序和实验指导课件位置》:\EDA_BOOK3_FOR_1C6\chpt4\EXPT53_cnt10\工程cnt10【例3-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 : OUT STD_LOGIC );END 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 CLK'EVENT AND CLK='1' THEN --检测时钟上升沿IF EN = '1' THEN --检测是否允许计数(同步使能)IF CQI < 9 THEN CQI := CQI + 1; --允许计数, 检测是否小于9 ELSE 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;(3)文件存盘。
EDA十进制计数器的设计

物理与电气工程学院课程设计报告十进制计数器设计一、实验任务熟悉QuartusⅡ的Verilog HDL文本设计流程全过程,学习计数器的设计、仿真和硬件测试。
EDA的设计流程为原理图/HDL文本编辑、逻辑综合、FPGA/CPLD适配、FPGA/CPLD编程下载。
EDA的设计所用的软件是Quartus II 软件,Quartus II 软件可以用图形输入、VHDL文本输入的方法输入,之后进行时序仿真,EDA设计流程的最后一步是将程序下载到开发板上,进行硬件测试。
二、实验原理根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1秒的对输入信号脉冲计数允许的信号;1秒计数结束后,计数值锁入锁存器的锁存信号和为下一测频计数周期作准备的计数器清0信号。
这3个信号可以由一个测频控制信号发生器产生,即图6-24中的TESTCTL,它的设计要求是,TESTCTL的计数使能信号CNT_EN能产生一个1秒脉宽的周期信号,并对频率计的每一计数器CNT10的ENA使能端进行同步控制。
当CNT_EN高电平时,允许计数;低电平时停止计数,并保持其所计的脉冲数。
在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前1秒钟的计数值锁存进各锁存器REG4B中,并由外部的7段译码器译出,显示计数值。
设置锁存器的好处是,显示的数据稳定,不会由于周期性的清零信号而不断闪烁。
锁存信号之后,必须有一清零信号RST_CNT对计数器进行清零,为下1秒钟的计数操作作准备。
按规定编写程序如下:module CNT10 (CLK,RST,EN,LOAD,COUT,DOUT,DATA);input CLK,EN,RST,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) beginif (!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编写Verilog程序描述一个电路,实现以下功能:设计带有异步复位、同步计数使能和可预置型的十进制计数器。
进制计数器的EDA设计

十进制计数器的E D A设计(总4页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--十进制计数器的EDA设计一、实验目的1.掌握十进制计数器的基本原理及设计方法。
2.掌握七段译码器电路的设计方法。
3. 掌握Maxpuls软件的应用。
二、实验原理实验原理图如下图1实验电路结构如图1所示。
主要由消抖电路、BCD码计数器和七段译码器构成,各部分电路介绍如下:本实验采用的BCD码计数电路由74160构成,74160 是十进制同步计数器(异步清除),在其功能表中,当LDN、ENT、ENP、CLRN四个输入端都接高电平时,对CLK输入脉冲上升沿进行计数,由QA-QD输出8421码。
具体电路如图3所示。
本实验采用的七段译码器电路由7447和外部共阴极数码管构成,7447七段译码器将BCD8421码译成数码管所需的七段数显码,真值表如表1所示。
具体电路如图3所示。
图3 开关防颤动电路开关防颤动电路图2 开关防颤动电路图3 BCD计数器和七段译码器表1 七段译码器真值表数据线输出线D C B A a b c d e f g00001111110 00010110000 00101101101 00111111001 010******** 010******** 01101011111 01111110000 10001111111 10011111011三、实验内容与步骤1.打开PC机界面MAX+plusⅡ软件,输入图4的电路图。
2.选菜单File\Project\Set Project to Current File,然后选菜单MAX+plusⅡ\complier编辑当前图形文件。
图4 10进制脉冲计数器3.用Byte Blaster下载缆线联结PC机并口和实验箱J1(JTAG),打开实验箱电源开关。
选择菜单项MAX+plus II\Programmer,单击Program按钮,即开始下载程序。
EDA实验二 含异步清零和同步使能的十进制加减法计数器

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;仿真结果如下:。
十进制计数器

⼗进制计数器EDA实验⼀:⼗进制计数器(2013-05-25 00:38:40)转载▼标签:杂谈实验⼀QuartusII的VHDL输⼊设计--- 应⽤QuartusII完成基本时序电路的设计姓名:李静学号:1023019857 ⽇期:2013-05-22(⼀)实验⽬的:熟悉QuartusⅡ的VHDL⽂本设计过程,学习简单时序电路的设计、仿真和测试。
(⼆)实验仪器:计算机⼀台,ALTERA公司Cyclone系列的EP1C3TC144芯⽚实验箱。
(三)实验原理:对于异步清零和同步加载与时钟使能的计数器:当时钟信号CLK、复位信号RST、时钟使能信号EN或加载信号LOAD中任⼀信号发⽣变化,都将启动进程。
此时如果RST为‘0’,将计数器清零,该操作独⽴于CLK,如果RST为‘1’,则看是否有时钟信号的上升沿,如果有且EN=‘1’,接下去是判断加载控制信号LOAD的电平,如果LOAD为低电平,则允许将输⼊⼝的四位加载数据置⼊计数器中,以便计数器在此基础上累计计数。
如果LOAD为⾼电平,则允许计数器计数;此时若数值⼩于9,计数器将进⾏正常计数,否则计数器清零。
但如果EN=‘0’,则计数器保持原值不变。
(四)实验内容:设计含异步清零和同步加载与时钟使能的计数器(使⽤例3-20),给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。
实验程序:【例3⼀20】:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 ISPORT (CLK,RST,EN,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 CNT10;ARCHITECTURE behav OF CNT10 ISBEGINPROCESS(CLK, RST, EN,LOAD)VARIABLE Q : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINIF RST = '1' THEN Q:= (OTHERS =>'0') ; --计数器异步复位ELSIF CLK'EVENT AND CLK='1' THEN --检测时钟上升沿IF EN = '1' THEN --检测是否允许计数(同步使能)IF LOAD = '0' THEN Q:= DATA;ELSE --由LOAD='0'装载新数据IF Q < 9 THEN Q:= Q + 1; --允许计数,检测是否⼩于9ELSE Q:= (OTHERS =>'0'); --⼤于9,计数值清零END IF;END IF;END IF;END IF;IF Q = "1001" THEN COUT <= '1'; --计数⼤于9,输出进位信号 ELSE COUT <= '0';END IF;DOUT <= Q; --将计数值向端⼝输出END PROCESS;END behav;实验内容Ⅱ:引脚锁定以及硬件下载测试。
太原理工大学EDA实验报告-2位十进制加法器

实验报告课程名称:EDA技术与FPGA应用设计课设题目:2位十进制计数器实验地点:信息学院楼CPLD实验室专业班级:学号:学生姓名:指导教师:张文爱2016年4月1日实验二2位十进制计数器一、实验目的1.熟悉ispDesignEXPERT System、QuartusII的原理图设计流程的全过程。
2.学习简单时序电路的设计方法。
3.学习EDA设计的仿真和硬件测试方法。
二、实验原理2位十进制计数器参考原理图如图1所示,也可以采用其他元件实现。
图1.用74LS390设计一个有时钟使能的2位十进制计数器三、实验任务(1)设计2位十进制计数器电路。
(2)在EDA环境中输入原理图。
(3)对计数器进行仿真分析、引脚锁定、硬件测试。
四、实验步骤1、设计电路原理图设计含有时钟使能及进位扩展输出的十进制计数器。
可以选用双十进制计数器74LS390或者十进制计数器74LS160和其他一些辅助元件来完成。
2、计数器电路的实现。
绘制过程中应特别注意图形设计规则中信号标号和总线的表达方式。
若将一根细线变成一粗线显示的总线,可以先单机使其变红,再选Option选项中的Line Style;若在某线上加信号标号,也应该点击该线某处使其变成红色,然后键入标号名称,标有相同标号的线段可视为连接线段,不必直接连接。
总线可以以标号方式进行连接。
3、编程测试。
五、实验结果图2.用74LS390设计一个有时钟使能的2位十进制计数器六、实验感想通过本次实验学会了简单时序电路的设计方法。
学会了使用QuartusII软件调用元器件库进行原理图设计的方法和设计流程。
这次实验让我学会了用FPGA设计电路并且学会了FPGA的设计过程和实现方法。
提高了动手能力,加深了对所学知识的理解。
这次EDA实验,提高了动手能力,加深了对所学知识的理解。
电子设计自动化EDA技术实验四报告模板-10进制计数器设计

南京工程学院自动化学院实验报告课程名称电子设计自动化EDA技术实验项目名称10进制计数器设计实验学生班级实验学生姓名同组学生姓名实验时间实验地点实验成绩评定指导教师签字年月日其中D 表示输入初始计数值,Sta 为计数开始,Q 表示当前计数值;LD 表示预制计数值,LD 为“0”,初始计数值打入器件;UD 表示计数方向,UD 为‘0’,计数器加计数,UD 为‘1’,计数器减计数;C 表示器件工作态,C 为‘0’,表示计数器正在计数;C 为‘1’,表示计数器计数结束;CP 为计数脉冲。
四、实验方案设计、实验方法 1. 实验方案10进制计数器的VHDL 描述有多种方法,设计过程中可以采用计数脉冲CP 作为敏感量,CP 的每个上升沿,计数值Q 加‘1’或减‘1’,加到‘9’后回‘0’或减到‘0’后回‘9’,语句可采用case …when 、with …select 、if …then 以及加减运算等多种结构实现。
也可以首先设计基本的触发器、锁存器等元件,而后通过元件的互联实现。
本实验中根据真值表用if-then 结构实现10进制计数器 2. 实验方法首先根据前文所述,对照真值表的列出的不同输入逻辑状态,分情况依次输出于输入的对应关系,而后编译综合,由开发系统自行实现电路功能。
五、实验步骤1. 设计输入 利用FILE\New 菜单输入VHDL 源程序,创建源文件D0 D1 D2 D3 CP Sta LD UDQ0 Q1 Q2 Q3 C2. 器件及管脚逻分配图管脚分配情况如图,所选器件为EPM7032AELCC44-43. 仿真波形10进制计数器的仿真波形如下图,从波形可以得出,输入输出满足前文真值表,设计电路功能达到设计要求4. 时序分析图上述时间分析可以得到,输出信号存在3ns的时间延迟,它主要与器件速度、表达逻辑的合理性有关,选用速度更高器件、优化设计可以使该值降低。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
M <= "0010"; SELOUT <= "11111110"; PROCESS(clk) BEGIN
IF(CLK'event and CLK ='1') THEN IF(CLR='1') THEN Q<="0000"; ELSIF(EN='1') THEN IF(Q="1001") THEN Q<="0000"; ELSE Q <= Q+1; END IF; END IF;
END IF; END PROCESS;
4
重庆三峡学院实验报告纸
JINWein <='1' when EN='1' and Q="1001" else '0';
PROCESS(Q)--数码管的段选 BEGIN CASE Q IS
when "0000" => SEGOUT <= "00111111" ;--0 when "0001" => SEGOUT <= "00000110" ;--1 when "0010" => SEGOUT <= "01011011" ;--2 when "0011" => SEGOUT <= "01001111" ;--3 when "0100" => SEGOUT <= "01100110" ;--4 when "0101" => SEGOUT <= "01101101" ;--5 when "0110" => SEGOUT <= "01111101" ;--6 when "0111" => SEGOUT <= "00000111" ;--7 when "1000" => SEGOUT <= "01111111" ;--8 when "1001" => SEGOUT <= "01101111" ;--9 when others => NULL; END CASE ; END PROCESS; END a; 四.绘制波形并仿真:
6
ቤተ መጻሕፍቲ ባይዱ
重庆三峡学院实验报告纸
2. 将未分配的管脚置为三态输入: 【Assignments】→【Device…】 →【Device】 →【Device & Pin
Options…】 →【Unused Pins】 →【Reserve all unused pins : AS input tri-stated】。 四、实验总结 1.通过本次实验了解十进制同步加载、异步复位计数器的工作原理:
5
重庆三峡学院实验报告纸
1. 当时钟信号(CLK)为高电平,且 CLR 也为高电平时,计数清 0,并重 新开始计数;
2. 当使能信号 EN 为低电平的时候,保持; 3. 当 Q 值等于 9 时,jinwei 信号发生一次翻转,表示进位一次。 4. 显示 4,数码管编码为:01100110 五:分配管脚: 1.添加管脚信息,选择 【Assignments】→【Pin Planner】, 为每个节点分配引脚;或者点击快捷方式进行管脚分配。
PORT( CLR,EN,CLK: IN STD_LOGIC; JinWein : OUT STD_LOGIC; SEGOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --
SEG7 Display O/P SELOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --
A. 时钟信号(CLK)为上升沿时,计数一次; B. 十进制数计数 0~9,满 9 进 1; 2.D 触发器是 CMOS 数字集成电路单元中时序逻辑电路中的重要组成部 分之一;D 触发器属于时钟控制触发,时钟信号为高电平时触发器改变 输出状态。 3.当时钟信号(CLK)为高电平,且 CLR 也为高电平时,计数清 0,CLR 是高电平清 0 还是低电平清 0 是由程序指定; 4.当使能信号 EN 为低电平的时候,保持;EN 是高电平还是低电平保持 是由程序指定;
2
重庆三峡学院实验报告纸
态(0 或 1),直到下一个上升沿。 二.基本时序元件的 VHDL 表述:
时钟信号的上升沿描述:clock’event and clock = ‘1’; 时钟信号的下降沿描述:clock’event and clock = ‘0’; 三.编写程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY jishuqi is
7
Select SEG7 O/P Q : buffer STD_LOGIC_VECTOR( 3 DOWNTO 0); --
3
重庆三峡学院实验报告纸
Number Display Signal M : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)
); END jishuqi; ARCHITECTURE a OF jishuqi IS
实验报告
课程名称
EDA 原理及应用
实验名称
十进制计数器
实验类型 验证 系别 年级班别 级 班 学生姓名 实验教师 编号
学时 专业 开出学期 学号 成绩
2 第期
年月 日
一、实验目的
重庆三峡学院实验报告纸
1. 熟悉数码管的工作原理;
2. 熟悉 D 触发器的工作原理;
二、实验内容
用 VHDL 语言设计一个带有异步复位和同步加载功能的十进制加法计算器:
1. 用 VHDL 语言编辑;
2. 生成波形仿真;
3. 熟悉分析芯片管脚的操作过程;
4. 下载到试验箱进行仿真。
三、实验过程、步骤及结果
一.学习 D 触发器:
D 触发器模块图
D 触发器时序波形图 由 D 触发器模块图可知:D 触发器两个输入信号,一个是时钟信号(CLK), 一个是输入信号(D);一个输出信号(Q)。 由 D 触发器时序波形图可知:当 CLK 为上升沿的时候,输出 D 对应的状