实验二 血型配对器的设计

实验二 血型配对器的设计
实验二 血型配对器的设计

实验二 血型配对器的设计

一、实验目的

1、进一步熟悉Quartus II 软件的使用。

2、掌握简单组合逻辑电路的设计方法与功能仿真技巧。

3、进一步学习Quartus II 中基于原理图设计的流程。

二、实验原理及内容

实验原理

人类有O 、A 、B 、AB 4种基本血型,输血者与受血者的血型必须符合图示原则。设计一血型配对电路,用以检测输血者与受血者之间的血型关系是否符合,如果符合,输出为1,否则为0。

已知: AB 血型是万能受血者,O 血型是万能献血者! 如果要输血给O 型血,那么可以的血型是O 型! 如果要输血给A 型血,那么可以的血型是A ,O 型! 如果要输血给B 型血,那么可以的血型是B ,O 型!

如果要输血给AB 型血,那么可以的血型是A ,B ,AB ,O 型!

实验内容

1、用VHDL 语言编写程序实现血型配对器的功能

2、对所编写的电路进行编译及正确的仿真。

三、实验条件

Quartus II 实验环境 四 实验及仿真 原理图:

O O A

A

B B AB

AB

受血者

输血者

选用74151这个器件来完成此功能。74151的功能表如下

可以实现十六选一。本实验共有十六种情况。用AB来代表输血者,用CD来代表受血者。F为1时说明可以。F为0时说明不可以。

Vhdl编码:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all; entity mux16 is

port(

a0,a1:in std_logic;

s:in std_logic_vector(3 downto 0); y:out std_logic

);

end mux16;

architecture archmux of mux16 is begin

y<=a0 when (s="0000" or

s="0001" or

s="0010" or

s="0011" or

s="1010" or

s="1011" or

s="1111" or

s="0101" or

s="0111" ) else a1;

end archmux;

此编码利用下表编得。

仿真如下:

四、收获与总结

今天的EDA实验,程序->编译->仿真,都很顺利,但是进度很慢,而且对开发环境很不熟悉,虽然道理都很明白,但实际操作时,根本不知道从何入手。所以在以后的实验前一定要查看开资料,写好代码,明白如何使用软件,以节省在实验室时间。以后不论做什么事,都要尽量在事前作好准备,做到心中有数,这样就很可能避免临场时候的手忙脚乱。也可以将事情做得更好。如果碰到什么问题,一定要镇静,坐下来仔细想想,该怎么做,才能尽快并很好的完成。

数字电路 血型匹配

组合逻辑电路大作业报告 学院:自动化学院 班级:自动化1702 班 姓名:马子茹 173407020203

一、题目要求 试用与非门或74LS151分别设计一个血型配对指示器,输血时供血者和受血者的血型配对情况为:(1)同一血型之间可以相互输血;(2)AB型受血者可以接受任何血型的输血;(3)O型输血者可以给任何血型的受血者输血。当受血者的血型和供血者的血型符合要求时绿灯亮,否则红灯亮。 二、逻辑分析 人的血型有A、B、AB、O四种。输血时输血者的血型与受血者的血型必须符合图示中用箭头指示的授受关系。 假设MN代表输血者的血型(00为A型血、01为B型血、10为AB型血、11为O型血),PQ代表受血者的血型(00为A型血、01为B型血、10为AB型血、11为O型血)。假设Y为输出,Y=1时表示血型匹配绿灯亮,Y=0时表示血型不匹配红灯亮。由此可以列出输血、受血血型是否匹配的真值表如下。

根据真值表可以得到逻辑函数表达式为: Y=M'N'P'Q'+M'N'PQ'+ M'NP'Q + M'NPQ'+ MN'PQ'+ MNP'Q'+MNPQ'+MNP'Q+ MNPQ 三、用与非门设计血型配对指示器 1、设计过程 利用卡诺图将逻辑函数表达式进行化简: 化简结果为:Y=M'N'Q'+NP'Q+PQ'+MN跟据化简结果进行与非门逻辑电路设计

2、仿真过程 因为实验情况较多,我们选择了随机抽取的的四种仿真效果作为参考:两种可以输血(亮绿灯),两种不可输血(亮红灯)的情况。 (1)Y=1,亮绿灯,可以输血。 ①当输入M=N=P=Q=0时,输出Y=1。既A血型可以给A血型输血,亮绿灯,演示结果如图: ②当输入M=0,N=1,P=1,Q=0时,输出Y=1。既B血型可以给AB血型输血,亮绿灯,演示结果如图:

组合逻辑电路——血型匹配电路

