用JKFF触发器设计一个模为4的加法计数器

用JKFF触发器设计一个模为4的加法计数器
用JKFF触发器设计一个模为4的加法计数器

四位二进制同步加法计数器(缺0011 0100 0101 0110)

成绩评定表

课程设计任务书

摘要 本次课设题目为四位二进制加法计数器(缺0011 0100 0101 0110)。 首先在QuartusII8.1中建立名为count16的工程,用四位二进制加法计数器的VHDL语言实现了四位二进制加法计数器的仿真波形图,同时进行相关操作,锁定了所需管脚,将其下载到实验箱。 然后,在Multisim软件中,通过选用四个时钟脉冲下降沿触发的JK触发器和同步电路,画出其时序图,卡诺图,建立相关方程,做出相关计算,完成四位二进制加法计数器(缺0011 0100 0101 0110)的驱动方程。在Multisim软件里画出了四位二进制加法计数器的逻辑电路图。经过运行,分析由红绿灯的亮灭顺序及状态,和逻辑分析仪里出现波形图。说明四位二进制加法计数器顺利完成。 关键词:计数器;VHDL语言;仿真;触发器。

目录 一、课程设计目的 (1) 二、设计框图 (1) 三、实现过程 (2) 1、QUARTUS II实现过程 (2) 1.1建立工程 (2) 1.2编译程序 (7) 1.3波形仿真 (10) 1.4 仿真结果分析 (14) 1.5引脚锁定与下载 (14) 2、MULTISIM实现过程 (16) 2.1求驱动方程 (16) 2.2画逻辑电路图 (19) 2.3逻辑分析仪的仿真 (20) 2.4结果分析 (21) 2.5自启动判断 (22) 四、总结 (23) 五、参考书目 (24)

一、课程设计目的 1 了解同步加法计数器工作原理和逻辑功能。 2 掌握计数器电路的分析、设计方法及应用。 3 学会正确使用JK 触发器。 二、设计框图 状态转换图是描述时序电路的一种方法,具有形象直观的特点,即其把所用触发器的状态转换关系及转换条件用几何图形表示出来,十分清新,便于查看。 在本课程设计中,四位二进制同步加法计数器用四个CP 下降沿触发的JK 触发器实现,其中有相应的跳变,即跳过了0011 0100 0101 0110四个状态,这在状态转换图中可以清晰地显示出来。具体结构示意框图和状态转换图如下: 1010 101111001101111011110 /1 /1000 101101110010000100000/0/0/0/0/0/0/0/0/0/????←????←????←????←????←↓↑???→????→????→????→????→? B:状态转换图

实验一四位串行进位加法器的设计实验报告

实验一四位串行进位加法器的设计 一、实验目的 1.理解一位全加器的工作原理 2.掌握串行进位加法器的逻辑原理 3.进一步熟悉Quartus软件的使用,了解设计的全过程, 二、实验容 1.采用VHDL语言设计四位串行进位的加法器 2.采用画原理图的方法设计四位串行进位加法器 三、实验步骤 1、使用VHDL语言设计 1.打开File—>New Project Wizard输入文件名adder4保存在D 盘,打开File—>New—>VHDL File,从模版中选择库的说明,use 语句的说明,实体的说明,结构体的说明,编写VHDL代码,然后保存、编译。打开File—>New—>Other File—>Vector Waveform File,查找引脚,从Edit中选择End Time 输入40、ns 保存。从Assignments—>Settings—>Simulator Settings —>Functional 然后Processing—>Generate Functional Simnlation Netlist —>确定。选择Start Simulation保存最后的波形图,打开File —>close关闭工程。 底层文件: LIBRARY ieee;

