当前位置:文档之家› VHDL设计一个24进制BCD码计数器。

VHDL设计一个24进制BCD码计数器。

VHDL设计一个24进制BCD码计数器。
VHDL设计一个24进制BCD码计数器。

设计一个24进制BCD码计数器。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY h24 IS

PORT(

CLK1HZ : IN STD_LOGIC;

EN : IN STD_LOGIC;

LOW : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

HIGH : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)

);

END h24;

ARCHITECTURE rtl of h24 IS

SIGNAL LOW_REG : STD_LOGIC_VECTOR(3 DOWNTO 0):="0000"; SIGNAL HIGH_REG : STD_LOGIC_VECTOR(3 DOWNTO 0):="0000"; SIGNAL CLR : STD_LOGIC:='0';

BEGIN

--个位计数

LOW_PROC:PROCESS(CLK1HZ,EN,CLR)

BEGIN

IF rising_edge(CLK1HZ) THEN

IF EN = '1' THEN

IF LOW_REG = "1001" OR CLR = '1' THEN --23:59进位

LOW_REG <= "0000";

ELSE LOW_REG <= LOW_REG + '1';

END IF;

END IF;

END IF;

END PROCESS;

LOW <= LOW_REG;

--十位计数

HIGH_PROC:PROCESS(CLK1HZ,EN,CLR)

BEGIN

IF rising_edge(CLK1HZ) THEN

IF EN = '1' THEN

IF CLR = '1' THEN

HIGH_REG <= "0000";

ELSIF LOW_REG = "1001" THEN

HIGH_REG <= HIGH_REG + '1';

END IF;

END IF;

END IF;

END PROCESS;

HIGH <= HIGH_REG;

CLR <= '1' WHEN LOW_REG = "0011" AND HIGH_REG = "0010" ELSE '0'; --23点以后进位

END rtl;

60进制计数器

电子技术基础实验 课程设计 60进制计数器 学期:2015-2016(一) 班级:电自1418 姓名:张垚 学号:2014302010933 日期:2015年12月30日

一、实验目的 (一)掌握中规模集成计数器74LS161的引脚图和逻辑功能。 (二)熟悉555集成定数器芯片的引脚图。 (三)利用74LS161和555定时器构成60进制计数器。 (四)在Multisim软件中仿真60进制计数器。 二、实验内容 (一)集成计数器74LS161逻辑功能验证。 (二)用555定时器构成多谐振荡器。 (三)用两片74LS161和555定时器构成60进制计数器。 三、集成计数器介绍 (一)集成计数器74LS161管脚介绍 74LS161是4位二进制同步加法计时器。图1为它的管脚排列图,集成芯片74LS161的CLR是异步清零端(低电平有效),LOAD是异步预置数控制端(低电平有效)。CLK是时钟脉冲输入端,RCO是进位输出端,ENP、ENT 是计数器使能端,高电平有效。A、B、C、D是数据输入端;QA、QB、QC、QD是数据输出端。 图1 74LS161管脚排列图 (二)集成计数器74LS161功能介绍 由表1可知,74LS161具有以下功能: 1.异步清零。当CLR=0时,无论其他各输入端的状态如何,计数器均被直接置“0”。 2.同步预置数。当CLR=1、LOAD=0且在CP上升沿作用时,计数器将ABCD 同时置入QA、QB、QC、QD,使QA、QB、QC、QD=ABCD。

3.保持(禁止)。CLR=LOAD=1且ENP、ENT=0时,无论有无CP脉冲作用,计数器都将保持原有的状态不变(停止计数)。 4.计数。CLR=LOAD=ENP=ENT=1时,74LS161处于计数状态。 表1 74LS161功能表 四、用555定时器构成多谐振荡器 (一)多谐振荡器的构成 由555定时器构成的多谐振荡器如图1所示,R1,R2和C是外接定时元件,电路中将高电平触发端(THR脚)和低电平触发端(TRI脚)并接后接到R2和C的连接处,将放电端(DIS脚)接到R1,R2的连接处。 (二)工作原理 由于接通电源瞬间,电容C来不及充电,电容器两端电压为低电平,小于(1/3)Vcc,故高电平触发端与低电平触发端均为低电平,输出为高电平,放电管V1截止。这时,电源经R1,R2对电容C充电,使电压按指数规律上升,当上升到(2/3)Vcc时,输出为低电平,放电管V1导通,把从(1/3)Vcc 上升到(2/3)Vcc由于放电管V1导通,电容C通过电阻R2和放电管放电,电路进人第二暂稳态,其维持时间的长短与电容的放电时间有关,随着C的放电,下降,当下降到(1/3)Vcc时,输出为高电平,放电管V1截止,Vcc再次对电容C充电,电路又翻转到第一暂稳态。

模可变计数器设计(Verilog语言)概览