. . . 组合逻辑电路 ——血型匹配电路 一、题目: 人的血型由A、B、AB、O四种。输血时输血者的血型与受血者血型必须符合图1中用箭头指示的授受关系。判断输血者与受血者的血型是否符合上述规定,要求用八选一数据选择器(74LS151)及与非门(74LS00)实现。(提示:用两个逻辑变量的4种取值表示输血者的血型,例如00代表A、01代表B、10代表AB、11代表O。) 图1 二、分析: 人的血型由A、B、AB、O四种刚好可以用两个逻辑变量表示,在这里我们不妨设00代表血型A、01代表血型B、10代表血型AB、11代表血型O。由于我们是要来判断两个血型是否匹配,则我们需要用四个逻辑变量,通过对四个逻辑变量进行逻辑设计,从而得到所需要求电路。 题目要求用八选一数据选择器(74LS151)及与非门(74LS00)实现。74LS151只有8个数据输入端要来实现四个逻辑变量(16个数据最小项)的数据逻辑组合。这是必须有一个逻辑变量接到74LS151的数据输入端。 我们不妨把输血者血型用逻辑变量BA表示,受血者血型用逻辑变量DC表示,则由图一所指示的授受关系。得到能否匹配的卡诺图,其中匹配用1表示,不能用0表示。 做出逻辑变量ABCD的卡诺图如下图所示:

DC BA 00 01 11 10 00 01 11 10 由于用74LS151,需要把一个变量放到数据输入端,这里我们不妨把D 放到数据输入端我们得到卡诺图2 m 0 m 1 m 3 m 2 m 6 m 7 m 5 m 4 D ABC 000 001 011 010 110 111 101 100 0 1 D 0=1 D 1=D D 3=1 D 2=D D 6=0 D 7=1 D 5= D 4=0 由此我们可以的做出仿真电路: VCC 5V U1 74LS151N G 07MUX ~W 6 D04D13D22D31D415D514D613D7 12 A 11C 9 B 10Y 5~G 7 X1 5 V J1 Key = Space J2 Key = Space J3 Key = Space J4 Key = Space VCC 5V U2A 74S00D & 1 0 0 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 0 0

一位全加器VHDL的设计实验报告

EDA技术及应用实验报告 ——一位全加器VHDL的设计 班级:XXX 姓名:XXX 学号:XXX

一位全加器的VHDL设计 一、实验目的: 1、学习MAX+PLUSⅡ软件的使用,包括软件安装及基本的使用流程。 2、掌握用VHDL设计简单组合电路的方法和详细设计流程。 3、掌握VHDL的层次化设计方法。 二、实验原理: 本实验要用VHDL输入设计方法完成1位全加器的设计。1位全加器可以用两个半加器及一个或门连接构成,因此需要首先完成半加器的VHDL设计。采用VHDL层次化的设计方法,用文本编辑器设计一个半加器,并将其封装成模块,然后在顶层调用半加器模块完成1位全加器的VHDL设计。 三、实验内容和步骤: 1、打开文本编辑器,完成半加器的设计。 2、完成1位半加器的设计输入、目标器件选择、编译。

3、打开文本编辑器,完成或门的设计。 4、完成或门的设计输入、目标器件选择、编译。 5、打开文本编辑器,完成全加器的设计。

6、完成全加器的设计输入、目标器件选择、编译。 7、全加器仿真 8、全加器引脚锁定

四、结果及分析: 该一位加法器是由两个半加器组成,在半加器的基础上,采用元件的调用和例化语句,将元件连接起来,而实现全加器的VHDL编程和整体功能。全加器包含两个半加器和一或门,1位半加器的端口a和b分别是两位相加的二进制输入信号,h是相加和输出信号,c是进位输出信号。构成的全加器中,A,B,C分别是该一位全加器的三个二进制输入端,H是进位端,Ci是相加和输出信号的和,下图是根据试验箱上得出的结果写出的真值表: 信号输入端信号输出端 Ai Bi Ci Si Ci 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1

血型配对表

血型配对表 血型配对 由于人类红细胞所含凝集原不同,而将血液分成若干型,故称血型,以“ABO血型”和“Rh 血型”最为常见。血型配对,是指夫妻结合后根据双方血型能推算出后代血型的一种规律。 狭义地讲,血型专指红细胞抗原在个体间的差异;但现已知道除红细胞外,在白细胞、血小板乃至某些血浆蛋白,个体之间也存在着抗原差异。因此,广义的血型应包括血液各成分的抗原在个体间出现的差异。通常人们对血型的了解往往仅局限于ABO血型以及输血问题等方面,实际上,血型在人类学、遗传学、法医学、临床医学等学科都有广泛的实用价值,因此具有着重要的理论和实践意义。 输血血型配对 血型配对除了可以推测后代血型外,在临床上输血时也起着重要意义。由于不同血型的人具有不同抗原,若输血时接受了不适合自己血型的血液,则会起到严重的抗凝反应,导致生命危险。 血型主要是根据人体血液中含有的血型抗原来分类的,而每个人的血型又是从父母亲那里有规律地遗传得来的。以最普遍的ABO血型系统来说,如果一个人的血液里有A抗原,就是A型血;有B抗原的是B型血;同时含有A和B抗原的是AB型血;既不含A也不含B抗原的则是O型血。 血液中除含有上面提到的血型抗原,还有一种相对应的物质——血型抗体。A型血有抗B抗体,B型血有抗A抗体,当这种相互对抗的抗原抗体相遇时就会发生生物学所指的凝集反应,表现在临床上就是使我们的血液大量地溶解和破坏。 ABO系统中血液的抗原抗体: A :A抗原抗B抗体 B:B抗原抗A抗体 AB:A、B抗原无 O:无抗A、B抗体 输血的凝集反应是一种致命的症状,可以严重危及人的生命。所以应避免将含有对受血者血型抗原对抗抗体的血液输入给受血者。所以说,B型血不能输给A型血,A型不能输给B型。 AB型血因不含抗A和抗B抗体,理论上可以接受异型血输入;O型血与AB正相反,即含抗A又含抗B抗体,因此不能接受异型输血,但它不含A和B抗原,当需要的时候可以输给A、B或AB型血的人。这就是通常把O型血称作“万能输血者”的原因。

