2023年EDA实验总结报告.docx

上传人:l*** 文档编号:66493670 上传时间:2022-12-14 格式:DOCX 页数:16 大小:17.22KB
返回 下载 相关 举报
2023年EDA实验总结报告.docx_第1页
第1页 / 共16页
2023年EDA实验总结报告.docx_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《2023年EDA实验总结报告.docx》由会员分享,可在线阅读,更多相关《2023年EDA实验总结报告.docx(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2023年EDA实验总结报告 数字EDA实验报告-薛蕾0941903207 数字EDA实验 实验报告 学院: 计算机科学与工程学院 专业: 通信工程 学号: 0941903207 姓名: 薛蕾 指导老师: 钱强 数字EDA实验报告-薛蕾0941903207 实验一 四选一数据选择器的设计 一、实验目的 1、熟悉Quartus II软件的使用。 2、了解数据选择器的工作原理。 3、熟悉EDA开发的基本流程。 二、实验原理及内容 实验原理 数据选择器在实际中得到了广泛的应用,尤其是在通信中为了利用多路信号中的一路,可以采用数据选择器进行选择再对该路信号加以利用。 从多路输入信号中选择其中一路进行输

2、出的电路称为数据选择器。或:在地址信号控制下,从多路输入信息中选择其中的某一路信息作为输出的电路称为数据选择器。数据选择器又叫多路选择器,简称MUX。 4选1数据选择器: (1)原理框图:如右图。 D0 、D 1、D 2、D3 :输入数据 A1 、A0 :地址变量 由地址码决定从路输入中选择哪路输出。 (2)真值表如下图: 1 (3)逻辑图 数据选择器的原理比较简单,首先必须设置一个选择标志信号,目的就是为了从多路信号中选择所需要的一路信号,选择标志信号的一种状态对应着一路信号。在应用中,设置一定的选择标志信号状态即可得到相应的某一路信号。这就是数据选择器的实现原理。 三实验内容 1、分别采用

3、原理图和VHDL语言的形式设计4选1数据选择器 2、对所涉及的电路进行编译及正确的仿真。 电路图: 四、实验程序 library ieee; use ieee.std_Logic_1164.all; ENTITY mux4 IS PORT( a0, a1, a2, a3 :IN STD_LOGIC; s :IN STD_LOGIC_VECTOR (1 DOWNTO 0); y :OUT STD_LOGIC ); END mux4; ARCHITECTURE archmux OF mux4 IS BEGIN y -当s=00时,y=a0 a1 WHEN s = 01 else -当s=01时,y

4、=a1 a2 WHEN s = 10 else -当s=10时,y=a2 a3; -当s取其它值时,y=a2 END archmux; 五、运行结果 六实验总结 真值表分析: 当js=0时,a1,a0取00,01,10,11时,分别可取d0,d1,d2,d3. 实验二 血型配对器的设计 一、实验目的 1、进一步熟悉Quartus II软件的使用。 2、掌握简单组合逻辑电路的设计方法与功能仿真技巧。 3、进一步学习Quartus II中基于原理图设计的流程。 二、实验原理及内容 实验原理 人类有O、A、B、AB 种基本血型,输血者与受血者的血型必须符合图示原则。设计一血型配对电路,用以检测输血者

5、与受血者之间的血型关系是否符合,如果符合,输出为1,否则为0。 已知: AB血型是万能受血者,O血型是万能献血者! 如果要输血给O型血,那么可以的血型是O型! 如果要输血给A型血,那么可以的血型是A,O型! 如果要输血给B型血,那么可以的血型是B,O型! 如果要输血给AB型血,那么可以的血型是A,B,AB,O型! 输血者 受血者 O A O A B AB B AB 三实验内容 1、用VHDL语言编写程序实现血型配对器的功能 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_

6、LOGIC_UNSIGNED.ALL; ENTITY Vxuexing IS PORT( P,Q,R,S:IN STD_LOGIC; F:OUT STD_LOGIC ); END Vxuexing; ARCHITECTURE A OF Vxuexing IS BEGIN F 2、对所编写的电路进行编译及正确的仿真。 实验分析 真值表 PQRSF00001000110010100111010000101101100011111000010010101011011111000110101110011111 P,Q表示输血者的血型;R,S,表示受血者的血型。当两者符合血型配合原则时,F=1,否则为0

7、. 四、运行结果 五、实验总结 本实验给出了四种不同的血型编码,PQ(1,1),RS(1,1)表示AB型血,P,Q(1,0),RS(1,0)表示B型血,PQ(0,1),RS(0,1)表示A型血,PQ(0,0),RS(0,0)表示O型血。根据真值表,并根据实验的原理图,画出电路图并进行连接。 实验三 简单数字钟的设计 一、实验目的 1、了解数字钟的工作原理。 2、进一步学习Quartus II中基于VHDL设计的流程。 3、掌握VHDL编写中的一些小技巧。 4、掌握简单时序逻辑电路的设计方法与功能仿真技巧。 二、实验原理及内容 实验原理 简单数字钟应该具有显示时分秒的功能。首先要知道钟表的工作机

8、理,整个钟表的工作应该是在1Hz信号的作用下进行,这样每来一个时钟信号,秒增加1秒,当秒从59秒跳转到00秒时,分钟增加1分,同时当分钟从59分跳转 三实验内容 1、用原理图的方式编写一个12/24进制的计数器,并创建为SYMBOL文件。 2、用VHDL的方式编写一个60进制的计数器,并创建为SYMBOL文件。 3、创建顶层文件。调用已编写的SYMBOL文件,设计简单的数字钟电路。 2、对所编写的电路进行编译及正确的仿真。 二十四进制VHDL LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE

9、 IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT24 IS PORT( CP, EN, Rd, 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 CNT24; ARCHITECTURE STR OF CNT24 IS SIGNAL QN : STD_LOGIC_VECTOR(5 DOWNTO 0 ) ; BEGIN Co ELSE 0; PROCESS (CP, RD) BEGIN

10、IF (Rd =0) THEN QN ELSIF (EN=1) THEN QN 六十进制VHDL LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY jsq60 IS PORT(en,rd,cp :IN STD_LOGIC; qh:buffer STD_LOGIC_VECTOR(3 DOWNTO 0); ql :buffer STD_LOGIC_VECTOR(3 DOWNTO 0); Co :OUT STD_LOGIC);

11、 END jsq60; ARCHITECTURE b OF jsq60 IS BEGIN Co BEGIN IF (rd=0) THEN qh IF (en=1) THEN IF (ql=9) THEN ql IF (qh=5) THEN qh ELSE qh end if; else ql end if; end if; END IF; END PROCESS; END b; 原理图 四、运行结果 进制 进制 时钟仿真结果 五、实验总结 此设计问题可分为主控电路,计数器模块和扫描显示三大部分,计数器在之前的学习中已经非常熟悉,只要掌握,进制的技术规律,用同步或异步计数器都可以实现。二扫描电路

12、我们学过两种驱动方式:码驱动方式和直接驱动方式。 实验四 简单交通灯的设计 一、实验目的 1、了解交通灯的亮灭规律。 2、了解交通灯控制器的工作原理。 3、进一步熟悉VHDL语言编程,了解实际设计中的优化方案。 二、实验原理及内容 实验原理 交通灯的显示有很多方式,如十字路口、丁字路口等,而对于同一个路口又有很多不同的显示要求,比如十字路口,车子如果只要东西和南北方向通行就很简单,而如果车子可以左右转弯的通行就比较复杂,本实验仅针对最简单的南北和东西直行的情况。 要完成本实验,首先必须了解交通路灯的亮灭规律。依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。其交通灯的亮灭规律为:初始态是两个路口

13、的红灯全亮,之后东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。 三实验内容 1、用VHDL的方式编写一个简单的交通控制灯电路 2、对所编写的电路进行编译及正确的仿真。 程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity traffic is port(clk

14、,enb : in std_logic; ared,agreen,ayellow,bred,bgreen,byellow : buffer std_logic; acounth,acountl,bcounth,bcountl : buffer std_logic_vector(3 downto 0); end traffic; architecture one of traffic is begin proce(clk,enb) variable lightstatus : std_logic_vector(5 downto 0); begin if(clkevent and clk=1)th

15、en lightstatus := ared&agreen&ayellow&bred&bgreen&byellow; if(acounth=0000 and acountl=0000)or(bcounth=0000 and bcountl=0000)then Case lightstatus is When 010100= lightstatus:=001100;acountl if(enb=1)then lightstatus:=100010;acountl else lightstatus:=010100;acountl when 100010= lightstatus:=100001;a

16、countl when 100001= lightstatus:=010100;acountl when others= lightstatus:=010100;acountl end case; else if(acountl=0000)then acounth else acountl end if; if(bcountl=0000)then bcounth else bcountl ared bred 四、运行结果 分析: 这里a代表东西方向,b代表南北方向,acounth是表示东西方向五进制计数acountl是东西方向六进制计数,bcounth则表示南北方向五进制,bounthl则是南

17、北方向六进制计数 东西方向为0时,东西方向红灯亮(ared=1) 东西方向在14之间,东西方向绿灯亮(即agreen=1)南北方向 的红灯亮起(即bred=1) 五、实验总结 此设计问题可分为主控电路,译码驱动电路和扫描显示部分。 但是,这远远不能满足实际生活的需要,还应设置倒计时秒数,因此可在此电路基础上外加一个定时模块。 实验五 流水灯的设计 一、实验目的 1、了解流水灯的工作原理。 二、实验原理及内容 实验原理 要完成本实验,首先必须了解流水灯的原理。所谓的流水灯实际上就是由多个LED发光二极管构成的电路,当发光二极管可以依次点亮时,即能呈现流水的效果。 实验内容 1、设计能带8个LED

18、发光管发光,并按照要求轮流发光,产生流水灯的流动效果。 2、应具有两种以上不同风格的流动闪亮效果。比如依次点亮或者依次熄灭。(选作) 3、有起动、停止控制键。(选作) 4、有流动闪亮效果选择设置键。(选作) 5、对所编写的电路进行编译及正确的仿真。 三、实验程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY yiweijicun1 IS PORT (CP,R,DSR,DSL:IN STD_LOGIC; S:STD_L

19、OGIC_VECTOR(2 DOWNTO 0); D:STD_LOGIC_VECTOR(7 DOWNTO 0); Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END yiweijicun1; ARCHITECTURE yiweijicun_arch OF yiweijicun1 IS SIGNAL IQ: STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN PROCESS (CP,R,IQ) BEGIN IF (R=1) THEN IQ 0); ELSIF(CPEVENT AND CP =1)THEN CASE CONV_INTEGER(S)

20、 IS WHEN 0=NULL; WHEN 1= IQ IQ IQ IQ IQ IQ IQ NULL; END CASE; END IF; Q 四、运行结果 结果分析: d0d7为八个输入端,s0和s1控制流水灯得输出,s=1保持,s=2实现左移功能,s=3实现右移功能,因为延迟的原因,在s=2时,需要经过一段时间才能实现循环右移的功能,流水灯的实现其实是运用了8位移位寄存器,它只是运用了其中的保持左移与右移的功能,8LO位移位寄存器还有循环右移,循环左移,算数右移,算数左移等功能。 五、实验总结 了解了移位寄存器的功能和原理 通过这次实验,加深了VHDL语言的运用能力,更进一步了解了8位移位

21、寄存器的功能。 实验六 乘法器的设计 一、实验目的 1、了解乘法器的工作原理。 2、了解复杂时序电路的设计流程。 二、实验原理及内容 实验原理 具体设计原理参见教材188页。 实验内容 1、设计一个能进行两个十进制数相乘的乘法器,乘数和被乘数均小于100。 (可以参考教材231页的VHDL代码来设计) 2、对所编写的电路进行编译及正确的仿真。 三、实验程序 library IEEE; use IEEE.std_logic_1164.all; entity one_bit_adder is port ( A: in STD_LOGIC; B: in STD_LOGIC; C_in: in STD

22、_LOGIC; S: out STD_LOGIC; C_out: out STD_LOGIC ); end one_bit_adder; architecture one_bit_adder of one_bit_adder is begin S end one_bit_adder; library IEEE; use IEEE.std_logic_1164.all; entity sichen is port ( A: in STD_LOGIC_VECTOR (3 downto 0); B: in STD_LOGIC_VECTOR (3 downto 0); data_out: out ST

23、D_LOGIC_VECTOR (6 downto 0) ); end sichen; architecture multi_arch of sichen is signal A_MULT_B0: STD_LOGIC_VECTOR (2 downto 0); signal A_MULT_B1: STD_LOGIC_VECTOR (2 downto 0); signal A_MULT_B2: STD_LOGIC_VECTOR (2 downto 0); signal S_TEMP1: STD_LOGIC_VECTOR (1 downto 0); signal S_TEMP2: STD_LOGIC_

24、VECTOR (1 downto 0); signal C_TEMP : STD_LOGIC_VECTOR (6 downto 0); signal C0_out_B0, C1_out_B0, C2_out_B0 : STD_LOGIC; signal C0_out_B1, C1_out_B1, C2_out_B1 : STD_LOGIC; signal ZERO: STD_LOGIC; component one_bit_adder port ( A: in STD_LOGIC; B: in STD_LOGIC; C_in: in STD_LOGIC; S: out STD_LOGIC; C

25、_out: out STD_LOGIC ); end component; begin U_0_0 : one_bit_adder port map (A = A_MULT_B0(1), B = A_MULT_B1(0), C_in = ZERO, S = C_TEMP(1), C_out = C0_out_B0); U_0_1 : one_bit_adder port map (A = A_MULT_B0(2), B = A_MULT_B1(1), C_in = C0_out_B0, S = S_TEMP1(0), C_out = C1_out_B0); U_0_2 : one_bit_ad

26、der port map (A = ZERO, B = A_MULT_B1(2), C_in = C1_out_B0, S = S_TEMP1(1), C_out = C2_out_B0); U_1_0 : one_bit_adder port map (A = A_MULT_B2(0), B = S_TEMP1(0), C_in = ZERO, S = C_TEMP(2), C_out = C0_out_B1); U_1_1 : one_bit_adder port map (A = A_MULT_B2(1), B = S_TEMP1(1), C_in = C0_out_B1, S = S_

27、TEMP2(0), C_out = C1_out_B1); U_1_2 : one_bit_adder port map (A = A_MULT_B2(2), B = C2_out_B0, C_in = C1_out_B1, S = S_TEMP2(1), C_out = C2_out_B1); A_MULT_B0(0) A_MULT_B1(0) A_MULT_B2(0) ZERO C_TEMP(6) data_out end multi_arch; 四、运行结果 乘法器实现A,B两数的相乘。A0A3以及是实现输入端的控制。由图看出,输出上产生了延迟是因为当A3输入1,对应了十进制的8,B0输入1,对应了十进制的1,两者相乘得8,即在data_out端应输出8,此处因仍存在竞争冒险。 五、实验总结 乘法器的设计的问题可以分为乘数和被乘数控制模块,寄存模块,乘法模块和扫描显示模块几个部分。 两数相乘的方法很多,可以用移位相加的方法,也可以将乘法器看成计数器,乘积的初始值为零,每一个时钟周期将被乘数的值加到积上,同时乘数减一,这样反复执行,直到乘数为零。 EDA实验总结报告 EDA实验二总结报告 EDA技术基础实验总结报告及要求 EDA实训总结报告 EDA实验报告 EDA实验报告 EDA实验报告 EDA实验报告 EDA实验报告 EDA实验总结(材料)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