eda vhdl 四位全减器设计

合集下载

VHDL四位密码锁课程设计EDA

VHDL四位密码锁课程设计EDA

电子与信息工程学院EDA课程设计报告(2011 —2012 学年第一学期)课程名称:EDA课程设计与实现班级:电子0903学号:姓名:指导教师:陈智萍2011年09月一、目的1.掌握VHDL语言的使用,学会用VHDL语言来编程解决实际问题;2.学会使用EDA开发软件设计小型综合电路,掌握仿真的技巧;3.学会应用开发系统实现硬件电路,检验电路的功能。

二、内容和要求用VHDL语言设计一个密码锁,用波形仿真验证其功能后,实现到GW48实验系统。

功能描述:用于模仿密码锁的工作过程。

完成密码锁的核心控制功能。

功能要求:设计一个密码锁,平时处于等待状态。

管理员可以设置或更改密码。

如果不预置密码,密码缺省为“1234”。

用户如果需要开锁,按相应的按键进入输入密码状态,输入4位密码,按下确定键后,若密码正确,锁打开;若密码错误,将提示密码错误,要求重新输入,三次输入都错误,将发出报警信号。

报警后,只有管理员作相应的处理才能停止报警。

用户输入密码时,若输入错误,在按下确定键之前,可以通过按取消键重新输入。

正确开锁后,用户处理完毕后,按下确定键,系统回到等待状态。

系统操作过程中,只要密码锁没有打开,如果60秒没有对系统操作,系统回到等待状态。

要求密码在输入过程中被依次显示,即先输入的为密码的第一位,总是显示在最左边。

用两个发光二极管模拟显示,其中一个显示当前的工作模式,灭表示用户模式,亮表示管理员模式;另外一个指示锁的状态,灭表示锁处于锁定,亮表示锁被开启。

注意:用两个按键实现密码输入,Key1选择输入的是第几位密码,KEY2输入密码数字。

功能描述:初始状态:初次使用密码锁时,要先用Reset键初始化。

初始状态下,用户密码为“1234”,管理员密码为“0000”。

用户开锁:默认情况下,密码锁处于用户使用状态。

如果当前为管理员状态,则按下user键回到用户状态。

用户开锁时,输入四位数用户密码,可以从out_code6的输出状态确定密码输入状态。

组合逻辑课程设计4位二进制全加器全减器原创

组合逻辑课程设计4位二进制全加器全减器原创
本文将采用 4 位二进制并行加法器作为折中选择,所选加法器为 74LS283, 74LS283 是 4 位二进制先行进位的加法器,它只用了几级逻辑来形成和及进位输 出,故由其构成 4 位二进制全加器;而四位全减器可以用加法器简单的改造而来, 最后本文采用 VHDL 对四位全加器/全减器进行仿真。
关键字 74LS283 全加器、四位二进制、迭代电路、并行进位、串行进位、VHDL
摘要
加法器是数字系统中产生数的和的装置。加数和被加数为输入,和数与进 位为输出的装置为半加器。若加数、被加数与低位的进位数为输入,而和数与进
...
.
..
..
位为输出则为全加器。例如:为了节省资源,减法器和硬件乘法器都可以用加法 器来构成。但宽位加法器的设计是很耗资源的,因此在实际的设计和相关饿得设 计与开发中需要注意资源的利用率和进位速度两方面的问题,多位加法器的构成 主要有两种:并行进位和串行进位。并行进位加法器设有并行进位产生逻辑,运 行速度比串行进位快;串行进位是将全加器采取并行级联或菊花链式级联构成多 位加法器。加法器也是常用作计算机算术逻辑部件,执行逻辑操作、移位与指令 调用。此外还可以用来表示各种数值,如:BCD、加三码,主要的加法器是以二 进制作运算。
1 0 0100 11011000
1 0 0101 00011010
1 0 0001 10011100
1 0 0001 10111110
1 0 1010 01000111
1 0 1010 01101001
1 0 0010 01000011
1 0 0010 01100101
... ... ... ... ... ... ... ... ... ... ... ... ... ...

用VHDL结构描述设计一全减器