USE ieee.std_logic_1164.ALL; ENTITY fadder IS PORT ( a, b,cin : IN STD_LOGIC; s, co : OUT STD_LOGIC ); END fadder; ARCHITECTURE arc1 OF fadder IS BEGIN s<=a xor b xor cin; co<=((a xor b)and cin)or(a and b); END arc1; 顶层文件: LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY adder4 IS PORT ( c0: IN STD_LOGIC; a,b : IN STD_LOGIC_VECTOR(3 DOWNTO 0); s : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

EDA 16位加法计数器的设计

北京理工大学 用程序输入方法设计一个16位二进制加法计数器 学院:机械xxxx学院 专业班级:10机械电子工程x班 姓名:陈xx 学号:10xxxxxx 指导教师:xxx 老师

目录 摘要 (1) 1 绪论 (2) 2 计数器的工作原理 (3) 3 设计原理 (4) 4 电路系统的功能仿真 (5) 6 个人小结 (20) 参考文献 (21)

摘要 计数器是数字系统中使用较多的一种时序逻辑器件。计数器的基本功能是统计时钟脉冲的个数,即对脉冲实现计数操作。计数器也可以作为分频、定时、脉冲节拍产生器和脉冲序列产生器使用。计数器的种类很多,按构成计数器中的各触发器是否使用一个时钟脉冲源来分,可分为同步计数器和异步计数器;按进位体制的不同,可分为二进制计数器、十进制计数器和任意进制计数器;按计数过程中数字增减趋势的不同,可分为加法计数器、减法计数器和可逆计数器;还有可预制数和可编计数器等等。本次课程设计将利用众多集成电路软件软件中的Quartus II软件,使用VHDL语言编程完成论文《用程序输入方法设计一个16位二进制加法计数器》,调试结果表明,所设计的计数器正确实现了计数功能。 关键词:二进制;加法计数器;VHDL语言

1 绪论 现代电子设计技术的核心已日趋转向基于计算机的电子设计自动化,即EDA(Electronic Design Automation)技术。EDA技术就是依赖功能强大的计算机,在集成电路软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。一般所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。 EDA工具软件可大致可分为芯片设计辅助软件、可编程芯片辅助设计软件、系统设计辅助软件等三类。常用的EDA工具软件平台有:Matlab、Protel、Proteus、OrCAD以及我们学习的本次课程结课论文所用到的Quartus II等。而且EDA工具软件平台一般都有第三方软件接口,以便于与其他软件联合使用。 本次课程结课论文在设计16位二进制加法计数器时所用到的EDA软件工具平台是Quartus II。Quartus II 是Altera公司的综合性PLD(可编程逻辑器件)开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II 通过和DSP

同步二进制加法计数器

同步二进制加法计数器 F0302011 5030209303 刘冉 计数器是用来累计时钟脉冲(CP脉冲)个数的时序逻辑部件。它是数字系统中用途最广泛的基本部件之一,几乎在各种数字系统中都有计数器。它不仅可以计数,还可以对CP 脉冲分频,以及构成时间分配器或时序发生器,对数字系统进行定时、程序控制操作。此外,还能用它执行数字运算。 1、计数器的特点: 在数字电路中,把记忆输入CP脉冲个数的操作叫做计数,能实现计数状态的电子电路称为计数器。特点为(1)该电路一般为Moore型电路,输入端只有CP信号。 (2)从电路组成看,其主要组成单元是时钟触发器。 2、计数器分类 1) 按CP脉冲输入方式,计数器分为同步计数器和异步计数器两种。 同步计数器:计数脉冲引到所有触发器的时钟脉冲输入端,使应翻转的触发器在外接的CP脉冲作用下同时翻转。 异步计数器:计数脉冲并不引到所有触发器的时钟脉冲输入端,有的触发器的时钟脉冲输入端是其它触发器的输出,因此,触发器不是同时动作。 2) 按计数增减趋势,计数器分为加法计数器、减法计数器和可逆计数器三种。 加法计数器:计数器在CP脉冲作用下进行累加计数(每来一个CP脉冲,计数器加1)。 3) 按数制分为二进制计数器和非二进制计数器两类。 二进制计数器:按二进制规律计数。最常用的有四位二进制计数器,计数范围从0000到1111。 异步加法的缺点是运算速度慢,但是其电路比较简单,因此对运算速度要求不高的设备中,仍不失为一种可取的全加器。同步加法优点是速度快,虽然只比异步加法快千分之一甚至几千分之一秒,但对于计数器来讲,却是十分重要的。所以在这个高科技现代社会中,同步二进制计数器应用十分广泛。 下图为三位二进制加法计数器的电路图。 图1 三位二进制计数器 图示电路为对时钟信号计数的三位二进制加法计数器或称为八进制加法计数器。 该电路的经典分析过程: 1.根据电路写出输出方程、驱动方程和状态方程 2. 求出状态图 3.检查电路能否自启动 4.文字叙述逻辑功能 解:

16位超前加法器实验报告

16位超前加法器设计实验 一、实验分析: 四位超前进位加法器HDL程序: module add4_head ( a, b, ci, s, pp, gg); input[3:0] a; input[3:0] b; input ci; output[3:0] s; output pp; output gg; wire[3:0] p; wire[3:0] g; wire[2:0] c; assign p[0] = a[0] ^ b[0]; assign p[1] = a[1] ^ b[1]; assign p[2] = a[2] ^ b[2]; assign p[3] = a[3] ^ b[3]; assign g[0] = a[0] & b[0]; assign g[1] = a[1] & b[1]; assign g[2] = a[2] & b[2]; assign g[3] = a[3] & b[3]; assign c[0] = (p[0] & ci) | g[0]; assign c[1] = (p[1] & c[0]) | g[1]; assign c[2] = (p[2] & c[1]) | g[2]; assign pp = p[3] & p[2] & p[1] & p[0]; assign gg = g[3] | (p[3] & (g[2] | p[2] & (g[1] | p[1] & g[0]))); assign s[0] = p[0] ^ ci; assign s[1] = p[1] ^ c[0]; assign s[2] = p[2] ^ c[1]; assign s[3] = p[3] ^ c[2]; endmodule p表示进位否决信号(pass),如果p为0就否决调前一级的进位输入。否决的意思就是即使前一级有进位,本级也不会向后一级产生进位输出。 g表示进位产生信号(generate),如果g为1就表示一定会向后一级产生进位输出。p[n] = a[n] ^ b[n]这句话的意思是说,当a=1,b=0或a=0,b=1时前一级的进位输入信号不能否决。这样就有个问题了,即当a=1,b=1时前一级的进位输入信号也不能否决啊,怎么没有体现出来?其实当a=1,b=1时产生了进位产生信号g,它的优先级高于p信号,就忽略了p信号,直接产生了向后一级产生进位输出,是没有逻辑错误的。 g[n] = a[n] & b[n] 这句话的意思是说,如果a=1,b=1时就直接向后一级产生进位输出信号,而不用考虑其它的任何因素。