实验一1位二进制全加器的设计

龙岩学院实验报告 班级学号姓名同组人 实验日期室温大气压成绩 实验题目:基于原理图输入法的1位二进制全加器的设计 一、实验目的 1、学习、掌握QuartusⅡ开发平台的基本使用。 2、学习基于原理图输入设计法设计数字电路的方法,能用原理图输入设计法 设计1位二进制半加器、1位二进制全加器。 3、学习EDA-V型实验系统的基本使用方法。 二、实验仪器 装有QuartusⅡ软件的计算机一台、EDA系统实验箱、导线若干 三、实验原理 半加器只考虑两个1位二进制数相加,而不考虑低位进位数相加。半加器的逻辑函数 为 式中A和B是两个相加的二进制数,S是半加和,C是向高位的进位数。表1为半加器真值表。 表1 A B C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 显然,异或门具有半加器求和的功能,与门具有进位功能。 其逻辑图跟逻辑符号如下图:

全加器除了两个1位二进制数相加以外,还与低位向本位的进位数相加。表2为全加器的真值表。 表2 A i B i C I-1 C i S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 由真值表可得出逻辑函数式 式中,A i 和B i 是两个相加的1为二进制数,C i-1 是由相邻低位送来的进位数, S I 是本位的全加和,C I 是向相邻高位送出的进位数。其逻辑图跟逻辑符号如下图所示: 四、实验内容 1、根据1位二进制半加器、1位二进制全加器的真值表,设计并画出1位二进制半加器的原理框图,由半加器及门电路设计并画出1位二进制全加器的原理框图(最终设计的是1位二进制全加器)。

半加器全加器的工作原理和设计方法实验报告[精品文档]

一、实验目的 1、学习和掌握半加器全加器的工作原理和设计方法。 2、熟悉EDA工具Quartus II的使用,能够熟练运用Vrilog HDL语言在 Quartus II下进行工程开发、调试和仿真。 3、掌握组合逻辑电路在Quartus Ⅱ中的图形输入方法及文本输入方法, 掌握层次化设计方法。 4、掌握半加器、全加器采用不同的描述方法。 二、实验内容 1、完成半加器全加器的设计,包括原理图输入,编译、综合、适配、仿真等。并将半加器电路设 置成一个硬件符号入库 2、建立更高层次的原理图设计,利用1位半加器构成1位全加器,并完成编译、综合、适配、仿 真并硬件测试 3、采用图形输入法设计1位加法器分别采用图形输入和文本输入方法,设计全加器 4、实验报告:详细叙述1位全加法器的设计流程,给出各层次的原理图及其对应的仿真波形图, 给出加法器的上时序分析情况,最后给出硬件测试流程和结果。 三、实验步骤 1、建立一个Project。 2、编辑一个VHDL程序,要求用VHDL结构描述的方法设计一个半加器 3、对该VHDL程序进行编译,修改错误。 4、建立一个波形文件。(根据真值表) 5、对该VHDL程序进行功能仿真和时序仿真 四、实验现象 任务1:半加器真值表描述方法 代码如下: 半加器是只考虑两个加数本身,而不考虑来自低位进位的逻辑电路 S=A B+A B CO=AB

代码如下: LIBRARY IEEE; --行为描述半加器 USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT(a,b:IN STD_LOGIC; so,co:OUT STD_LOGIC); END h_adder; Architecture FH1 OF h_adder IS Signal abc:STD_LOGIC_vector(1 downto 0); Begin abc<=a&b; --并 Process(abc) --进程 begin case abc is WHEN "00"=>SO<='0';CO<='0'; WHEN "01"=>SO<='1';CO<='0'; WHEN "10"=>SO<='1';CO<='0'; WHEN "11"=>SO<='0';CO<='1'; WHEN OTHERS =>NULL; END CASE; END PROCESS; END ARCHITECTURE FH1; 结果如下: 逻辑图

杭电计组实验1-全加器设计实验