模可变计数器设计 (一)实验目的 1、进一步熟悉实验装置和QuartusⅡ软件的使用; 2、进一步熟悉和掌握EDA设计流程; 3、学习简单组合、时序电路的EDA设计; 4、学习计数器中二进制码到BCD码的转换技巧; 5、学习实验装置上数码管的输出方法。 (二)设计要求 完成设计、仿真、调试、下载、硬件测试等环节,在EDA实验装置上实现模可变计数器功能,具体要求如下: 1、设置一个按键控制改变模值,按键按下时模为10-99之间(具体数值自行确定)的 数,没按下时模为100-199之间(具体数值自行确定)的数; 2、计数结果用三位数码管十进制显示。 (三)主要仪器设备 3、微机1台 4、QuartusII集成开发软件1套 5、EDA实验装置1套 (四)实验步骤 主要有三个模块 1:一个模20和模119的计数器 2:数码管的显示 3:BCD的调整 源程序: module count (clk,m,en,rst,a,sel,SG,d); input clk,m,en,rst; output [7:0] SG; output [2:0] sel; output a; (* synthesis, keep *) reg clk1; (* synthesis, keep *) wire [3:0] gw,sw,bw; /*(* synthesis, keep *) */reg [3:0]a; reg [11:0] q; reg [11:0] model;

reg [7:0] cnt,SG; reg [2:0] sel; reg [0:0]d; output [0:0]d; always @(posedge clk) begin cnt=cnt+1; if (cnt==200) begin clk1=1'b1; cnt=0; end else clk1=1'b0; //200分频,CLK为数码管扫描频率,CLK1为计数频率 if (sel<2) sel=sel+1; else sel=0; end //sel为数码管选择 always @(sel) begin case (sel) 0: a=bw; //0数码管为百位 1: a=sw; //1数码管为十位 2: a=gw; //2数码管为个位 default: a=0; endcase case (a) 0:SG<=8'b00111111; 1:SG<=8'b00000110; 2:SG<=8'b01011011; 3:SG<=8'b01001111; 4:SG<=8'b01100110; 5:SG<=8'b01101101; 6:SG<=8'b01111101; 7:SG<=8'b00000111; 8:SG<=8'b01111111; 9:SG<=8'b01101111; //8段译码值 default: SG=8'b11111111; endcase end always @(m) if (m) model=12'b000000100000; //模值20 else model=12'b000100011001; //模值119 assign gw=q[3:0]; assign sw=q[7:4]; assign bw=q[11:8]; always @(posedge clk1,negedge rst) begin if (!rst) q=0; else if (en) begin if (q

模可变计数器设计Verilog语言

模可变计数器设计 V e r i l o g语言 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

模可变计数器设计 (一)实验目的 1、进一步熟悉实验装置和QuartusⅡ软件的使用; 2、进一步熟悉和掌握EDA设计流程; 3、学习简单组合、时序电路的EDA设计; 4、学习计数器中二进制码到BCD码的转换技巧; 5、学习实验装置上数码管的输出方法。 (二)设计要求 完成设计、仿真、调试、下载、硬件测试等环节,在EDA实验装置上实现模可变计数器功能,具体要求如下: 1、设置一个按键控制改变模值,按键按下时模为10-99之间(具体数值自行确定) 的数,没按下时模为100-199之间(具体数值自行确定)的数; 2、计数结果用三位数码管十进制显示。 (三)主要仪器设备 3、微机1台 4、QuartusII集成开发软件 1套 5、EDA实验装置1套 (四)实验步骤 主要有三个模块 1:一个模20和模119的计数器

2:数码管的显示 3:BCD的调整 源程序: module count (clk,m,en,rst,a,sel,SG,d); input clk,m,en,rst; output [7:0] SG; output [2:0] sel; output a; (* synthesis, keep *) reg clk1; (* synthesis, keep *) wire [3:0] gw,sw,bw; /*(* synthesis, keep *) */reg [3:0]a; reg [11:0] q; reg [11:0] model; reg [7:0] cnt,SG; reg [2:0] sel; reg [0:0]d; output [0:0]d; always @(posedge clk) begin cnt=cnt+1; if (cnt==200) begin clk1=1'b1; cnt=0; end else clk1=1'b0; //200分频,CLK为数码管扫描频率,CLK1为计数频率 if (sel<2) sel=sel+1; else sel=0; end //sel为数码管选择 always @(sel) begin case (sel) 0: a=bw; //0数码管为百位 1: a=sw; //1数码管为十位 2: a=gw; //2数码管为个位 default: a=0; endcase case (a) 0:SG<=8'b00111111; 1:SG<=8'b00000110; 2:SG<=8'b01011011; 3:SG<=8'b01001111; 4:SG<=8'b01100110; 5:SG<=8'b01101101; 6:SG<=8'b01111101; 7:SG<=8'b00000111; 8:SG<=8'b01111111; 9:SG<=8'b01101111; //8段译码值 endcase end always @(m) if (m) model=12'b000000100000; //模值20 assign gw=q[3:0]; assign sw=q[7:4]; assign bw=q[11:8];

设计一个24进制计数器(时序逻辑电路设计实验 )

阶段性考核之三:【平时成绩15分】 时序逻辑部分设计型实验报告 实验题目设计一个24进制计数器 学生姓名 班级 学号 任课教师 实验成绩 完成时间2015年07月20号