四位二进制加法计数器课程设计

成绩评定表 学生姓名郝晓鹏班级学号1103060129 专业通信工程课程设计题目四位二进制加法 计数器 评语 组长签字: 成绩 日期20 年月日

课程设计任务书 学院信息科学与工程学院专业通信工程 学生姓名郝晓鹏班级学号1103060129 课程设计题目四位二进制加法计数(缺0010 0011 1101 1110) 实践教学要求与任务: 1、了解数字系统设计方法。 2、熟悉VHDL语言及其仿真环境、下载方法。 3、熟悉Multisim仿真环境。 4、设计实现四位二进制加计数(缺0010 0011 1101 1110) 工作计划与进度安排: 第一周:熟悉Multisim及QuartusII环境,练习数字系统设计方法。包括采用触发器设计和超高速硬件描述语言设计,体会自上而下、自下而上设计 方法的优缺点 第二周:1.在QuartusII环境中仿真实现四位二进制加计数(缺0100 0101 1001 1010 )。 2.在Multisim环境中仿真实现四位二进制加计数,缺(0100 0101 1001 1010),并通过虚拟仪器验证其正确性。 指导教师: 201 年月日专业负责人: 201 年月日 学院教学副院长: 201 年月日

摘要 本文采用在MAXPLUSⅡ环境中用VHDL语言实现四位二进制加法计数(缺0010 0011 1101 1110),在仿真器上显示结果波形,并下载到目标芯片上,在实验箱上观察输出结果。在Multisim环境中仿真实现四位二进制加法计数器(缺0010 0011 1101 1110),并通过虚拟仪器验证其正确性。 关键词:MAXPLUSⅡ环境;VHDL语言;四位二进制加计数;Multisim环境

4位数加法计算器

安庆师范大学2014级单片机原理与应用 课程设计报告 课题名称4位数加法计算器的设计姓名吴昊天、伍浩然、王鹏、万吉 学号070814018 070814008 070814005 070814001 院、系、部计算机学院物联网工程 专业物联网工程 指导教师汪文明 2016 年6月6日

一、设计任务及要求:设计任务: 1、通过4*4矩阵键盘输入数字及运算符; 2、可以进行4位十进制数以内的加法预算。如果计算结果超出四位数,则全部显示 “ E ; 3、可以进行加减乘除所有运算; 4、添加其他功能。 要求: 首先进行预设计,根据设计的任务要求,先确定设计的硬件电路方案,然后进行硬件电路的初步设计,在计算机上画出硬件电路图,在老师的指导下进行修正硬件电路图,并对所涉及的参数进行计算。 在确定硬件的基础上,要进行软件的总体设计,包括软件主流程的设计以及各子程序的设计,同时,要写出详细的操作说明,如时间的调整方法,显示窗口的时间切换等,以配合软件的设计。 然后进入硬件的调试及编程工作,设计组内的同学可根据任务分工,有调试硬件各功能模块的,如键盘子程序、显示子程序等,有进行整体程序的编制的,各模块的编制过程中要注意资源的衔接。 最后进入联机调试,联机调试的原则也要采用分步走的原则,各个功能模块要逐步套入,通过一个再增加一项功能,从而达到设计的总体要求,不要上来编制个最大的程序,最后无法查找错误。 最后写出设计报告。 指导教师签名: 2016年6月6日 、成绩 指导教师签名: 年月曰 一、绪言 (1)

二、系统设计 (1) 2.1设计任务 (1) 2.2方案比较与论证 (1) 2.2.1系统整体流程图 (2) 222单片机的选择方案论证 (2) 2.2.3键盘选择方案论证 (2) 2.2.4显示模块的选择方案论证 (2) 2.2.5蜂鸣器的选择方案论证 (2) 三、硬件电路设计 (2) 3.1计算器的控制电路图 (2) 3.2矩阵键盘的设计................................................ (3) 3.3 LCD1602显示电路的设计 (3) 3.4蜂鸣器驱动电路的设计 (4) 3.5主要元器件选择 (4) 四、程序流程图 (5) 五、c语言程序设计 (5) 六、计算器的仿真 (19) 6.1Keil 调试 (19) 6.2Proteus 调试 (19) 七、结束语 (20) 八、参考文献 (21) 一、绪言 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日