用VHDL结构描述设计一全减器

下面再将或门的VHDL程序描述如下:
ENTITY orgate IS PORT(A1,B1:IN BIT; O1:OUT BIT); END orgate;
ARCHITECTURE orgate_arc OF orgate IS BEGIN O1<= A1 OR B1; END orgate_arc;
I1 I2
U0 halfsub
temp_T
ห้องสมุดไป่ตู้
U1
FT
C_OUT
BEGIN U0:halfsub PORT MAP(I1,I2,temp_T,temp_c1); U1:halfsub PORT MAP(temp_T,C_IN,FT,temp_c2); U2:orgate PORT MAP(temp_c1,temp_c2,C_OUT); END fullsub_arc; 图中虚线框各元件之间 halfsub 的连线命名。temp_T将第一 temp_c2 个半减器的差位输出连到第 C_IN 二个半减器的输入端。信号 temp_c1 temp_c1将第一个半减器的借 U2 位输出连至“或”门的一个输入 端,信号temp_c2将第二个半 减器的借位输出连至“或”门的 另一个输入端。 用三个元件调用语句定义这三个连接关系。
用VHDL结构描述设计一全减器,全减器可由两个 半减器和一个或门组成。
I1 I2 C_IN
U0 temp_T U1 FT halfsub halfsub temp_c2 temp_c1 U2 C_OUT
首先用VHDL的行为描述设计半减器:
ENTITY halfsub IS PORT(A,B:IN BIT; T,C:OUT BIT); END halfsub; ARCHITECTURE halfsub_arc OF halfsub IS BEGIN PROCESS(A,B) BEGIN T<= A XOR B AFTER 10 ns; C <= (NOT A) AND B AFTER 10 ns; END PROCESS; END halfsub_arc;

四位二进制减法计数器 (1)

四位二进制减法计数器 (1)

成绩评定表课程设计任务书摘要Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,应用范围非常广泛,由于数字系统中高低电平分别用0和1表示,数字电路问题可以转化成逻辑问题,可以通过仿真电路表示出来,进行观察和研究,并且可以下载到实验箱上。

此次课程设计我将使用VHDL设计一个四位二进制减法器。

Multisim是美国国家仪器(NI)有限公司推出的以Windows为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。

它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。

在这次课设中我将用它绘制出电路图,进行四位二进制减法器模拟。

关键词:Quartus II;VHDL;Multisim;减法器目录一、课程设计目的 (1)二、设计框图 (1)三、实现过程 (2)1、QUARTUS II实现过程 (2)1.1建立工程 (2)1.2编译程序 (7)1.3波形仿真 (11)1.4引脚锁定与下载 (15)1.5仿真结果分析 (16)2、MULTISIM实现过程 (16)2.1求驱动方程 (16)2.2画逻辑电路图 (20)2.3逻辑分析仪的仿真 (21)2.4结果分析 (21)四、总结 (23)五、参考书目 (24)一、课程设计目的1:了解四位二进制计数器工作原理和逻辑功能。

2:掌握计数器电路的分析、设计方法及应用。

3:学会正确使用JK 触发器。

二、设计框图状态转换图是描述时序电路的一种方法,具有形象直观的特点,即其把所用触发器的状态转换关系及转换条件用几何图形表示出来,十分清新,便于查看。

在本课程设计中,四位二进制减法计数器用四个CP 上升沿触发的JK 触发器实现,其中有相应的跳变,即跳过了0000 0001 0010三个状态,这在状态转换图中可以清晰地显示出来。

具体结构示意框图和状态转换图如下:↓−−−−←−−−−←−−−−←−−−−←−−−−←−−−−←−−−→−−−−→−−−−→−−−−→−−−−→−−−−→− 1000011101100101010000111/10011010101111001101111011110/0/0/0/0/0/0/0/0/0/0/0/B:状态转换图三、实现过程1.QUARTUSII实现过程1.1建立工程.图1-1 QUARTUS软件的启动界面(1)点击File –> New Project Wizard创建一个新工程,系统显示如图5-2。

采用VHDL层次化文件设计一个四位全减器