实验题目设计一个24进制计数器 实验目的 本次实验要求学生设计一个24进制计数器电路。其目的在于: 1.使学生学会用555定时器自行产生时钟脉冲的设计方法; 2.使学生深入理解用已有集成计数器实现任意进制计数器的设计过 程,并用数码管显示相应数字; 3.进一步锻炼学生的动手实践能力。 具体实验要求 选用4位二进制集成计数器74LS161设计一个24进制计数器。 1.试用整体清零法仿真实现上述24进制计数器; 2.试用整体置数法仿真实现上述24进制计数器。 3.要求用实物搭接时实现上述1、2中任意一种情况即可。 4.24进制要求必须用74LS161实现,不允许用74LS160。 5.用数码管显示24个状态对应的十进制数 6.在该实验报告中要有完整的设计过程、仿真电路图和实验调试过程。 7.总结本次实验的收获、体会以及建议,填入本实验报告的相应位置 中。【收获、体会必须写!】 设计过程 一.用555定时器实现秒脉冲的设计过程 555 定时器是一种模拟和数字功能相结合的中规模集成器件。R是复位端,当其为0时,555输出低电平,平时该端开路或接VCC。Vc是控制电压端(5脚),平时输出2/3VCC作为比较器A1的参考电平,当5脚外接一个输入电压,即改变了比较器的参考电平,从而实现对输出的另一种控制,在不接外加电压时,通常接一个0.01uf的电容器到地,起滤波作用,以消除外来的干扰,以确保参考电平的稳定。T为放电管,当T导通时,将给接于脚7的电容器提供低阻放电电路。555 定时器成本低,性能可靠,只需要外接几个电阻、电容,就可以实现多谐振荡器、单稳态触发器及施密特触发器等脉冲产生与变换电路。 对于555定时器构成的多谐振荡电路所产生的脉冲的周期,依据公式周期T=(R1+2R2)Cln2 可以求得,当C2为0.01uF,若C1取22uF,可计算出R1+2R2=66kΩ时可得到周期为1s,频率为1Hz的振荡信号,所以令R1=34kΩ,R2=16kΩ。 二.整体清零法实现24进制计数器 1.设计过程: 要实现整体清零,就要利用R D 端进行清零(在实际器件的端口是CLR端),即将24 进制最终清零信号分别接入两个74LS161芯片的R D 端,以实现整体清零,考虑到清

数字电路设计--------二十四进制计数器

数字电路设计 姓名:*** 学号:****************** 班级:电信111 专业:电子信息科学与技术 一.设计题目 二十四进制计数器的设计 二.设计要求 (1)要求学生掌握74系列的芯片和LED的原理和使用方法。 (2)熟悉集成电路的使用方法,能够运用所学的知识设计一规定的电路。三.设计任务 (1)完成一个二十四进制的计数器。 (2)LED显示从00开始,各位计数从0—9,逢10 进1,是为计数0—5。23显示后,又从00重新开始计数。 四.设计思路与原理 (一)设计思路框图 →→→ → (二)LED简介 LED是一种显示字段的显示器件,7个发光二极管构成七笔字形“8”,一个发光二极管构成小数点。七段发光管分别称为a、b、c、d、e、f,g,构成字型“8”,如图(a)

所示,当在某段发光二极管上施加一定的电压时,某些段被点亮发光。不加电压则变暗,为了保护各段LED不被损坏,需外加限流电阻。 其真值表如下:

(三)原件总汇表:计数器74LS00D(U7A,U7B),74HC390N-6V(U3A,U6A),74LS47N(U1,U5);与门:时钟脉冲:显示器:发光二极管:电感:电容:电源 五.电路图仿真 二十四进制计数器电路仿真

六.心得体会 通过这一次的数字电路设计,是我更深的了解到了数字电路的基础知识,电路分析与计算的方法。利用仿真软件对电路进行一系列的分析仿真,更加抽象的将理论知识与实际电路结合在一起,加深了对数电一些基本定理的理解与运用。虽然在这学期中,数字电子技术基础学的不是很好,但是在这次的课程设计中通过同学的帮组还是完成了。虽然做的不是很好,但是从中也让我明白了:要想做好这个课程设计,就必须认认真真地去做,不要怕麻烦,遇到不懂的问题就要主动去问同学或者老师。和查阅材料,保持着一个积极向上的心态,发挥我们自己的主观能动性和创造了才能让我们做的更好。在这次课程设计中让我学到了很多东西,在经过我们一个学期的数字电子技术基础课后,我们已经对数字电子技术有一定的了解,让我们有了一定的基础可以独立完成数字电子技术基础课程设计了,不过当中还是遇到许多不懂的问题。

基于74LS192的任意进制计数器的设计