超前进位加法器设计报告

存档资料成绩: 华东交通大学理工学院 课程设计报告书 所属课程名称EDA课程设计 题目超前进位加法器设计 分院 专业班级 学号 学生姓名 指导教师 2013 年7月2日

目录 第一章设计内容与要求 (3) 第二章超前进位加法器设计原理 (3) 第三章详细设计流程 (4) 3.1.创建工程文件 (4) 3.2.程序的编译 (5) 3.3.波形的仿真 (7) 第四章设计结果分析 (11) 第五章源程序代码 (12) 第六章心得体会 (14) 第七章参考文献 (15)

第一章设计内容与要求 加法运算是最重要也是最基本的运算,所有的其他基本运算,如减、乘、除运算最终都能归结为加法运算。但因为加法运算存在进位问题,使得某一位计算结果的得出和所有低于他的位相关。因此为了减少进位传输所消耗的时间,提高计算速度,人们设计了多种类型的加法器,如跳跃进位加法器、进位选择加法器、超前进位加法器等。本设计采用的是超前进位加法器。通过Verilog 设计一个超前8位加法器。 要求在Quartus II软件下,利用Verilog编程完成层次式电路设计,电路中的元件可以用Verilog设计也可以用库元件连线构成再封装。8位超前进位加法器,借助EDA工具中的综合器,适配器,时序仿真器和编程器等工具进行相应处理。适配采用Cyclone系列的EP1C6Q240C8。 要求综合出RTL电路,并进行仿真输入波形设计并分析电路输出波形. 试比较并阐述数据类型reg型和wire型的区别。 第二章超前进位加法器设计原理 将n个全加器相连可得n位加法器,但是加法时间较长。解决的方法之一是采用“超前进位产生电路”来同时形成各位进位,从而实现快速加法。超前进位产生电路是根据各位进位的形成条件来实现的 首先对于1位加法器基本位值和与进位输出为1;如果a,b有一个为1,则进位输出等于cin; 令G=ab,P=a+b,则有: Cout==ab+(a+b)cin=G+P?cin 由此可以G和P来写出4位超前进位链如下(设定四位被加数和加数为A

十进制4位加法计数器设计

洛阳理工学院 十 进 制 4 位 加 法 计 数 器 系别:电气工程与自动化系 姓名:李奇杰学号:B10041016

十进制4位加法计数器设计 设计要求: 设计一个十进制4位加法计数器设计 设计目的: 1.掌握EDA设计流程 2.熟练VHDL语法 3.理解层次化设计的内在含义和实现 设计原理 通过数电知识了解到十进制异步加法器的逻辑电路图如下 Q3 则可以通过对JK触发器以及与门的例化连接实现十进制异步加法器的设计 设计内容 JK JK触发器的VHDL文本描述实现: --JK触发器描述 library ieee; use ieee.std_logic_1164.all; entity jk_ff is

port( j,k,clk: in std_logic; q,qn:out std_logic ); end jk_ff; architecture one of jk_ff is signal q_s: std_logic; begin process(j,k,clk) begin if clk'event and clk='0' then if j='0' and k='0' then q_s <= q_s; elsif j='0' and k='1' then q_s <= '0'; elsif j='1' and k='0' then q_s <= '1'; elsif j='1' and k='1' then q_s <= not q_s; end if; end if; end process; q <= q_s; qn <= not q_s; end one; 元件门级电路: 与门VHDL文本描述实现: --与门描述library ieee; use ieee.std_logic_1164.all;

设计任意进制计数器

设计任意进制计数器 一、实验目的 掌握中规模集成计数器的使用方法及功能测试方法。 二、实验内容及要求 采用(74LS192)复位法或预置数法设计一个三位十进制计数器。要求各位同学设计的计数器的计数容量是自己学号的最后三位数字。 三、设计过程 74LS192是中规模同步十进制可逆计数器,具有双时钟输入,并具有清除和置数等功能,其引脚排列如图所示。74LS192(CC40192)的功能如下表所示。 1234A B C D 4 3 2 1 D C B A 161514131211109 Vcc D CR BO CO LD D D D Q Q CP CP Q Q GND 12345678 D 1 1 023 3 u2 74LS192 CR:清除端CP u:加计 数端 LD :置数端CP D:减计 数端 CO :非同步进位输出端 BO :非同步借位输出端 D3、D2、D1、D0:数据输入端 Q3、Q2、Q1、Q0:输出端 74LS192引脚排列图 表74LS192(CC40192)的功能 输入端输出端功能 CR LD CP u CP D D3 D2 D1 D0 Q3 Q2 Q1 Q0 1 ×××××××00 0 0 清零 0 0 ×× d c b a d c b a 置数 0 1 ↑ 1 ××××0000~1001加计数1001时CO=0 0 1 1 ↑××××1001~0000减计数0000时BO=0 用M进制集成计数器可以构成N(任意)进制的计数器。通常用反馈清零 法和反馈置数法。当计数器的计数N>M时,则要用多片M进制计数器构成。 其计数规律为:当低位计数器没有达到计数的最大值时,如74LS192的1001时, 其高位芯片应处于保持状态,只有当低位芯片计数达到最大值时,给相邻的高位 芯片计数器发一个信号,使其脱离保持状态,进入计数状态。现以233为例为计 数容量进行设计。由于233为三位数,因此需用三块74LS192。 1、清零法: CR(R D)=(Q1Q0)百(Q1Q0)拾(Q1)个 初态:0000 终态:233-1=232即:0010 0011 0010 状态转换图:(略)

用JKFF触发器设计一个模为8的加法计数器

题目:用JKFF 设计模为8的加法计数器 步骤1: 分析题意 根据题目所给的条件,待设计的计数器默认为模为8的加法器,不需要求加载初值。电路只需要故电路只需时钟输入端clk ,clk 作为电路的同步时钟,不必当做输入变量对待;输出一个8进制数要3个输出端,记为0Q 1Q 2Q 。要有输出信号Y ,故共需要3个输出端。因输出量0Q 1Q 2Q 就是计数值,故采用Moore 型电路较为合适。 步骤2:建立原始状态图 模8加法器要求逢8加1,。有此状态图做出如图所示。需要8个状态故不需要化简。 /Y /0 /0 /0 S0→ S1→ S2→ S3 ↑ /1 ↓ /0 S7←S6←S5← S4 /0 /0 /0 步骤3:状态分配。 由于最大模的值为8,因此必须取代码位数n=3。假设S0=000,S1=001,S2=010,S3=011,S4=100,S5=101,S6=110,S7=111.则可以做出状态转移表如图。 步骤4:选触发器,求时钟、输出、状态、驱动方程。 因需要3位二进制代码,选用三个CP 下降沿出发的J-K 触发器,分别用FF0,FF1,FF2表示。 有状态列表可作出次态卡诺图及输出函数的卡诺图,如图所示。 与J-K 触发器的特性方程 n n n Q K Q J Q +=+1 比较得到驱动方程 输入 现态 次态 输 出 CP Q2 Q1 Q0 12 +n Q 11 +n Q 1 +n Q Y 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 2 0 1 0 0 1 1 0 3 0 1 1 1 0 0 0 4 1 0 0 1 0 1 0 5 1 0 1 1 1 0 0 6 1 1 0 1 1 1 0 7 1 1 1 1

加法器的设计与仿真实验报告

加法器的设计与仿真 一、实验内容 1、用逻辑图和VHDL语言设计全加器。 2、利用设计的全加器组成串行加法器。 3、用逻辑图和VHDL语言设计并行加法器。 4、应用MaxplusII软件对全加器和串行加法器进行编译、仿真和模拟。 5、在“MaxplusII软件的基本操作”实验的基础上,能更加熟练的掌握应用MaxplusII软件,从而更形象更深层次的理解全加器和串行加法器。 二、实验平台及实验方法 用VHDL语言编写全加器和串行加法器的程序,运用MaxplusII软件进行仿真,再结合FPGA(即对实验箱的芯片进行编译)进行验证。也可以用原理图进行文本设计,波形设计。逻辑符号图: 真值表: 电路图: 三、实验过程 1.启动MaxplusII软件; 2.新建一个文本编辑文件,输入全加器的VHDL语言; 3.编译。点击file save as,保存文件名为f-adder名称,扩展名为vhd,选择芯片类型为EPF10K20TI144-4,保存并进行编译,

若编译结果出现0 error,0 warnings则说明编译通过。 4.仿真波形。点Max+plus II→Waveform editor,出现波形图的设置界面,然后点Node→Enter Nodes from SNF→list,将输入输出端添加到界面,并设置其周期和输入波形,保存后,点Max+plus II→Simulator,即可仿真出输出的波形。 5.配置芯片。点Max+plus II→Floorplan editor,将Unassigned Nodes & 栏中,电路的输入输出节点标号直接用鼠标“拖到” 想分配的引脚上,Max+plusII→programmer→configuer,然后就可以操作试验箱,观察全加器的工作情况。 四、实验结果 实验步骤: 1、用VHDL语言编写全加器的程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY f_adder IS PORT( x,y,cin:IN STD_LOGIC; s,cout:OUT STD_LOGIC ); END ENTITY f_adder; ARCHITECTURE bhv OF f_adder IS BEGIN s<=x XOR y XOR cin; cout<=(x AND y)OR(x AND cin)OR(y AND cin); END ARCHITECTURE bhv; 2、将上述程序保存为文件名为f_adder的文件,点击Maxplus里的compiler进行编译,点击start,如果出现0 error,0 warnings,则编译成功。

EDA实验报告(四选一、四位比较器、加法器、计数器、巴克码发生器)

EDA实验报告

实验14选1数据选择器的设计 一、实验目的 1.学习EDA软件的基本操作。 2.学习使用原理图进行设计输入。 3.初步掌握器件设计输入、编译、仿真和编程的过程。 4.学习实验开发系统的使用方法。 二、实验仪器与器材 1.EDA开发软件一套 2.微机一台 3.实验开发系统一台 4.打印机一台 三、实验说明 本实验通过使用基本门电路完成4选1数据选择器的设计,初步掌握EDA设计方法中的设计输入、编译、综合、仿真和编程的过程。实验结果可通过实验开发系统验证,在实验开发系统上选择高、低电平开关作为输入,选择发光二极管显示输出电平值。 本实验使用Quartus II 软件作为设计工具,要求熟悉Quartus II 软件的使用环境和基本操作,如设计输入、编译和适配的过程等。 实验中的设计文件要求用原理图方法输入,实验时,注意原理图编辑器的使用方法。例如,元件、连线、网络名的放置方法和放大、缩小、存盘、退出等命令的使用。学会管脚锁定以及编程下载的方法等。 四、实验要求 1.完成4选1数据选择器的原理图输入并进行编译; 2.对设计的电路进行仿真验证; 3.编程下载并在实验开发系统上验证设计结果。 五、实验结果 4选1数据选择器的原理图: 仿真波形图:

管脚分配:

实验2 四位比较器 一、实验目的 1.设计四位二进制码比较器,并在实验开发系统上验证。 2.学习层次化设计方法。 二、实验仪器与器材 1.EDA 开发软件 一套 2.微机 一台 3.实验开发系统 一台 4.打印机 一台 5.其它器件与材料 若干 三、实验说明 本实验实现两个4位二进制码的比较器,输入为两个4位二进制码0123A A A A 和 0123B B B B ,输出为M (A=B ),G (A>B )和L (A

《设计任意进制计数器》的实验报告

实验八设计任意进制计数器 一、实验目的 掌握中规模集成计数器的使用方法及功能测试方法。 二、实验内容及要求 采用(74LS192)复位法或预置数法设计一个三位十进制计数器。要求各位同学设计的计数器的计数容量是自己学号的最后三位数字。 三、设计过程 用M进制集成计数器可以构成N(任意)进制的计数器。通常用反馈清零法和反馈置数法。当计数器的计数N>M时,则要用多片M进制计数器构成。其计数规律为:当低位计数器没有达到计数的最大值时,如74LS192的1001时,其高位芯片应处于保持状态,只有当低位芯片计数达到最大值时,给相邻的高位芯片计数器发一个信号,使其脱离保持状态,进入计数状态。现以233为例为计数容量进行设计。由于233为三位数,因此需用三块74LS192。 1、清零法: CR(R D)=(Q1Q0)百(Q1Q0)拾(Q1)个 初态:0000 终态:233-1=232即:0010 0011 0010 状态转换图:(略)

2、置数法:由于74LS192是具有异步清零、置数功能的十进制计数器,因此保留哪233种状态,方法有多种。下图是其中两种置数法。犹以最后一种使用器件最少,接线最为简单。 方案一: 方案三: LD=(Q1Q0)百(Q1Q0 )拾(Q2Q0)个(或LD=CO) 初态:0000(或1000-332=668) 终态:332-1=331即:0011 0011 0001(或999)

四、实验用仪器、仪表 数字电路实验箱、万用表、74LS192、74LS00、74LS20、74LS08等 五、实验步骤 ①清零法: 1.检查导线及器件好坏(即加上电源后,按74LS192的功能表进行检测)。 2.按上图连接电路。LD、CP D分别接逻辑开关并置为高电平,百位(74LS192(3))、拾位、个位的Q 、Q2、Q1、Q0分别接发光二极管或数码管,计数脉冲接手动或1Hz 3 时钟脉冲。检查无误后接通电源。 3.加入CP进行测试并检查结果是否正确,如有故障设法排除。 4.结果无误后记录数据后拆线并整理实验设备。 实验证明,实验数据与设计值完全一致。设计正确。 ②置数法: 1.检查导线及器件好坏(即加上电源后,按74LS192的功能表进行检测)。 分别接逻辑开关并置为高电平,百位(74LS192(3))、 2.按上图连接电路。CR、CP D 拾位、个位的Q 、Q2、Q1、Q0分别接发光二极管或数码管,计数脉冲接手动或1Hz 3 时钟脉冲。检查无误后接通电源。

十六位硬件乘法器电路设计报告

课程名称电子设计自动化 题目十六位硬件乘法器电路 院系班级信息学院11电子信息工程A班姓名 学号 指导老师凌朝东 2013 年 12 月 5 日

题目名称: 十六位硬件乘法器电路 摘要: 设计一个16位硬件乘法器电路.要求2位十进制乘法,能用LED数码管同时显示乘数,被乘数和积的值.本设计利用Quartus II软件为设计平台,通过移位相加的乘法原理:即从被乘数的最低位开始,若为1,则乘数左移后与上一次的和相加;若为0,左移后以全零相加,直至被乘数的最高位。经软件仿真和硬件测试验证后,以达到实验要求。

目录 1.题目名称 (2) 2.摘要 (2) 3.目录 (3) 4.正文 (4) 4.1. 系统设计 (4) 4.1 设计要求 (4) 4.2 系统设计方案 (4) 4.2 单元电路设计 (4) 4.2.1十进制计算模块 (5) 4.2.2 BCD码转二进制模块 (5) 4.2.3 8位右移寄存器模块 (6) 4.2.4 8位加法器模块 (7) 4.2.5 1乘法器multi_1模块 (7) 4.2.6 16位移位寄存器reg_16模块 (8) 4.2.7 16位二进制转BCD码B_BCD模块 (9) 4.2.8 8位乘法器multi_8x8顶层设计 (10) 4.3 软件设计 (12) 4.3.1设计平台和开发工具 (12) 4.3.2程序流程方框图 (13) 4.4 系统测试 (14) 4.1仿真分析 (14) 4.2硬件验证 (15) 5. 结论 (15) 6. 参考文献 (15) 7. 附录 (15)

4.正文 4.1系统设计 1.1设计要求 题目要求设计一个16位硬件乘法器电路.要求2位十进制乘法;能用LED数码管同时显示乘数,被乘数和积的信息.设置一个乘法使能端,控制乘法器的计算和输出. 1.2系统设计方案 此设计问题可分为乘数和被乘数输入控制模块,乘法模块和输出乘积显示模块基本分. 乘数和被乘数的输入模块使输入的十进制数转化为二进制数输入乘法模块,乘法模块利用移位相加的方法将输入的两组二进制数进行相乘,并将16位乘积输出到乘积输出显示模块.显示模块将输入的二进制数按千,百,十,个位分别转化为十进制数输出. 乘数和被乘数的输入可用数据开关K1~K10分别代表数字1,2,…,9,0,用编码器对数据开关K1~K10的电平信号进行编码后输入乘法器进行计算.但此方案所用硬件资源较多,输入繁琐,故不采取. 方案二是利用硬件箱自带16进制码发生器,由对应的键控制输出4位2进制构成的1位16进制码,数的范围是0000~1111,即0H~FH.每按键一次,输出递增1,输出进入目标芯片的4位2进制数将显示在该键对应的数码管. 乘数和被乘数的输入模块将16进制码的A~F码设计成输出为null.使得减少了无用码的输入. 两数相乘的方法很多,可以用移位相加的方法,也可以将乘法器看成计数器,乘积的初始值为零,每一个时钟周期将乘数的值加到积上,同时乘数减一,这样反复执行,直到乘数为零.本设计利用移位相加的方法使得程序大大简化. 系统总体电路组成原理图如下图所示: 4.2单元电路设计

用单片机语言设计16位加法计算器实验报告概要

湖北第二师范学院计算机学院09计应 单片机课程设计 实验报告 课程设计名称:电子计算器 课程设计单位:10计应(1)班 课设小组成员:徐凡(1060310039) 凡平(1060310058) 彭浩(1060310045) 桂银(1060310010) 潘光卉(1060300033) 完成时间:2012年04月02日至2012年04月 24 日

单片机课程设计实验报告 课程设计题目:简易计算器 作品功能描述:当通过输入键盘数字时,能够在显示器上显示输出的数值,并且通过想实现的简单运算功能,实现计算器的加、减、乘、 除和清零,并将结果显示出来。 小组成员工作分工:徐凡:程序主框架的构造和主要功能函数的设计。 凡平:原理图的设计和硬件的焊接。 彭浩:基本功能函数的设计(“+,-,*,/”)。 桂银:程序流程图的设计和键盘扫描程序的实现。 潘光卉:编写文档和功能测试。 硬件电路设计:本设计中我们用的是AT89C52芯片,LCD1602 (PROTEUS中为LM016L)就是那个液晶屏,因为可以显示2行16个字符,故 叫做LCD1602. 11.0592M或12M晶振(CRYSTAL),两者均可,但要涉及到串口 需选用12MKEYPAD-SMALLCALC就是那个4X4键盘 电容20~30PF(CAP),接最小电路 电容10PF主要接复位电路 RESPACK-8排阻,为20K的,一个引脚接正极,另8个引脚接 I/O口接RES电阻10K,接复位电路 实物照片:硬件原理图

原理说明: 1,上电后,屏幕初始化; 2,计算。按下数字键,屏幕显示要运行的第一个数字,再按下符号键,然后再按下数字键,屏幕显示要运算的第二个数字,最后按 下“=”号键,屏幕上显示出计算结果。 3,如果要再次计算,可以按下“ON/C”键清零,或者继续按下数字键,即可重新计算。 键盘使用说明如下: 按键功能说明:Array“+”实现两个数的相加 “-”实现两个数的相减 “×”实现两个数的乘积 “÷”实现两个数商的运算 “ON/C”计算器显示的清零和 接通电源

八位加法器设计实验报告

实验四:8位加法器设计实验 1.实验目的:熟悉利用quartus原理图输入方法设计简单组合电路,掌握层次化设计方法。 2.实验原理:一个八位加法器可以由八个全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。 3.实验任务:完成半加器,全加器,八位加法器设计,使用例化语句,并将其设计成一个原件符号入库,做好程序设计,编译,程序仿真。 1)编译成功的半加器程序: module h_adder(a,b,so,co); input a,b; output so,co; assign so=a^b; assign co=a&b; endmodule 2)编译成功的全加器程序: module f_adder(ain,bin,cin,cout,sum); output cout,sum;input ain,bin,cin; wire net1,net2,net3; h_adder u1(ain,bin,net1,net2); h_adder u2(.a(net1),.so(sum),.b(cin),.co(net3));