杭电计组实验1-全加器设计实验 杭州电子科技大学计算机学院实验报告实验项目:实验1-全加器设计实验课程名称:计算机组成原理与系统结构课程设计姓名: 学号: 同组姓名: 学号: 实验位置(机号): 自己的笔记本实验日期: 指导教师: 实验内容(算法、程序、步骤和方法)一、实验目的(1),学习ISE工具软件的使用及仿真方法(2)学习FPGA程序的下载方法(3)熟悉Nexys3实验板(4)掌握运用VerilogHDL进行结构描述与建模的技巧和方法(5)掌握二进制全加器的原理和设计方法二、实验仪器ISE工具软件三、步骤、方法(1)启动XilinxISE 软件,选择File-NewProject,输入工程名,默认选择后,点击Next按钮,确认工程信息后点击Finish按钮,创建一个完整的工程。 (2)在工程管理区的任意位置右击,选择NewSource命令。弹出NewSourceWizard对话框,选择VerilogModule,并输入Verilog文件名shiyan1,点击Next按钮进入下一步,点击Finish完成创建。 (3)编辑程序源代码,然后编译,综合;选择Synthesize--XST项中的CheckSyntax右击选择Run命令,并查看RTL视图;如果编译出错,则需要修改程序代码,直至正确。 (4)在工程管理区将View类型设置成Simulation,在任意位置右击,选择NewSource命令,选择VerilogTestFixture选项。输入文件名shiyan1_test,点击Next,点击Finish,完成。编写激励代码,观察仿真波形,如果验证逻辑有误,则修改代码,重新编译,仿真,直至正确。 (5)由于实验一并未链接实验板,所以后面的链接实验板的步骤此处没有。 操作过程及结果一、操作过程实验过程和描述: moduleshiyan1(A,B,C,F,Ci);inputA,B,C;outputF,Ci;wireA,B,C,F,Ci;wi reS1,S2,S3;xorXU1(F,A,B,C),XU2(S1,A,B);andAU1(S2,A,B),AU2(S3,S1,C);or OU1(Ci,S2,S3);endmodule仿真代码 moduleshiyan1_test;//InputsregA;regB;regC;//OutputswireF;wireCi;/ /InstantiatetheUnitUnderTest(UUT)shiyan1uut(.A(A),.B(B),.C(C),.F(F),. Ci(Ci));initialbegin//InitializeInputsA=0;B=0;C=0;//Wait100nsforgloba lresettofinish#100;//AddstimulushereA=0;B=0;C=0;#100A=0;B=0;C=1;#100A =0;B=1;C=0;#100A=0;B=1;C=1;#100A=1;B=0;C=0;#100A=1;B=0;C=1;#100A=1;B= 1;C=0;#100A=1;B=1;C=1;EndRTL图 二、结果 思考题: ((1)根据查看顶层模块RTL的最外层的输入输出接口,和实验指导书式(14.1)所示电路相比,该电路图的输入输出引脚和这个加法器的引脚图式是相符合的。 ((2))尝试使用数据流描述方式现实现

血型配对表

血型配对表 2009年04月21日星期二 13:30 父母血型子女可能子女不可能* A及A A,O B,AB A及B A,B, AB,O A及AB A,B, AB O A及O A,O B,AB B及B B,O A,AB B及AB A,B, AB O B及O B,O A,AB AB及AB A,B, AB O AB及O A,B AB,O O及O O A,B,AB 男女血型爱情配对表 血型会造就情人,不同的血型搭配,往往奇妙激荡同一电波;频道相同,当然就极易迸裂爱的火花了。 根据新郎新娘有关血型的实际调查发现,B型男孩看O型女孩最对眼,A型男孩最容易对B型女孩萌生爱意,而同是O型者,较难产生爱的火焰。 血型爱情配对表,根据血型测试你和恋人的缘分和婚姻,仅供参考! ?AB型和 AB型:经不起外部攻击。 这是一组比“B—B”更单一化的关系,在他们之间似乎只有知识交流的关系。除外表容貌、社会能力、技术等因素外,在待人方式、性格及个性等方面,双方都抱有不屑一顾的态度。特别在男女关系,不少AB型男女明确表示不愿与AB型人交往。日常生活方面的相互配合也很难说是好的。笔者偶尔也拜访清一色的AB 型家庭,那种一家子各行其是的景象是令人惊讶的,甚至觉得他们相互间都是漠不关心的。可是,漠不关心的AB型人对兴趣爱好、工作等知识性问题却有共同的语言,相互很谈得拢,而且还常常相互忠告。相同血型的人,最好能把气质以外的因素拉开差距,如出身,职业、负责的业务、地位及年龄差别等。AB型同伴在工作上能建立起极好的上下级关系。他们之间信息畅通、配合默契。甚至在长时间不对话的情况下,也能确信对方在考虑同一个问题。堪称富有理智和信任的关系。在企业或其它一些部门里常可以看到这样的上下级关系。不管怎么说,由于AB型人之间缺乏气质上的和人类间应有的吸引因素,所以虽然有的机构里AB型人较多,但能自然地长久相处的AB型组合还是不多见的。他们似有脆弱性,受到外部压力和冲击时较易散伙。 ?AB型和 A型:由相爱、尊敬、定局 这一组合常见于相亲相爱的夫妇和情侣;其次是朋友以及相处得好的同伴关系。这组关系总的感觉是,他们似乎较难形成配合默契的工作关系。简明地说,这是

组合逻辑电路——血型匹配电路