基于74LS192的任意进制计数器的设计 【摘要】利用集成二、十进制计数器采用置数法、置零法设计任意进制计数器,分析设计方法,给出设计案例。以集成计数器74LS192为例,运用置零法和置数法设计八进制计数器和二十四进制计数器,来讲述任意进制计数器的设计原理与基本方法。 【关键词】集成计数器;任意进制计数器的设计;置数法;置零法 一、引言 数字系统中的时序电路中,使用最多的电路就是计数器,计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。集成计数器是运用的最为广泛的一种时序部件。集成计数器的种类非常多样,如果按计数器中数字的编码方式分类,可分为二进制计数器,十进制计数器等。集成计数器中,二进制和十进制计数器比较多见,对于任意进制计数器,通常利用现有的二、十进制计数器通过反馈清零或反馈置数来实现。任意进制计数器在控制系统中经常使用,是数字电子技术教学的重点内容之一,也是学生设计性实验的难点之一,以下就以集成计数器74LS192为例,介绍在已有的计数器基础上设计任意进制计数器的方法。 二、设计依据及举例 1.74LS192的管脚图 74LS192是同步十进制可逆计数器,它由四个主从T触发器和一些门电路组成。具有双时钟输入、清零、保持、并行置数、加计数、减计数等功能。图1为74LS192的管脚图。 图1 74LS192的管脚图 图1中:CLR是清零端,高电平有效;UP是递加计数脉冲输入端;DOWN是递减计数脉冲输入端;~LOAD是置数控制端,低电平有效;~CO是进位输出端;~BO是借位输出端。ABCD是置数端口。 2.任意进制计数器M小于N的情况 假定已有的是N进制计数器,需要得到的是M进制计数器。这时就有M小于N和M大于N两种情况。 例题为用74LS192设计一个八进制计数器: 在N进制的计数器的计数顺序中,使计数器的计数状态跳过N-M的状态,

变模计数器

数字电路课程设计报告 ——变模计数器 课程设计任务书 一﹑题目:16进制计数器, 计数器的计数模值可变,计数模M从2~16变化,用多路开关控制M的选择。 原始条件:该系统由计数模值设置开关电路、变模控制模块、16进制计数器、显示驱动电路构成。 二、要求完成设计的主要任务如下:(变模计数器输出状态表如表2-1所示。 电路设计框图如图2-1所示。)

图2-1变模计数器设计框图 一、实验目的 1、设计变模计数器,掌握变模计数器的设计方法,实现二~十六进 制之间的转换。 2、掌握中规模集成计数器74LS85的逻辑功能和使用方法 3、计数器的计数模M值可变,多路开关控制M的选择

二、设计理念 变模开关控制电路: 设置三个开关来控制切换A、B、C三个输入端,就可以实现001到111的进制实现功能。 变模控制电路: 计数器四位输出送4-16译码器,译码器输出接16选1数据选择器,数 据选择器控制端接模设置开关电路(拨码开关)。 显示驱动电路: 计数器输出送显示译码器,再送4段LED显示器。 三、实验原理 通过161计数器计数输出送给4-16译码器,再送给选择器,最后显示驱动。通过计数器的计数模值可变,计数模M从2~16变化,用多路控 制M的选择。 根据变模计数器的引脚图,电路图(如下图所示)。进行变模计数器的设计。 四、实验设备 74LS85 一个 74LS161 一个 74LS00 一个 导线若干 面包板一个

电路板一个 电源线一个 五、实验内容 (1)电路图: 手绘电路图(2)各芯片的引脚图

74LS00引脚图 74LS85引脚图

EDA技术实践课程设计--24进制计数器课件

东北石油大学EDA技术实践课程设计 课程EDA技术实践课程设计 题目24进制计数器 院系电气信息工程学院电气系 专业班级 学生姓名 学生学号 指导教师 年7月25日

EDA技术实践课程设计任务书 课程EDA技术实践课程设计 题目24进制计数器 专业电气工程及其自动化姓名学号 主要内容: 1.熟练掌握Quartus II软件的使用。 2.熟练掌握在QuartusII平台上用原理图或者VHDL语言进行电路设计的方法。 3.学会用例化语句对EDA电路设计中顶层电路进行描述。 基本要求: 1.熟悉仿真开发软件Quartus II的使用; 2.根据功能要求,用原理图或文本输入方式完成设计; 3.用Quartus II做波形仿真调试; 4.下载至EDA试验仪调试设计。 主要参考资料: [1]潘松,黄继业. 《EDA技术实用教程》[M].北京:科学出版社,2002. [2]卢杰,赖毅. 《VHDL与数字电路设计》[M].北京:科学出版社,2001. [3]张明. 《Verilog HDL实用教程》[M].成都:电子科技大学出版社,1999. [4]郑家龙,王小海,章安元.《集成电子技术基础教程》[M].北京:高等教育出版社,2002. [5]王金明,杨吉斌. 《数字系统设计与Verilog HDL》[M].北京:电子工业出版社,2002. 完成期限 指导教师 专业负责人 年7 月18日

目录 1设计 (1) 2方案选择与电路原理图的设计 (1) 2.124进制计数器的基本原理 (1) 2.2设计流程图 (1) 2.3原理图 (1) 374LS161元件说明 (2) 3.1 简介 (2) 3.274ls161管脚图与介绍 (2) 3.374ls161功能表 (3) 3.474ls161主要特点 (3) 4设计过程 (4) 4.1新文件的建立 (4) 4.2宏功能模块的使用 (5) 4.3普通元件的添加 (8) 4.4 电路连接 (9) 5功能仿真 (9) 6出现的问题及调试方法 (11) 7总结 (11) 参考文献 (12) 附录VHDL语言编写的该程序清单 (13)

EDA 24进制计数器的设计