or u3(cout,net2,net3); endmodule 3)编译成功的八位加法器程序: module f_adder8(ain,bin,cin,cout,sum); output [7:0]sum; output cout;input [7:0]ain,bin;input cin; wire cout0, cout1, cout2 ,cout3, cout4,cout5,cout6; f_adder u0(.ain(ain[0]),.bin(bin[0]),.cin(cin),.sum(sum[0]),.cout(cout0)); f_adder u1(.ain(ain[1]),.bin(bin[1]),.cin(cout0),.sum(sum[1]),.cout(cout1 )); f_adder u2(.ain(ain[2]),.bin(bin[2]),.cin(cout1),.sum(sum[2]),.cout(cout2 )); f_adder u3(.ain(ain[3]),.bin(bin[3]),.cin(cout2),.sum(sum[3]),.cout(cout3 )); f_adder u4(.ain(ain[4]),.bin(bin[4]),.cin(cout3),.sum(sum[4]),.cout(cout4 )); f_adder

四位二进制加法计数器

学院信息学院专业通信工程姓名陈洁学号02 设计题目数字系统课程设计 内容四位二进制加法计数器 技术参数和要求0000→0001→0010→0011→0110→0111→1000→1001→1010→1011→1100→→1101→1110→1111→0000 缺0100→0101 设计任务 1.按要求设计VHDL程序, 2.在Xinlinx Ise环境中运行程序并输出仿真波形。 工作进度和安排第18周: 1.学习Xinlinx Ise软件知识,熟悉软件相关操作; 2.学习multsim软件知识,熟悉其在画逻辑电路时的应用; 3.查阅相关资料,学习时序逻辑电路设计知识。 第20周: 1.按要求编写程序代码,; 2.运行并输出仿真波形; 3.程序下载到电路板测试; 4.利用multsim软件,设计时序电路; 5.运行并验证结果; 6.撰写报告。 指导教师(签字): 年月日学院院长(签字): 年月日