组合逻辑电路 ——血型匹配电路 一、题目: 人的血型由A、B、AB、O四种。输血时输血者的血型与受血者血型必须符合图1中用箭头指示的授受关系。判断输血者与受血者的血型是否符合上述规定,要求用八选一数据选择器(74LS151)及与非门(74LS00)实现。(提示:用两个逻辑变量的4种取值表示输血者的血型,例如00代表A、01代表B、10代表AB、11代表O。) 图1 二、分析: 人的血型由A、B、AB、O四种刚好可以用两个逻辑变量表示,在这里我们不妨设00代表血型A、01代表血型B、10代表血型AB、11代表血型O。由于我们是要来判断两个血型是否匹配,则我们需要用四个逻辑变量,通过对四个逻辑变量进行逻辑设计,从而得到所需要求电路。 题目要求用八选一数据选择器(74LS151)及与非门(74LS00)实现。74LS151只有8个数据输入端要来实现四个逻辑变量(16个数据最小项)的数据逻辑组合。这是必须有一个逻辑变量接到74LS151的数据输入端。 我们不妨把输血者血型用逻辑变量BA表示,受血者血型用逻辑变量DC表示,则由图一所指示的授受关系。得到能否匹配的卡诺图,其中匹配用1表示,不能用0表示。 做出逻辑变量ABCD的卡诺图如下图所示: DC BA 00 由于用74LS151要把一个变量放到数据输入端,们不妨把D放到数据 诺图2 m0m1 m m2 m6 m7

m 5m 4 D ABC 000 001 011 010 110 111 101 100 0 1 D 0=1D 1=D D 3=1D 2=DD 6=0D 7=1D 5=D 4=0 由此我们可以的做出仿真电路: VCC 5V U1 74LS151N G 07MUX ~W 6 D04D13D22D31D415D514D613D7 12 A 11C 9 B 10Y 5~G 7 X1 5 V J1 Key = Space J2 Key = Space J3 Key = Space J4 Key = Space VCC 5V U2A 74S00D & 三、 仿真验证: 当BA=00,DC=00时:可以看见指示灯亮,输出高电平,输出正确 VCC 5V U1 74LS151N G 07MUX ~W 6 D04D13D22D31D415D514D613D7 12 A 11C 9 B 10Y 5~G 7 X1 J1 Key = Space J2 Key = Space J3 Key = Space J4 Key = Space VCC 5V U2A 74S00D & 1 0 1 0 0 1 1 0 1 1 1 1 0 1 0 0

第二章练习题

1 第2章 组合逻辑电路分析与设计 2-1 图2-5是两个CMOS 逻辑门的内部结构图,试说出逻辑门的名称,并写出输出函数表达式,画出其逻辑符号。 2-2 已知74S00是2输入四与非门,I OL =20mA ,I OH =1mA ,I IL =2mA ,I IH =50μA ;7410是3输入三与非门,I OL =16mA ,I OH =0.4mA ,I IL =1.6mA ,I IH =40μA 。试分别计算74S00和7410的扇出系数。理论上,一个74S00逻辑门的输出端最多可以驱动几个7410逻辑门,一个7410逻辑门的输出端最多可以驱动几个74S00逻辑门? 2-3 图2-7中的逻辑门均为TTL 门。试问图中电路能否实现1F AB =,2F AB =, 3F AB BC =?的功能?要求说明理由。 2-4 试用OC 与非门实现逻辑函数F AC ABC ACD =++,假定不允许反变量输入。 2-5 某组合逻辑电路如图2-9(a )所示 (1) 写出输出函数F 的表达式; (2) 列出真值表; (3) 对应图2-9(b )所示输入波形,画出输出信号F 的波形; Q Q 3 6 A B +V Q Q Q Q F 1 24 5 DD Q Q 1 2 F A B Q Q Q Q +V 34 5 6 DD (a ) (b ) 图2-5 CMOS 逻辑门内部结构图 & A 1 B 10K F β =50 +5V 1K & A 2 B 10K F β =50 +5V 1K & & A B C 3 F (a ) (b ) (c ) 图2-7

2 (4) 用图2-9(c )所示与或非门实现函数F (允许反变量输入)。 2-6 写出图2-11所示电路的输出函数表达式,说明该电路的逻辑功能和每个输入变量和输出变量的含义。 2-7 列表说明图2-12所示电路中,当S 3S 2S 1S 0作为控制信号时,F 与A 、B 的逻辑关系。 A EN EN B E ≥1 & 1F 1A B E F & ≥1 (a ) (b ) (c ) 图2-9 & ≥1 1 =1 & ≥1 A B F S S S 123 S 0 图2-12 图2-11 & ≥1 A 1 A 01 11 X 1X 0X 3X 2EN Y

实验一 4位全加器的设计

实验一4位全加器的设计 一、实验目的: 1 熟悉QuartusⅡ与ModelSim的使用; 2 学会使用文本输入方式和原理图输入方式进行工程设计; 3 分别使用数据流、行为和结构化描述方法进行四位全加器的设计; 4 理解RTL视图和Technology Map视图的区别; 5 掌握简单的testbench文件的编写。 二、实验原理: 一个4位全加器可以由4个一位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的进位输入信号cin相接。 三、实验内容: 1.QuartusII软件的熟悉 熟悉QuartusⅡ环境下原理图的设计方法和流程,可参考课本第4章的内容,重点掌握层次化的设计方法。 2.设计1位全加器原理图 设计的原理图如下所示:

VHDL源程序如下(行为描述):-- Quartus II VHDL Template -- Unsigned Adder library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity f_add is port ( a : in std_logic; b : in std_logic; ci : in std_logic; y : out std_logic; co : out std_logic ); end entity; architecture rtl of f_add is begin (co,y)<=('0',a)+('0',b)+('0',ci); end rtl;

血型匹配指示器

学号41 分数 血型匹配指示器 姓名:朱丽丝 班级:09电信 指导教师:赵欣 湖北轻工职业技术学院 2011年03月27日

目录 第一章概述 (2) 第二章血型匹配指示器的电路原理 (3) 第三章电路的调试与制作 (5) 第四章总结与体会 (8) 第五章附录 (9)

第一章概述 每个人都拥有各自不同的血型,但并不是谁都清楚自己能接受哪些血型的人献血,能给哪些人献血。在献血、受血的时候,如果不清楚而搞错了,就会出很大问题。例如:如果B型血输给O型血,可引起凝集反应,也就是说血液凝结在一起,堵塞小血管,发生血液循环障碍,从而破坏肾功能,严重时甚至可致人死亡。 血型匹配指示器能够在操作人按下自己血型的对应按钮后,通过指示灯告诉操作人他的血能为哪些血型的人群服务;同时,操作人也能够知道按下某个按钮时,若自己血型对应的指示灯亮了,意味着自己可以接受这个血型的人群的献血。有了这个血型匹配指示器后,在受血时,就不会出现那些不必要的错误而造成不必要的严重后果。 我们这次制作的血型匹配指示器,每一个开关都代表一个受血者或献血者的血型,按下相应的开关后,亮绿灯代表是可以的,亮红灯代表不可以。 下面就是我们这次制作的详细过程。

第二章血型匹配指示器的电路原理一、原理图:

二、原理介绍: 血型匹配的原则是: (1).O型血可以输给A、B、O型血,但O型血只能接收O型血; (2).AB型血的人只能输给AB型血的人,但AB型可以接受A、B、O型血; (3).A型血能输给A型血或AB型血,可以接受A型血或O型血; (4).B型血能输给B型血或AB型血,可以接受B型血或O型血。 整个电路最主要的是采用了一个8选1的数据选择器来实现电路的逻辑功能。其次是用了2组开关来表示供血者和受血者的血型,其中用00来表示A型血,用01来表示B型血,用10来表示AB型血,用11来表示O型血(输血者和受血者均用开关如此来表示)。如果输血者与受血者的血型符合规定则绿灯亮,表示可以输血,否则就是红灯亮,表示不能输血。

FPGA一位全加器设计实验报告

题目:1位全加器的设计 一.实验目的 1.熟悉QUARTUSII软件的使用; 2.熟悉实验硬件平台的使用; 3.掌握利用层次结构描述法设计电路。 二.实验原理 由于一位全加器可由两个一位半加器与一个或门构成,首先设计半加器电路,将其打包为半加器模块;然后在顶层调用半加器模块组成全加器电路;最后将全加器电路编译下载到实验箱,其中ain,bin,cin信号可采用实 验箱上SW0,SW1,SW2键作为输入,并将输 入的信号连接到红色LED管 LEDR0,LEDR1,LEDR2上便于观察,sum,cout 信号采用绿色发光二极管LEDG0,LEDG1来 显示。 三.实验步骤 1.在QUARTUSII软件下创建一工程,工程名为full_adder,芯片名为EP2C35F672C6; 2.新建Verilog语言文件,输入如下半加器Verilog语言源程序; module half_adder(a,b,s,co); input a,b; output s,co; wire s,co; assign co=a & b; assign s=a ^ b; Endmodule 3.保存半加器程序为,进行功能仿真、时序仿真,验证设计的正确性。 其初始值、功能仿真波形和时序仿真波形分别如下所示

4.选择菜单File→Create/Update→Create Symbol Files for current file,创建半加器模块; 5.新建一原理图文件,在原理图中调用半加器、或门模块和输入,输出引脚,按照图1所示连接电路。并将输入ain,bin,cin连接到FPGA的输出端,便于观察。完成后另保存full_adder。 电路图如下 6.对设计进行全编译,锁定引脚,然后分别进行功能与时序仿真,验证全加器的逻辑功能。其初始值、功能仿真波形和时序仿真波形分别如下所示

组合逻辑电路——血型匹配电路