《EDA技术》课程实验报告 学生姓名:黄红玉 所在班级:电信100227 指导教师:高金定老师 记分及评价: 一、实验名称 实验1:24进制计数器的设计 二、任务及要求 【基本部分】5分 1、在QuartusII平台上,采用原理图输入设计方法,调用两片74160十进制计数器,采 用反馈置数法,完成一个24进制同步计数器的设计,并进行时序仿真。 2、要求具备使能功能和异步清零功能。 3、设计完成后生成一个元件,以供更高层次的设计调用。 4、实验箱上选择恰当的模式进行验证,目标芯片为ACEX1K系列EP1K30TC144-3。 三、实验程序(原理图) 四、仿真及结果分析

在QuartusII平台上,采用原理图输入设计方法,调用两片74160十进制计数器,采用反馈置数法,设计一个24进制同步计数器的思路是,一片74160计数器作为个位计数,一片用来十位计数,要实现同步24进制,则个位接成0011,十位接成0010,再用一个四输入(一段接一个使能信号EN)的与非门接到两片74160计数器上的置数端LDN。把原理图在QuartusII上画成后,进行编译,编译无误后,在新建一个波形文件,添加所有引脚,设置输入引脚的波形,最后在进行波形编译,无误后即可达到想要的24进制。然后再根据EPF10K30E144芯片引脚对照,输入各个输入输出引脚的引脚号,再链接到试验箱检验,观察数码管的显示结果。 五、硬件验证 1、选择模式:模式7 2、引脚锁定情况表: 六、小结 经过这次的实验工作,让我知道了许多的东西,也对QuartusII这个软件的一个初步认识及应用,也让我了解了许多在书本上所学不到的知识和技能,这为我们在以后的工作起了非常重要的作用。

数字电路设计--------二十四进制计数器

数字电路设计 姓名: *** 学号: ****************** 班级:电信 111 专业:电子信息科学与技术 一.设计题目 二十四进制计数器的设计 二.设计要求 (1)要求学生掌握74系列的芯片和LED的原理和使用方法。 (2)熟悉集成电路的使用方法,能够运用所学的知识设计一规定的电路。 三.设计任务 (1)完成一个二十四进制的计数器。 (2)LED显示从00开始,各位计数从0—9,逢10 进1,是为计数0—5。23显示 后,又从00重新开始计数。 四.设计思路与原理 (一)设计思路框图 →→→ → (二)LED简介 LED是一种显示字段的显示器件,7个发光二极管构成七笔字形“8”,一个发 光二极管构成小数点。七段发光管分别称为a、b、c、d、e、f,g,构成字型“8”,如图 (a)所示,当在某段发光二极管上施加一定的电压时,某些段被点亮发光。不加电压则变 暗,为了保护各段LED不被损坏,需外加限流电阻。

其真值表如下: (三)原件总汇表:计数器74LS00D(U7A,U7B),74HC390N-6V(U3A,U6A),74LS47N(U1,U5);与门:时钟脉冲:显示器:发光二极管:电感:电容:电源 五.电路图仿真 二十四进制计数器电路仿真

六.心得体会 通过这一次的数字电路设计,是我更深的了解到了数字电路的基础知识,电路分析与计算的方法。利用仿真软件对电路进行一系列的分析仿真,更加抽象的将理论知识与实际电路结合在一起,加深了对数电一些基本定理的理解与运用。虽然在这学期中,数字电子技术基础学的不是很好,但是在这次的课程设计中通过同学的帮组还是完成了。虽然做的不是很好,但是从中也让我明白了:要想做好这个课程设计,就必须认认真真地去做,不要怕麻烦,遇到不懂的问题就要主动去问同学或者老师。和查阅材料,保持着一个积极向上的心态,发挥我们自己的主观能动性和创造了才能让我们做的更好。在这次课程设计中让我学到了很多东西,在经过我们一个学期的数字电子技术基础课后,我们已经对数字电子技术有一定的了解,让我们有了一定的基础可以独立完成数字电子技术基础课程设计了,不过当中还是遇到许多不懂的问题。

24进制计数器