采用VHDL层次化文件设计一个四位全减器

采用VHDL层次化文件设计一个四位全减器一、实训目的1.巩固VHDL层次化文件设计方法。

2.培养应用VHDL层次化文件设计法的技能。

二、实训器材计算机与Quartus Ⅱ工具软件。

三、实训指导(一)实训原理4位二进制减法器由4个全减器构成,而全减器又由一个半减器和一个或门构成,半减器的真值表如表4-1所示:表4-1 半减器的真值表输入输出a1b1s1c10000011110101100半减器的逻辑表达式为:s1=NOT(a1 XOR(NOT b1))c1=(NOT a1) AND b1一位全减器的真值表如表4-2所示:表4-2 一位全减器的真值表c_in i1i2fs c_out0000000111010100110010011101011100011111(二)实训步骤1.电路模块划分根据算法分析,4位二进制减法器可由4个全减器构成,画出其原理方框图。

全减器的原理方框图如图4-1所示。

而每个全减器又可划分为一个半减器和一个或门这两个更小的模块,画出其原理方框图。

4位二进制减法器的原理方框图如图4-2所示。

图4-1一位全减器原理方框图图4-2 4位二进制减法器原理框图2.设计底层设计文件(1)设计半减器文件halfsub.vhd 。

(2)设计或门电路文件orgate.vhd 。

(3)设计全减器电路文件fullsub.vhd ,其中把半减器和或门电路文件作为元件调用。

3.设计顶层设计文件设计顶层设计文件sub4.vhd ,其中把全减器文件作为元件调用。

VHDL 代码如下:halfsub.vhd文件代码如下:ENTITY halfsub ISPORT(a1,b1:IN BIT;s1,c1:OUT BIT);END halfsub;ARCHITECTURE a OF halfsub ISBEGINPROCESS(a1,b1)BEGINs1<=NOT(a1 XOR(NOT b1)) AFTER 10ns; c1<=(NOT a1) AND b1 AFTER 10 ns;END PROCESS;END a;orgate.vhd文件代码如下:ENTITY orgate ISPORT(a,b:IN BIT;o:OUT BIT);END orgate;ARCHITECTURE a OF orgate ISBEGINo<=a OR b;END a;fullsub.vhd文件代码如下:ENTITY fullsub ISPORT(i1,i2,c_in:IN BIT;fs,c_out:OUT BIT);END fullsub;ARCHITECTURE a OF fullsub ISSIGNAL temp_s,temp_c1,temp_c2:BIT; COMPONENT halfsubPORT(a1,b1:IN BIT;s1,c1:OUT BIT);END COMPONENT;COMPONENT orgatePORT(a,b:IN BIT;o:OUT BIT);END COMPONENT;BEGINU0:halfsub PORT MAP(i1,i2,temp_s,temp_c1);U1:halfsub PORT MAP(temp_s,c_in,fs,temp_c2);U2:orgate PORT MAP(temp_c1,temp_c2,c_out);END a;sub4.vhd文件代码如下:ENTITY sub4 ISPORT(a,b:IN BIT_VECTOR(3 DOWNTO 0);cin:IN BIT;fs:OUT BIT_VECTOR(3 DOWNTO 0);cout:OUT BIT);END sub4;ARCHITECTURE a OF sub4 ISSIGNAL temp_co0,temp_co1,temp_co2:BIT;COMPONENT fullsub ISPORT(i1,i2,c_in:IN BIT;fs,c_out:OUT BIT);END COMPONENT;BEGINU0:fullsub PORT MAP(a(0),b(0),cin,fs(0),temp_co0);U1:fullsub PORT MAP(a(1),b(1),temp_co0,fs(1),temp_co1); U2:fullsub PORT MAP(a(2),b(2),temp_co1,fs(2),temp_co2); U3:fullsub PORT MAP(a(3),b(3),temp_co2,fs(3),cout); END a;1.编译顶层设计文件把以上各个模块的VHDL设计文件放入同一个文件夹中,以顶层文件建立工程,直接编译顶层文件同时也就编译各个底层模块文件。

采用VHDL层次化文件设计一个四位全加器