. 组合逻辑电路 ——血型匹配电路 一、题目: 人的血型由A、B、AB、O四种。输血时输血者的血型与受血者血型必须符合图1中用箭头指示的授受关系。判断输血者与受血者的血型是否符合上述规定,要求用八选一数据选择器(74LS151)及与非门(74LS00)实现。(提示:用两个逻辑变量的4种取值表示输血者的血型,例如00代表A、01代表B、10代表AB、11代表O。) 图1 二、分析: 人的血型由A、B、AB、O四种刚好可以用两个逻辑变量表示,在这里我们不妨设00代表血型A、01代表血型B、10代表血型AB、11代表血型O。由于我们是要来判断两个血型是否匹配,则我们需要用四个逻辑变量,通过对四个逻辑变量进行逻辑设计,从而得到所需要求电路。 题目要求用八选一数据选择器(74LS151)及与非门(74LS00)实现。74LS151只有8个数据输入端要来实现四个逻辑变量(16个数据最小项)的数据逻辑组合。这是必须有一个逻辑变量接到74LS151的数据输入端。 我们不妨把输血者血型用逻辑变量BA表示,受血者血型用逻辑变量DC表示,则由图一所指示的授受关系。得到能否匹配的卡诺图,其中匹配用1表示,

不能用0表示。 做出逻辑变量ABCD 的卡诺图如下图所示: DC BA 00 01 11 10 00 01 11 10

由于用74LS151,需要把一个变量放到数据输入端,这里我们不妨把D 放到数据输入端我们得到卡诺图2 m 0 m 1 m 3 m 2 m 6 m 7 m 5 m 4 D ABC 000 001 011 010 110 111 101 100 0 1 D 0=1 D 1=D D 3=1 D 2=D D 6=0 D 7=1 D 5= D 4=0 由此我们可以的做出仿真电路: VCC 5V U1 74LS151N G 07MUX ~W 6 D04D13D22D31D415D514D613D7 12 A 11C 9B 10Y 5~G 7 X1 5 V J1 Key = Space J2 Key = Space J3 Key = Space J4 Key = Space VCC 5V U2A 74S00D & 三、 仿真验证: 当BA=00,DC=00时:可以看见指示灯亮,输出高电平,输出正确 1 0 1 0 0 1 1 0 1 1 1 1 1

全加器实验报告

全加器设计实验报告 姓名: 班级: 学号:

实验目的: 1.熟悉QuartusⅡ原理图设计流程,学习简单电路的设计方法、输入步骤、层次化步骤。 2.掌握QuartusII的文本输入方式的设计过程,理解VHDL语言的结构级描述方法,学习元件例化语句的设计方法。 实验原理:一位全加器可以用两个半加器及一个或门连接而成。要求使用原理图输入的方法先进行底层半加器设计,再建立上层全加器设计文件,调用半加器和或门符号,连线完成原理图设计。 全加器可以用两个半加器和一个或门连接而成,在半加器描述的基础上,采用COMPONENT语句和PORT MAP语句就可以很容易地编写出描述全加器的程序。 一.原理图 1.半加器 实验步骤 1.打开Quartus Ⅱ软件,选择新建命令,在新建对话框中选择原理图文件编辑输入项,完成新建进入原理图编辑窗口。 2.在原理图编辑窗口任意位置右击鼠标,将出现快捷菜单,选择其中的输入元件项insert symbol,按照所设计的电路,放置器件,排版,连线,完成设计后选择另存为命令,命名为h_adder存放在指定文件夹中。

3.完成半加器的设计后,重复新建命令,开始进行全加器设计,在新建的原理图中,双击鼠标,在弹出的窗口中选择project选项,将之前存入的h_adder元件,放入原理图中。 2.全加器 实验步骤 1.新建工程,在新建的工程中建立VHDL语言编辑文件,在编辑窗口处,输入设计的半加器全加器程序。 2.将设计好程序进行编译,没有错误之后定义全加器五个引脚所对应耳朵硬件电路的引脚号。 3.烧录程序,调试,验证程序是否合理。

二.程序

数字逻辑-血型配对-三裁判

《数字逻辑》实验报告 第一次实验:组合逻辑电路设计 实验报告 实验目的:掌握查阅数字集成电路资料的方法;掌握一般组合逻辑集成电路的使用 实验任务: A血型配对 B.三裁判(含主裁判)表决器 实验设备、器件及功能说明: ?四2输入与非门:74LS00

?8-1数据选择器:74LS151 74LS00 2 输入端四与非门 74LS151 8选1数据选择器 实验内容: (1)A血型配对 题目要求:人的血型有A、B、AB、O四种。输血时输血者的血型与受血者血型必须符合图1中用箭头指示的授受关系。判断输血者与受血者的血型是否符合上述规定,要求用八选一数据选择器(74LS151)及与非门(74LS00)实现。(AB表示输送血型,CD表示接受血型。输出变量F,F取值为1表示可以输送。 假设血型编码为 AB取值为00表示O型、01表示A型、10表示B型、11表示AB型; CD取值为00表示AB型、01表示B型、10表示A型、11表示O型)

A B AB O A B AB O 图1 二、设计思路 由逻辑关系列出真值表 A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F 1 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 卡诺图为: 由卡诺图可得:F=BD+AC = BD * AC 电路如图: 电源输出F

A C B D 接地 3接13, 6接12 11接10 11接9 8为输出F 实验结果: A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F 1 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 表示的结果为: O型适用于所有血型;A适用于AB型和A型,不适用于O型;