24进制计数器的VHDL语言设计 默认分类2008-01-11 09:55:57 阅读1772 评论4 字号:大中小 摘要: 介绍了使用VHDL语言设计24进制计数器, 给出了功能仿真波形, 举例说明了实现电子设计自动化(EDA ) 的过程。 关键词: VHDL语言; 24进制计数器; 功能仿真; 电子设计自动化 一、前言: EDA技术的应用:电子EDA技术发展迅猛,逐渐在教学、科研、产品设计与制造等各方面都发挥着 巨大的作用: 在教学方面:让学生了解EDA的基本原理和基本概念、描述系统逻辑的方法、使用工具进行电子电路课程的模拟仿真实验并在作毕业设计时从事简单电子系统的设计,为今后工作打下基础。具有代表性的 是全国每两年举办一次大学生电子设计竞赛活动。 在科研方面:主要利用电路仿真工具进行电路设计与仿真;利用虚拟仪器进行产品调试;例如在CDMA无线通信系统中,所有移动手机和无线基站都工作在相同的频谱,为区别不同的呼叫,每个手机有一个唯一的码序列,CDMA基站必须能判别这些不同观点的码序列才能分辨出不同的传呼进程;这一判别是通过匹配滤波器的输出显示在输人数据流中探调到特定的码序列;FPGA能提供良好的滤波器设计,而且能完成DSP高级数据处理功能,因而FPGA在现代通信领域方面获得广泛应用。 在产品设计与制造方面:从高性能的微处理器、数字信号处理器一直到彩电、音响和电子玩具电路等,EDA技术不单是应用于前期的计算机模拟仿真、产品调试,而且也在P哪的制作、电子设备的研制与生产、电路板的焊接、朋比的制作过程等有重要作用。可以说电子EDA技术已经成为电子工业领域不可缺 少的技术支持。 EDA技术发展趋势:EDA技术在进入21世纪后,,在仿真和设计两方面支持标准硬件描述语言的功能强大的EDA软件不断更新、增加,使电子EDA技术得到了更大的发展,突出表现在以下几个方面:使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能;基于EDA工具的ASIC设计标准单元已涵盖大规模电子系统及IP核模块;软硬件IP核在电子行业的产业领域、技术领域和设计应用领域得到进一步确认;SoC高效低成本设计技术的成熟。随着半导体技术、集成技术和计算机技术的迅猛发展,电子系统的设计方法和设计手段都发生了很大的变化。可以说电子EDA技术是电子设计领域的一场革 本文用VHDL语言设计了一个24进制计数器, 举例说明利用VHDL语言实现电子设计自动化(EDA) 的过程 二、24进制计数器的设计 24进制计数器设计VHDL语言: LIBRARY IEEE;

实验六verilog设计分频器计数器电路答案

实验六 Verilog设计分频器/计数器电路 一、实验目的 1、进一步掌握最基本时序电路的实现方法; 2、学习分频器/计数器时序电路程序的编写方法; 3、进一步学习同步和异步时序电路程序的编写方法。 二、实验内容 1、用Verilog设计一个10分频的分频器,要求输入为clock(上升沿有效),reset (低电平复位),输出clockout为4个clock周期的低电平,4个clock周期的高电平),文件命名为。 2、用Verilog设计一异步清零的十进制加法计数器,要求输入为时钟端CLK(上升沿)和异步清除端CLR(高电平复位),输出为进位端C和4位计数输出端Q,文件命名为。 3、用Verilog设计8位同步二进制加减法计数器,输入为时钟端CLK(上升沿有效)和异步清除端CLR(低电平有效),加减控制端UPDOWN,当UPDOWN为1时执行加法计数,为0时执行减法计数;输出为进位端C和8位计数输出端Q,文件命名为。 4、用VERILOG设计一可变模数计数器,设计要求:令输入信号M1和M0控制计数模,当M1M0=00时为模18加法计数器;M1M0=01时为模4加法计数器;当M1M0=10时为模12加法计数器;M1M0=11时为模6加法计数器,输入clk上升沿有效,文件命名为。 5、VerilogHDL设计有时钟时能的两位十进制计数器,有时钟使能的两位十进制计数器的元件符号如图所示,CLK是时钟输入端,上升沿有效;ENA是时钟使能控制输入端,高电平有效,当ENA=1时,时钟CLK才能输入;CLR是复位输入端,高电平有效,异步清零;Q[3..0]是计数器低4位状态输出端,Q[7..0]是高4位状态输出端;COUT是进位输出端。 三、实验步骤 实验一:分频器 1、建立工程

24进制计数器设计报告.doc

24进制计数器设计报告 单时钟同步24进制计数器课程设计报告1.设计任务1.1设计目的1.了解计数器的组成及工作原理。 2.进一步掌握计数器的设计方法和计数器相互级联的方法。 3.进一步掌握各芯片的逻辑功能及使用方法。 4.进一步掌握数字系统的制作和布线方法。 5.熟悉集成电路的引脚安排。 1.2设计指标1.以24为一个周期,且具有自动清零功能。 2.能显示当前计数状态。 1.3设计要求1.画出总体设计框图,以说明计数器由哪些相对独立的功能模块组成,标出各个模块之间互相联系,时钟信号传输路径、方向。 并以文字对原理作辅助说明。 2.设计各个功能模块的电路图,加上原理说明。 3.选择合适的元器件,利用multisim仿真软件验证、调试各个功能模块的电路,在接线验证时设计、选择合适的输入信号和输出方式,在确定电路充分正确性同时,输入信号和输出方式要便于电路的测试和故障排除。 4.在验证各个功能模块基础上,对整个电路的元器件和布线进行合理布局。 5.打印PCB板,腐蚀,钻孔,插元器件,焊接再就对整个计数器电路进行调试。