采用VHDL层次化文件设计一个四位全加器

采用VHDL层次化文件设计一个四位全加器一、实训目的1.巩固VHDL层次化文件设计方法。

2.培养应用VHDL层次化文件设计法的技能。

二、实训器材计算机与Quartus Ⅱ工具软件。

三、实训指导(一)实训原理4位二进制加法器由4个全加器构成,而全加器又由一个半加器和一个或门构成,半加器的真值表如表5-1所示:表5-1 半加器的真值表半加器的逻辑表达式为:so=NOT(a XOR(NOT b))co=a AND b一位全加器的真值表如表5-2所示:表5-2 一位全加器的真值表(二)实训步骤1.电路模块划分根据算法分析,4位二进制加法器可由4个全加器构成,画出其原理方框图。

全加器原理方框图如图5-1所示。

而每个全加器又可划分为一个半加器和一个或门这两个更小的模块,画出其原理方框图。

4位二进制加法器原理方框图如图5-2所示。

图5-1 一位全加器原理方框图图5-2 4位二进制加法器原理框图2.设计底层设计文件(1)设计半减器文件halfadd.vhd。

(2)设计或门电路文件orgate.vhd。

(3)设计全加器电路文件fulladd.vhd,其中把半加器和或门电路文件作为元件调用。

3.设计顶层设计文件设计顶层设计文件add4.vhd,其中把全加器文件作为元件调用。

VHDL代码如下:halfadd.vhd文件代码如下:ENTITY halfadd ISPORT(a,b:IN BIT;so,co:OUT BIT);END halfadd;ARCHITECTURE a OF halfadd ISBEGINPROCESS(a,b)BEGINso<=NOT(a XOR(NOT b)) AFTER 10ns; co<=a AND b AFTER 10 ns;END PROCESS;END a;orgate.vhd文件代码如下:ENTITY orgate ISPORT(a1,b1:IN BIT;o:OUT BIT);END orgate;ARCHITECTURE a OF orgate ISBEGINo<=a1 OR b1;END a;fulladd.vhd文件代码如下:ENTITY fulladd ISPORT(i1,i2,c_in:IN BIT;fs,c_out:OUT BIT);END fulladd;ARCHITECTURE a OF fulladd ISSIGNAL temp_s,temp_c1,temp_c2:BIT; COMPONENT halfaddPORT(a,b:IN BIT;so,co:OUT BIT);END COMPONENT;COMPONENT orgatePORT(a1,b1:IN BIT;o:OUT BIT);END COMPONENT;BEGINU0:halfadd PORT MAP(i1,i2,temp_s,temp_c1);U1:halfadd PORT MAP(temp_s,c_in,fs,temp_c2);U2:orgate PORT MAP(temp_c1,temp_c2,c_out);END a;add4.vhd文件代码如下:ENTITY add4 ISPORT(a,b:IN BIT_VECTOR(3 DOWNTO 0);cin:IN BIT;so:OUT BIT_VECTOR(3 DOWNTO 0);co:OUT BIT);END add4;ARCHITECTURE a OF add4 ISSIGNAL temp_co0,temp_co1,temp_co2:BIT;COMPONENT fulladd ISPORT(i1,i2,c_in:IN BIT;fs,c_out:OUT BIT);END COMPONENT;BEGINU0:fulladd PORT MAP(a(0),b(0),cin,so(0),temp_co0);U1:fulladd PORT MAP(a(1),b(1),temp_co0,so(1),temp_co1); U2:fulladd PORT MAP(a(2),b(2),temp_co1,so(2),temp_co2); U3:fulladd PORT MAP(a(3),b(3),temp_co2,so(3),co);END a;1.编译顶层设计文件把以上各个模块的VHDL设计文件放入同一个文件夹中,以顶层文件建立工程,直接编译顶层文件同时也就编译各个底层模块文件。

eda课程设计论文4位全加器

eda课程设计论文4位全加器

eda课程设计论文4位全加器一、教学目标本课程的目标是让学生理解并掌握全加器的工作原理和设计方法,能够运用数字逻辑设计出功能完整的全加器。