目录 一.数字系统简介 (3) 二.设计目的和要求 (3) 三.设计内容 (3) 四.VHDL程序设计 (3) 五.波形仿真 (11) 六. 逻辑电路设计 (12) 六.设计体会 (13) 七.参考文献 (13)

一.数字系统简介 在数字逻辑设计领域,迫切需要一种共同的工业标准来统一对数字逻辑电路及系统的描述,这样就能把系统的设计分解为逻辑设计(前端),电路实现(后端)和验证桑相互独立而又相关的部分。由于逻辑设计的相对独立性就可以把专家们设计的各种数字逻辑电路和组件建成宏单元或软件核,即ip库共设计者引用,设计者可以利用它们的模型设计电路并验证其他电路。VHDL这种工业标准的产生顺应了历史潮流。 二.设计目的和要求 1、通过《数字系统课程设计》的课程实验使电子类专业的学生能深入了解集成中规 模芯片的使用方法。 2、培养学生的实际动手能力,并使之初步具有分析,解决工程实际问题的能力。三.设计内容 四位二进制加计数,时序图如下: 0000→0001→0010→0011→0110→0111→1000→1001→1010→1011→1100→→1101→1110→1111 →0000 缺0100→0101 。由JK触发器组成4位异步二进制加法计数器。 四.VHDL程序设计 四位二进制加计数,缺0100,0101(sw向上是0(on);灯亮为0) LIBRARY IEEE; USE entity count10 is PORT (cp,r:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); end count10; ARCHITECTURE Behavioral OF count10 IS SIGNAL count:STD_LOGIC_VECTOR(3 DOWNTO 0) ; BEGIN PROCESS (cp,r) BEGIN if r='0' then count<="0000"; elsiF cp'EVENT AND cp='1' THEN if count="0011" THEN count <="0110"; ELSE count <= count +1; END IF; end if; END PROCESS; q<= count; end Behavioral;

相关文档
最新文档