八位加法器设计实验报告

实验四: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

实验一1 1位全加器的设计

实验一1位全加器的设计 一、实验目的 1.熟悉ISE软件的使用; 2.熟悉下载平台的使用; 3.掌握利用层次结构描述法设计电路。 二、实验原理及说明 由数字电路知识可知,一位全加器可由两个一位半加器与一个或门构成,其原理图如图1所示。该设计利用层次结构描述法,首先设计半加器电路,将其打包为半加器模块;然后在顶层调用半加器模块组成全加器电路;最后将全加器电路编译下载到实验板,其中a,b,cin 信号可采用实验箱上SW0,SW1,SW2键作为输入,输出sum,cout信号采用发光二极管LED3,LED2来显示。 图1 全加器原理图 三、实验步骤 1.在ISE软件下创建一工程,工程名为full_adder,工程路径在E盘,或DATA盘, 并以学号为文件夹,注意不要有中文路径,注意:不可将工程放到默认的软件安装 目录中。芯片名为Spartan3E系列的XC3S500E-PQG208 2.新建Verilog HDL文件,首先设计半加器,输入如下源程序; module half_adder(a,b,s,co); input a,b; output s,co;

wire s,co; assign co=a & b; assign s=a ^ b; endmodule 3.保存半加器程序为half_adder.v,通过HDL Bench画仿真波形,获得仿真用激励文 件,随后进行功能仿真、时序仿真,验证设计的正确性,观察两种仿真波形的差异。 4.在Design窗口中,选择Design Utilities→Create Schematic Symbol创建半加器模 块; 5.新建一原理图(Schematic)文件,在原理图中调用两个半加器模块、一个或门模块, 按照图1所示连接电路,并连接输入、输出引脚。完成后另保存full_adder.sch。 6.对设计进行综合,如出现错误请按照错误提示进行修改。 7.HDL Bench画仿真波形,获得仿真用激励文件,分别进行功能与时序仿真,验证全 加器的逻辑功能,观察两类波形的差异。 8.根据下载板的情况锁定引脚 9.下载,采用JATG方式进行下载,通过SW0,SW1,SW2输入,观察的LED2,LED3, 亮灭情况,验证全加器的逻辑功能。 四、思考题 1.为什么在实验步骤3中,将半加器保存为half_adder,可否保存为full_adder? 2.对电路进行功能仿真与时序仿真时,发现二者有什么样的区别? 3.为什么要进行引脚锁定? 4.采用层次结构法描述电路有什么样的优点?

实验一一位二进制全加器设计实验

大学实验报告 学生: 学 号: 专业班级: 中兴101 实验类型:■ 验证 □ 综合 □设计 □ 创新 实验日期: 2012 9 28 实验成绩: 实验一 一位二进制全加器设计实验 一.实验目的 (1)掌握Quartus II 的VHDL 文本设计和原理图输入方法设计全过程; (2)熟悉简单组合电路的设计,掌握系统仿真,学会分析硬件测试结果; (3) 熟悉设备和软件,掌握实验操作。 二.实验容与要求 (1)在利用VHDL 编辑程序实现半加器和或门,再利用原理图连接半加器和或门完成全加器的设计,熟悉层次设计概念; (2)给出此项设计的仿真波形; (3)参照实验板1K100的引脚号,选定和锁定引脚,编程下载,进行硬件测试。 三.设计思路 一个1位全加器可以用两个1位半加器及一个或门连接而成。而一个1位半加器可由基本门电路组成。 (1) 半加器设计原理 能对两个1位二进制数进行相加而求得和及进位的逻辑电路称为半加器。或:只考虑两个一位二进制数的相加,而不考虑来自低位进位数的运算电路,称为半加器。图1为半加器原理图。其中:a 、b 分别为被加数与加数,作为电路的输入端;so 为两数相加产生的本位和,它和两数相加产生的向高位的进位co 一起作为电路的输出。 半加器的真值表为 表1 半加器真值表 a b so co 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 由真值表可分别写出和数so ,进位数co 的逻辑函数表达式为: b a b a b a so ⊕=+=- - (1) ab co = (2)

图1半加器原理图 (2) 全加器设计原理 除本位两个数相加外,还要加上从低位来的进位数,称为全加器。图2全加器原理图。全加器的真值表如下: 表2全加器真值表 c a b co so 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 其中a为加数,b为加数,c为低位向本位的进位,co为本位向高位的进位,so为本位和。 图2.全加器原理图 四.实现方法一:原理图输入法设计(自己独立完成) 1. 建立文件夹 建立自己的文件夹(目录),如c:\myeda,进入Windows操作系统 QuartusII不能识别中文,文件及文件夹名不能用中文。 2. 原理图设计输入 打开Quartus II,选菜单File→New,选择“Device Design File->Block Diagram->Schematic File”项。点击“OK”,在主界面中将打开“Block Editor”窗口。 (1) 放置元件 在原理图编辑窗中的任何一个空白处双击鼠标左键或单击右键,跳出一个选择窗,选择

相关文档
最新文档