知识目标:使学生了解全加器的功能和作用,理解其内部电路的工作原理,掌握全加器的真值表和布尔表达式。

技能目标:培养学生运用数字逻辑设计简单电路的能力,能够独立完成全加器的设计和仿真。

情感态度价值观目标:培养学生对电子技术的兴趣,提高学生解决问题的能力,培养学生的创新精神和团队协作精神。

二、教学内容本课程的教学内容主要包括全加器的功能和工作原理、全加器的真值表和布尔表达式、全加器的设计和仿真。

首先,讲解全加器的功能和作用,通过具体的实例让学生了解全加器在计算机中的重要性。

然后,讲解全加器的内部电路工作原理,使学生理解全加器是如何实现加法的。

接下来,介绍全加器的真值表和布尔表达式,让学生掌握全加器的工作原理。

最后,讲解全加器的设计和仿真方法,培养学生运用数字逻辑设计电路的能力。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法。

首先,通过讲授法向学生传授全加器的理论知识,使学生了解全加器的基本概念和工作原理。

然后,通过讨论法引导学生进行思考和讨论,提高学生的理解能力。

接下来,通过案例分析法分析实际案例,使学生了解全加器在计算机中的应用。

最后,通过实验法让学生动手设计和仿真全加器,提高学生的实践能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备适当的教学资源,包括教材、参考书、多媒体资料和实验设备。

教材:选用《数字逻辑设计》作为主教材,系统地介绍全加器的理论知识。

参考书:推荐《计算机组成原理》等参考书,供学生深入学习和参考。

多媒体资料:制作全加器的原理讲解和设计过程的视频,通过动画和图像等形式直观地展示全加器的工作原理。

实验设备:准备数字逻辑设计实验室,提供全加器的设计和仿真实验所需设备。

EDA课程设计--VHDL四路智力抢答器

EDA课程设计--VHDL四路智力抢答器

VHDL四路智力抢答器EDA课程设计一、任务与目的1.1熟练掌握EDA工具软件Quartus的使用1.2熟悉使用VHDL硬件描述语言描述数字电路1.3学会使用VHDL进行大规模集成电路设计1.4学习使用CPLD/FPGA实验系统硬件验证电路设计的正确性1.5初步掌握EDA技术并具备一定的可编程逻辑芯片的开发能力二、设计题目与要求2.1设计题目四路智力竞赛抢答器2.2设计要求1.按所布置的题目要求,每一位学生独立完成全过程2.分模块层次化的设计;3.各功能模块的底层文件必须用VHDL语言设计,顶层文件可以用VHDL语言设计,也可以用原理图设计。

2.3设计内容设计一个可容纳四组参赛者同时抢答的数字抢答器。

主持人可控制系统发的清零和抢答的开始,控制电路可实现最快抢答选手按键抢答的判别和锁定功能,并禁止后续其他选手抢答。

抢答选手确定后给出选手编号的显示,抢答选手的编号显示保持到系统被清零为止,若提前抢答则对相应的抢答组发出警告。

*扩展内容:增加答题限时的功能,在确定了抢答成功有效后,有主持人按下答题限时功能键,开始9s的倒计时。

在计时结束后,超时提示LED闪烁。

在主持人按下clear开关时限时复位。

三、功能分析四路智力竞赛抢答器按功能设计分为三个模块1.抢答锁存模块,在主持人发出抢答指令后(start=’1’),若有参赛者按下抢答按钮,则显示器显示抢答组别,同时电路处于自锁状态,使其它组的抢答器不起作用。

主持人可以用清零按钮进行清零(clr=’0’).若抢答指令未发出(start=’0’),而有参赛者按下抢答按钮,则发出警告信号(alm=1).2.显示功能模块,在参赛者抢答信号(组别)发出后,对参赛者信号进行译码,然后用7段数码管显示出来。

3.计时模块,在确定了抢答成功有效后,有主持人按下答题限时功能键,开始9s的倒计时。

在计时结束后,超时提示LED亮。

在主持人按下clear开关时限时复位。

(扩展模块)四、设计思路分析,设计方案合理性分析与选择。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档