广州大学松田学院
EDA技术及应用
课程
说明书
题 目 血型配对器的设计
姓 名 陈洁伟、邬梓峰、钟圳华、林英超
专 业 电子信息工程
班 级 电子班
系(部) 电气与汽车工程系
指导教师 曾霞
2014年 6月 25 日
目 录
摘 要 1
第1章 设计功能分析 2
1.1 设计目的 2
1.2基本要求 2
第2章 系统的总体设计 3
2.1 设计基本原理 3
2.2电路原理图 4
2.3真值
4
第3章 系统子模块设计 5
第4章 仿真分析 6
第5章 硬件调试 7
第6章
与体会 8
参考文献 9
附录 9
摘 要
本次设计利用QuartusII为设计软件、VHDL为硬件描述语言,结合所学的数字电路的知识设计一个血型配对器,众所周知人类有四种基本血型:A、B、AB、O型。输血者与受血者的血型必须符合下述规则:O型血可以输给任何人,但O型血的人只能接受O型血;AB型血的人只能给AB型血的人输血,但他能接受所有血型的血;A型血能输给A型或AB型血,可以接收A型或O型血;B型血能输给B型或AB型血,可以接收B型或O型血。所以如果有这样一种装置,而且这个装置需要:1、先测两次血型;2、然后把两个血型输入电脑芯片;3、可以输血则绿灯亮否则亮红灯。如果输血者与受血者血型匹配则绿灯亮,表示可以输血,否则红灯亮。这个设想挺好的,不过也有几个问题:1、增加了治疗成本,高科技的使用肯定要转移到患者的身上;2、降低了安全性,电脑芯片是否会百分百没问题,现实的医疗上操作是至少两次的血型比较,基本上不会出现血型配对的错误;3、即使设计出来这种产品临床上也不会大量的使用,难以形成批量生产;4、应该还有其他的问题,我暂时还没有想起来。这种发现问题解决问题的想法很好地,但是需要考虑实用性,希望有机会多交流得以改善。
第1章 设计功能分析
1.1 设计目的
(1)通过课程设计使学生能熟练掌握一种EDA软件(QUARTUSII)的使用方法,能熟练进行设计输入、编译、管脚分配、下载等过程,为以后进行工程实际问题的研究打下设计基础。
(2)掌握简单组合逻辑电路的设计方法与功能仿真技巧。
(3)进一步学习Quartus II中基于原理图设计的
。
(4)通过课程设计使学生初步具有分析、寻找和排除电子电路中常见 故障的能力。
1.2基本要求
1、设计一个含八个开关的显示模块,每两个开关代表一个输入血型。
2、显示模块具有显示输血者与受血者血型的功能。
3.设计一个判断模块,判断输血者与受血者的血型是否匹配。
4、输入一个clk信号,使七段数码显示管的使能端进行扫描累加。
第2章 系统的总体设计
2.1 设计基本原理
人类有O、A、B、AB 4种基本血型,输血者与受血者的血型必须符合图示原则。设计一血型配对电路,用以检测输血者与受血者之间的血型关系是否符合,如果符合,输出为1,否则为0。
已知:AB血型是万能受血者,O血型是万能献血者。
如果要输血给O型血,那么可以的血型是O型。
如果要输血给A型血,那么可以的血型是A,O型。
如果要输血给B型血,那么可以的血型是B,O型。
如果要输血给AB型血,那么可以的血型是A,B,AB,O型。
输血者
2.2电路原理图
2.3真值表
P
Q
R
S
F
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
第3章 系统子模块设计
将该任务分成几个模块进行设计,分别为:判断模块、显示模块。
判断模块:
在这个模块中主要实现血型配对过程中的判断功能,当输血者和受血者血型配对时,输出F为1。
显示模块:
在这个模块中主要实现血型配对过程中的显示功能,当P、Q输入为0000的时候显示O型血,当R、S为0110的时候显示AB型血。
第4章 仿真分析
第5章 硬件调试
将开关P置成01,开关Q置成10,观察七段数码显示管显示献血者血型为AB型,将开关R置成00,开关S置成00,观察七段数码显示管显示受血者血型为O型,判断模块输出值F为低电平,即指示灯不亮,即血型配对不成功。将开关P置成01,开关Q置成10,观察七段数码显示管显示献血者血型为AB型,将开关R置成01,开关S置成10,观察七段数码显示管显示受血者血型为AB型,判断模块输出值F为高电平,即指示灯亮起,即血型配对成功。在拨动P、Q、R、S开关时需注意,0100为A血型,0010为B血型,0110为AB血型,0000为 O血型,以免发生错误。
第6章 总结与体会
通过为期一个星期的课程设计,完成了本次设计的技术指标。本次实验使我体会到了理论和实际之间是有差别的,我电路图,但是一到真正做的时候就是不出结果,发生过引脚锁定出错,清零信号没控制好等等诸多错误,在实习的过程中发现了以前学的数字电路的知识掌握的不牢。本次实训让我们体味到设计电路、连接电路、调测电路过程中的乐苦与甜。设计是我们将来必需的技能,这次实训恰恰给我们提供了一个应用自己所学知识的机会,从到网上查找资料到对电路的设计对电路的调试再到最后电路的成型,都对我所学的知识进行了检验。在实习的过程中发现了以前学的数字电路的知识掌握的不牢。同时在设计的过程中,遇到了一些以前没有见到过的元件,但是通过查找资料来学习这些元件的功能和使用。制作过程是一个考验人耐心的过程,不能有丝毫的急躁,马虎,对电路的调试要一步一步来,不能急躁,否则根本无法找到错误,更不说排除错误了。这又要我们要灵活处理,在不影响试验的前提下可以加快进度。合理的分配时间。这样就加快了完成的进度。最重要的是要熟练地掌握课本上的知识,这样才能对试验中出现的问题进行分析解决。
参考文献
[1] 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.
[2] 康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006.
[3] 阎石主编.数字电子技术基础. 北京:高教出版社,2003.
[4] 崔建明主编,电工电子EDA仿真技术 北京:高等教育出版社,2004
[5] 彭介华.《电子技术课程设计与指导》 高等教育出版 1997年
附录
VHDL源程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY Vxuexing IS
PORT(
P,Q,R,S:IN STD_LOGIC_vector(1 downto 0);
F:OUT STD_LOGIC;
LED: out STD_LOGIC_vector(6 downto 0);
SEG_SEL:BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0);
Clk:std_logic);
END Vxuexing;
ARCHITECTURE BE OF Vxuexing IS
SIGNAL A : STD_LOGIC_VECTOR(1 DOWNTO 0);
signal e:STD_LOGIC_VECTOR(7 DOWNTO 0);
begin
e<=P&Q&R&S;
process(P,Q,R,S)
begin
case e is
when"00000000"=>F<='1';
when"00000100"=>F<='1';
when"00000010"=>F<='1';
when"00000110"=>F<='1';
when"01000100"=>F<='1';
when"01000110"=>F<='1';
when"00100010"=>F<='1';
when"01100110"=>F<='1';
when others=>F<=null;
end case;
end process;
PROCESS(SEG_SEL)
begin
CASE(SEG_SEL+1) IS
WHEN"000"=> A<=P;
WHEN"001"=> A<=Q;
WHEN"100"=> A<=R;
WHEN"101"=> A<=S;
WHEN OTHERS => NULL;
END CASE;
END PROCESS;
process(Clk)
begin
if(Clk'event and Clk='1') then --扫描累加
SEG_SEL<=SEG_SEL+1;
END IF;
END PROCESS;
process(A)
begin
case A is
when "00" => LED<="0111111";
when "01" => LED<="1110111";
when "10" => LED<="1111100";
when others=>LED<="0000000";
end case;
end process;
end be;
文档已经阅读完毕,请返回上一页!