2.设计思路与总体框图.计数器由计数器、译码器、显示器三部分电路组成,再由555定时器组成的多谐振荡器来产生方波,充当计数脉冲来作为计数器的时钟信号,计数结果通过译码器显示。 图1所示为计数器的一般结构框图。 十位数码显示管译码驱动异步清零计数器计数脉冲(由555电路产生)个位位数码示像管译码驱动异步清零计数器强制清零▲图1计数器结构框图3.系统硬件电路的设计3.1555多谐荡电路555多谐振荡电路由NE555P芯片、电阻和电容组成。 由NE555P的3脚输出方波。 ▲图2555电路3.2计数器电路集成计数芯片一般都设置有清零输入端和置数输入端,而且无论是清零还是置数都有同步和异步之分。 有的集成计数器采用同步方式,即当CP触发沿到来时才能完成清零或置数任务;有的集成计数器则采用异步方式,即通过触发器的异步输入端来直接实现清零或置数,与CP信号无关。 本设计采用异步清零。 由2片十进制同步加法计数器74LS160(图2-1-1)、一片与非门74LS00(图2-1-2)和相应的电阻、开关。 由外加送来的计数脉冲(由555电路产生)送入两个计数器的CLK端,电路在计数脉冲的作用下按二进制自然序依次递增1,当个位计数到9时,输出进位信号给十位充当使能信号进位。

模可变计数器设计(Verilog语言)解答

模可变计数器设计 (一)实验目的 1、进一步熟悉实验装置和Quartus n软件的使用; 2、进一步熟悉和掌握EDA 设计流程; 3 、学习简单组合、时序电路的EDA 设计; 4、学习计数器中二进制码到BCD 码的转换技巧; 5、学习实验装置上数码管的输出方法。 (二)设计要求完成设计、仿真、调试、下载、硬件测试等环节,在EDA 实验装置上实现模可变计数器功能,具体要求如下: 1 、设置一个按键控制改变模值,按键按下时模为10-99 之间(具体数值自行确定)的 数,没按下时模为100-199 之间(具体数值自行确定)的数; 2、计数结果用三位数码管十进制显示。 (三) 主要仪器设备 3、微机 1 台 4、QuartusII 集成开发软件 1 套 5、EDA 实验装置 1 套 (四) 实验步骤 主要有三个模块 1:一个模20 和模119 的计数器 2:数码管的显示 3:BCD 的调整 源程序: module count (clk,m,en,rst,a,sel,SG,d); input clk,m,en,rst; output [7:0] SG; output [2:0] sel; output a; (* synthesis, keep *) reg clk1; (* synthesis, keep *) wire [3:0] gw,sw,bw; /*(* synthesis, keep *) */reg [3:0]a; reg [11:0] q; reg [11:0] model; reg [7:0] cnt,SG; reg [2:0] sel;

reg [0:0]d; output [0:0]d; always @(posedge clk) begin cnt=cnt+1; if (cnt==200) begin clk1=1'b1; cnt=0; end else clk1=1'b0; //200 分频,CLK 为数码管扫描频率,CLK1 为计数频率 if (sel<2) sel=sel+1; else sel=0; end //sel 为数码管选择 always @(sel) begin case (sel) 0: a=bw; //0 数码管为百位 1: a=sw; //1 数码管为十位 2: a=gw; //2 数码管为个位 default: a=0; endcase case (a) 0:SG<=8'b00111111; 1:SG<=8'b00000110; 2:SG<=8'b01011011; 3:SG<=8'b01001111; 4:SG<=8'b01100110; 5:SG<=8'b01101101; 6:SG<=8'b01111101; 7:SG<=8'b00000111; 8:SG<=8'b01111111; 9:SG<=8'b01101111; //8 段译码值default: SG=8'b11111111; endcase end always @(m) if (m) model=12'b000000100000; // 模值20 else model=12'b000100011001; // 模值119 assign gw=q[3:0]; assign sw=q[7:4]; assign bw=q[11:8]; always @(posedge clk1,negedge rst) begin if (!rst) q=0; else if (en) begin if (q

24进制计数器设计VHDL语言

24进制计数器设计VHDL语言: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ESJZ IS PORT( CLK :IN STD_LOGIC; --时钟 EN :IN STD_LOGIC; --使能端 CR :IN STD_LOGIC; --清零端,低电平有效 LD :IN STD_LOGIC; --数据载入控制,低电平有效 D :IN STD_LOGIC_VECTOR(5 DOWNTO 0); --载入数据端CO : OUT STD_LOGIC; --进位 Q :OUT STD_LOGIC_VECTOR(5 DOWNTO 0) --计时输出); END ESJZ ; ARCHITECTURE a OF ESJZ IS SIGNAL QN :STD_LOGIC_VECTOR(5 DOWNTO 0); BEGIN --进位控制 CO<='1' WHEN(QN=X"23" AND EN='1') ELSE'0'; PROCESS(CLK,CR) BEGIN IF (CR='0')THEN

QN<="000000"; ELSE IF (CLK'EVENT AND CLK='1') THEN IF (LD='0') THEN --数据加载 QN<=D; ELSIF(EN='1') THEN IF (QN(3 DOWNTO 0)=3 and QN(5 DOWNTO 4)=2) or QN(3 DOWNTO 0)=9 THEN QN(3 DOWNTO 0)<="0000"; --个位数进位 IF QN(5 DOWNTO 4)=2 THEN QN(5 DOWNTO 4)<="00"; --十位数进位 ELSE QN(5 DOWNTO 4)<= QN(5 DOWNTO 4)+1; END IF; ELSE QN(3 DOWNTO 0)<= QN(3 DOWNTO 0)+1; END IF ; END IF; END IF ; END IF; END PROCESS; Q<=QN; end a;

模可变16位加法计数器

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:信息工程学院 题目: 模可变16位加法计数器设计 初始条件: 可用仪器: PC机(Quartus II软件)硬件:EDA-IV型实验箱。 要求完成的主要任务: (1)设计任务 设计可变16位加法计数器,可通过3个选择位M2、M1、M0实现最多8种不同模式的计数方式,例如可构成5、10、16、46、100、128、200、256进制,共8种计数模式。 (2)时间安排: 2012.12.17 课程设计任务布置、选题、查阅资料 2012.12.18-21 设计,软件编程、仿真和调试 2012.12.22 2012.12.23 实验室检查仿真结果,验证设计的可行性和正确性,熟悉实验平台和试验箱 2012.12.24-26 设计的硬件调试 2012.12.27-28 机房检查设计成果,现场演示硬件实物,提交设计说明书及答辩 指导教师签名:年月日系主任(或责任教师)签名:年月日

目录 摘要.................................... 错误!未定义书签。Abstract ................................................ II 1 计数器的工作原理 (1) 2 设计原理 (3) 2.1 整体设计原理 (3) 2.2 单元模块的设计 (4) 2.2.1 计数模块的设计 (4) 2.2.2显示模块的设计 (5) 2.2.3分频模块的设计 (5) 2.2.4 顶层模块的设计 (5) 3 单元模块元件原理图 (6) 4 电路系统的功能仿真 (8) 5 硬件调试 (10) 6 个人小结 (12) 参考文献 (13) 附录 (14)

设计一个四位二进制计数器

1、要求:设计一个四位二进制计数器,将计数结果由数码管显示,显示结果为十进制数。数码管选通为低电平有效,段码为高电平有效。 分析:VHDL 描述包含五部分:计数器、将四位二进制数拆分成十进制数的个位和十位、二选一的数据选择器、七段译码、数码管选通控制信号 线定义为信号 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity counter3 is Port ( clk:in STD_LOGIC; clk1 : in STD_LOGIC; clr : in STD_LOGIC; en : in STD_LOGIC; co : out STD_LOGIC; scanout:out std_logic_vector(1 downto 0); ledout:out std_logic_vector(6 downto 0)); end counter3; architecture Behavioral of counter3 is signal cnt:std_logic_vector(3 downto 0); signal cnt1:std_logic_vector(3 downto 0); signal cnt2:std_logic_vector(3 downto 0); signal hex:std_logic_vector(3 downto 0); signal scan:std_logic_vector(1 downto 0); en clr

模100BCD码计数器设计

附录一:基于原理图的模100BCD码计数器的设计 1目的:1)练习用原理图输入设计;2)如何用数码管和二极管显示设计;3)如何仿真;4)如何绑定管脚。 2过程 2.1新建原理图文件。点击file->new->block diagram file->OK,如图2-1,图2-2,出现图2-3。 图2-1 新建文件。点击file->new。 图2-2 新建原理图文件。点击block diagram file->OK。

图2-3. 原理图设计输入区域。双击工作区域。 图2-4 宏单元输入界面。点击Library下的+。

图2-5 选用宏单元。键入74160。 2.2 输入设计。双击图2-3的工作区,出现图2-4。在+megafunctions,+others,+primitives中寻找需要的宏单元。也可在Name下输入知道名字的宏单元,如“74160”,“GND”,“VCC”等,如图2-5。 输入设计,如图2-6。存盘为m100_jishuqi,如图2-7。 图2-6 模100BCD码计数器。

图2-7 保存文件。 2.2为本设计建立工程,并放在文件夹..\m100_jishuqi\中。在图2-7中点击是(或点击file->newproject) 出现图2-8;点击next,出现图2-9;输入工程名字和顶层设计名字;点击next,出现图2-10,加入设计文件;点击next,出现图2-11,选择器件(cycloneII系列EP2C70F896C6);点击 next->next->finish。 图2-8 新建工程。点击Next。

图2-9 输入工程名字和顶层设计名字:mo100_jishuqi。 图2-10 把设计文件加入工程。

VHDL设计一个24进制BCD码计数器。

: 设计一个24进制BCD码计数器。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY h24 IS PORT( CLK1HZ : IN STD_LOGIC; EN : IN STD_LOGIC; LOW : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); HIGH : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END h24; ARCHITECTURE rtl of h24 IS SIGNAL LOW_REG : STD_LOGIC_VECTOR(3 DOWNTO 0):="0000"; SIGNAL HIGH_REG : STD_LOGIC_VECTOR(3 DOWNTO 0):="0000"; SIGNAL CLR : STD_LOGIC:='0'; BEGIN --个位计数 LOW_PROC:PROCESS(CLK1HZ,EN,CLR) BEGIN IF rising_edge(CLK1HZ) THEN IF EN = '1' THEN IF LOW_REG = "1001" OR CLR = '1' THEN --23:59进位 LOW_REG <= "0000"; ELSE LOW_REG <= LOW_REG + '1'; END IF; END IF; END IF; END PROCESS; LOW <= LOW_REG; --十位计数

相关主题
文本预览
相关文档 最新文档