北邮数电试验分析报告-信息_第1页
北邮数电试验分析报告-信息_第2页
北邮数电试验分析报告-信息_第3页
北邮数电试验分析报告-信息_第4页
北邮数电试验分析报告-信息_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、北邮数电实验报告-信息作者:日期:r处逮卑危大爭数字电路与逻辑设计实验班内序号姓 学 专 班 学院信息与通信工程学院信息工程*实验一一、实验名称和实验任务要求1. 实验内容:Quartusll原理图输入法设计与实现。2. 实验目的:(1) 熟悉用Quartusll原理图输入法进行电路设计和仿真。(2) 掌握Quartusll图形模块单元的生成与调用。(3) 熟悉实验板的使用。3. 实验任务要求:(1) 用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加 器图像模块。(2) 用实验内容1中生成的半加器模块和逻辑门设计实现一个全加器, 仿真验证其功能,并下载到实验板上测试。要求用拨码开关设

2、定输入信 号,发光二极管显示输出信号。(3) 用3线一8线译码器(74LS138)和逻辑门实现函数F=(/ )(/ )(/ )+(/ ) (/ )+ (/ )(/ )+,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。、原理图半加器模块和逻辑门设计实现的全加器:三、仿真波形图及分析相加求得和数及向高位进位的逻辑电路。由其原理可得逻辑表达式:sum=ain® bin ® cincout = (ain bin) cin + ain*bin。 列出真值表:输入输出ainbincincoutsum000000010101P 00 1 :011

3、1010001101101101011111仿真波形对比真值表,可以看出波形图与理论值完全符合。四、故障及问题分析1、问题:按照逻辑表达式连接了全加器电路后,仿真波形很乱。解决方法:思考后知道了应该把输入信号依次设成2的n次方,这样的仿真波形清楚容易分析。2、 问题:把代码下载到板子上的过程中,进行到37%的时候停了,等了 2分钟也没继续下载。解决方法:再次重连USB尝试下载,手紧握着接线口,下载成功了,分析 可能是接线口接触不好。实验二、实验名称和实验任务要求1. 实验内容:用VHDL设计与实现组合逻辑电路。2. 实验目的:(1)熟悉用VHDL语言设计组合逻辑电路的方法。(2)熟悉用Quar

4、tusll文本输入法进行电路设计。3. 实验任务要求:(1)用VHDL语言设计实现一个4位二进制奇校验器,输入奇数个 1' 时,输出为 1',否则输出 0',仿真验证其功能,并下载到实验板测 试。要求用拨码开关设定输入信号,发光二极管显示输出信号。(2) 用VHDL语言设计实现一个8421码转换为余3码的代码转换器,仿 真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号, 发光二极管显示输出信号。仿真验证其7段数码(3) 用VHDL.语言设计实现一个共阴极7段数码管译码器 功能,并下载到实验板测试。要求用拨码开关设定输入信号 管显示输出信号。、VHDL代码1.

5、 奇校验器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY jijiaoyanqi ISPORT( A:STD_LOGIC;B:STD_LOGIC;C:STD_LOGIC;D:STD_LOGIC;F:OUT STD_LOGIC);END jijiaoya nqi;ARCHITECTURE one OF jijiaoya nqi ISSIGNAL n 1, n2 : STD_LOGIC;BEGINn1<=A XOR B;n2<=n1 XOR C;F<=n2 XOR D;-异或,A ® B ® C ® D

6、END one;2. 8421码转余3码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY basizhua nyu3 ISPORT( A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);B:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END basizhua ny u3;ARCHITECTURE zhua nyu3 OF basizhua nyu3 ISBEGINPROCESS(A)BEGINCASE A ISWHEN"0000"

7、;=> B<="0011"WHEN"0001"=> B<="0100"WHEN"0010"=> B<="0101"/WHEN"0011"=> B<="0110"WHEN"0100"=> B<="0111"WHEN"0101"=> B<="1000"WHEN"0110"=> B<

8、;="1001"WHEN"0111"=> B<="1010"WHEN"1000"=> B<="1011"WHEN"1001"=> B<="1100"WHEN OTHERS=> B<="ZZZZ"END CASE;END PROCESS;END zhua nyu3;3. 数码管译码器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_L

9、OGIC_UNSIGNED.ALL;ENTITY shumagua nyimaqi ISPORT( A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);B:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);C:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);END shumagua nyi maqi;ARCHITECTURE shuma OF shumagua nyimaqi IS BEGINPROCESS(A)BEGINC<="011111"CASE A ISWHEN"0000"=> B&l

10、t;="1111110"-0WHEN"0001"=> B<="0110000"-1WHEN"0010"=> B<="1101101"-2WHEN"0011"=> B<="1111001"-3WHEN"0100"=> B<="0110011"-4WHEN"0101"=> B<="1011011"-5WHEN"0

11、110"=> B<="1011111"-6WHEN"0111"=> B<="1110000"-7WHEN"1000"=> B<="1111111"-8WHEN"1001"=> B<="1111011"-9WHEN OTHERS=> B<="ZZZZZZZ"END CASE;END PROCESS;END shuma;三、故障及问题分析1、问题:代 码写好 以后编译出现

12、 错误,Error (10568): VHDL error atjijiaoya nqi.vhd(17): can't write to in terface object "partout" of mode IN, 由于报错指到了第17行F<=n2 XOR D;导致我开始的时候没意识 到这是哪里的错误。解决方法:在百度查了以后发现是F:OUT STD_LOGIC);这句我写成了F:IN STD_LOGIC);以后要注意少犯这些马虎的错误。2、问题:把代码下载到板子上的过程中,再次出现了第一节课出现的下载停止的问题,再次尝试后也没有下载成功,第三次接线的时候等

13、了好久, Hardware Setup窗 口也没有显示有硬件接入。解决方法:换了一台电脑尝试然后成功了,我觉得可能是两个原因,一是 我反复操作导致软件反应时间长,二是我本来用的电脑接口连 接不好。实验三一、实验名称和实验任务要求1. 实验内容:用VHDL设计与实现时序逻辑电路。2. 实验目的:(1)熟悉用VHDL语言设计时序逻辑电路的方法。(2)熟悉用QuartusII文本输入法进行电路设计。3. 实验任务要求:(1)用VHDL语言设计实现一个分频系数为12,分频输出信号占空比为 50%的分频器。要求在QuartusII平台上设计程序并仿真验证设计。(2) 用VHDL语言设计实现一个带异步复位

14、的8421码十进制计数器,仿 真验证其功能,并下载到实验板测试。要求用按键设定输入信号,发光二极管显示输出信号。(3) 将(1)、(2)和数码管译码器3个电路进行连接,并下载到实验板 显示计数结果。二、模块端口说明及连接图CLR1、8421 十进制计数器复位键CLR2 ;时钟信号 CLK作为分频器的时钟信号CLK1,分频器输出CLK_0UT1作为8421十进制计数器的时钟信号 CLK2 ;计数器的输出Q0,1,2,3作为数码管译码器的输入a 0,1,2,3。 整个电路输出端:b0,1,2,3,4,5,6,分别对应7段数码管;c0,1,2,3,4,5, 分别对应6个数码管译码器。3.器。三、VH

15、DL代码(1)8421十进制计数器:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ZY8421shiji nzhi ISPORT(CLK2,CLR2:IN STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END ZY8421shiji nzhi;ARCHITECTURE behave OF ZY8421shiji nzhi ISSIGNAL Q_temp:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(C

16、LK2,CLR2)BEGINIF CLR2 = '1' THEN Q_temp <="0000"ELSIF CLK2'EVENT AND CLK2 = '1' THENIF Q_temp = "1001" THEN Q_temp <="0000"ELSE Q_temp <=Q_temp+1;END IF;END IF;END PROCESS;Q <=Q_temp;END behave;分频器:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL

17、;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY div_50M ISPORT(CLK1,CLR1:IN STD_LOGIC;CLK_OUT1:OUT STD_LOGIC);END div_50M;ARCHITECTURE behave OF div_50M ISSIGNAL temp:INTEGER RANGE 0 TO 24999999;SIGNAL clkout:STD_LOGIC;BEGINPROCESS(CLK1,CLR1)BEGINIF CLR1 = '1' THEN temp <=0;ELSIF CLK1'EVENT A

18、ND CLK1 = '1' THENIF temp = 24999999 THEN temp <=0;clkout <=NOT clkout;ELSE temp <=temp+1;END IF;END IF;END PROCESS ;CLK_OUT1 <=clkout;END behave;(3) 将分频器、8421十进制计数器和数码管译码器 3个电路的连接电路LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY fun ctio n3 ISPORT(CLK,CLR:IN STD_LOGIC;b: OUT STD

19、_LOGIC_VECTOR(6 DOWNTO 0);c: OUT STD_LOGIC_VECTOR(5 DOWNTO 0);END fun ctio n3 ;ARCHITECTURE a1 OF fun ctio n3 ISCOMPONENT div_50M-调用分频器和计数器两个元件PORT(CLK1,CLR1:IN STD_LOGIC;CLK_OUT1:OUT STD_LOGIC);END COMPONENT;COMPONENT ZY8421shiji nzhiPORT(CLK2,CLR2:IN STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);EN

20、D COMPONENT;SIGNAL a : STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL clk in : STD_LOGIC;BEGINu1:div_50M PORT MAP (CLK1=>CLK,CLR1=>CLR,CLK_OUT1=>clki n); u2: ZY8421shij in zhi PORT MAP (CLK2=>clk in ,CLR2=>CLR,Q=>a); PROCESS(a)BEGINc<=" 110111"-左数第三个数码管亮CASE a ISWHEN "0000&q

21、uot; => b<="1111110"-0WHEN "0001" => b<="0110000"-1WHEN "0010" => b<="1101101"-2WHEN "0011" => b<="1111001"-3WHEN "0100" => b<="0110011"-4WHEN "0101" => b<="10

22、11011"-5WHEN "0110" => b<="1011111"-6WHEN "0111" => b<="1110000"-7WHEN "1000" => b<="1111111"-8WHEN "1001" => b<="1111011"-9WHEN OTHERS => b<="1111110" -0END CASE;END PROCESS;

23、END;四、仿真波形图及分析1 ILrn分析仿真波形图可知,c为110111,左数第三个数码管亮;数码管译码器循 环显示0到9这10个数字;复位信号CLK是高电平有效,从波形中看出CLR=1 时输出b=1111110数码管显示数字0。五、故障及问题分析1、问题:分频器代码编译成功后准备下载到板子上,在准备设置端口时,出现 了这个跟之前不一样界面,没办法下载代码。Top 'Ziew Fifi ChuArrm GX-EP1AOX20C'F4MCe解决方法:后来发现是最开始的时候,器件设置有问题,应该按照书上讲的在 Available device s栏选择 EPM11270T144

24、C5 这个型号。前 两次实验都没有犯这个错误,我认识到我不应该忽视前面的必 要步骤,某个小细节的不注意可能会导致重做整个项目。2、问题:把(3)的代码写好后编译出现错误,Error (10313): VHDL Case Statement error at function 3.vhd(30): Case Stateme nt choices must cover all possiblevalues of expression解决方法:后来我检查发现是穷举法中的可能情况里忘了写WHENOTHERS => b<="0000000"这一行,导致情况包括不完全而报

25、错。3、问题:仿真波形中b的显示类似乱码,并不是预想的二进制码。 解决方法:老师讲解后知道了应该在Count Value选项中的Radix 栏选择 Bi nary。、实验名称和实验任务要求1. 实验内容:用VHDL设计与实现相关电路。2. 实验目的:(1)掌握VHDL语言的语法规范,掌握时序电路描述方法。(2)掌握多个数码管动态扫描显示的原理及设计方法。3. 实验任务要求:(1)用VHDL语言设计并实现六个数码管串行扫描电路,要求同时显示 “班号一班内序号”这6个数字图形到6个数码管,仿真验证其功能,并下载到实验板测试。(2)用VHDL语言设计并实现六个数码管滚动显示电路。循环左滚动,始终点亮

26、6个数码管,左出右进。状态为:124-17,24-171,4-1712,-17124, 17124-,7124-1,124-17。二、模块端口说明及连接图1. 输入端:elk时钟信号2. 输出端:partout0,1,2,3,4,5,6,分别对应 7 段数码管;catout0,1,2,3,4,5: 分别对应6个数码管译码器三、VHDL代码(1)同时显示“班号一班内序号”这六个数字图形到6个数码管LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ZY12417 ISPORT ( elk

27、: IN STD_LOGIC;partout : OUT STD_LOGIC_VECTOR(6 DOWNTO 0); eatout : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);END ZY12417;ARCHITECTURE A OF ZY12417 ISSIGNAL part:STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL eat:STD_LOGIC_VECTOR(5 DOWNTO 0);SIGNAL tempelk: STD_LOGIC;SIGNAL eou nt:INTEGER RANGE 0 TO 1999;-为便于仿真,仿真图对应代码

28、将分频改成了50CONSTANT M: INTEGER :=1999;BEGINP1:PROCESS(clk)BEGINIF(elk'EVENT AND elk='1')THENIF eou nt=M THENcoun t<=0;tempelk<= NOT tempelk;ELSEcoun t<=eo un t+1;END IF;END IF;END PROCESS P1;P2:PROCESS(tempclk)BEGINIF(tempelk'EVENT AND tempelk='1')THENCASE eat ISWHEN&qu

29、ot;111110"=> eat<="011111"part<="0110000" -1WHEN"011111"=> eat<="101111"part<="1101101" -2WHEN"101111"=> eat<="110111"part<="0110011" -4WHEN"110111"=> eat<="111011&quo

30、t;part<="0000001"-WHEN"111011"=> eat<="111101"part<="0110000" -1WHEN"111101"=> eat<="111110"part<="1110000" -7WHEN OTHERS => cat<="O11111"part<="O11OOOO" -1END CASE;END IF;END PROC

31、ESS P2;catout<=cat;partout<=part;END A;(2)滚动显示电路(选做)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY gun do ngxia nshi ISPORT( clk,clear:IN STD_LOGIC;catout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); partout:OUT STD_LOGIC_VECTOR(5 DOWNTO 0); END gundon gxia nshi;ARCHITECT

32、URE a OF gun do ngxia nshi ISSIGNALcat :STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL part :STD_LOGIC_VECTOR(5 DOWNTO 0);SIGNALcn t,cnt1 :INTEGER RANGE 0 TO 11;SIGNAL tmp:INTEGER RANGE 0 TO 15999;SIGNAL clk1:STD_LOGIC;BEGINpO:PROCESS(clk,clear)BEGINIF clear='O' THEN tmp<=0;ELSIF clk'EVENT AND c

33、lk='1' THENIF tmp=15999 THENtmp<=0;ELSE tmpv=tmp+1;END IF;END IF;END PROCESS pO;p1:PROCESS(tmp)BEGINIF clk'EVENT AND clk='1' THENIF tmp<1000 THENclk1<='0'ELSE clk1<='1'END IF;END IF;END PROCESS p1;p2:PROCESS(clk)BEGINIF(clk'EVENT AND clk='1'

34、;) THENIF(cnt=11) THEN cn t<=0;ELSE cn t<=cnt+1;END IF;END IF;END PROCESS p2;p3:PROCESS(clk1)BEGINIF(clk1'EVENT AND clk1='1') THENIF(cnt1=11) THEN cn t1<=0;ELSEcnt1<=c nt1+1;END IF;END IF;END PROCESS p3;p4:PROCESS(cnt,cnt1)BEGINIF(clear='0')THEN cat<="0000000&

35、quot;ELSECASE cn t+c nt1 ISWHEN 6=>cat<="0110000"WHEN 7=>cat<="1101101"WHEN 8=>cat<="0110011"WHEN 9=>cat<="0000001"WHEN 10=>cat<="1101101"WHEN 11=>cat<="1101101"WHEN OTHERS =>cat<="0000000"

36、; END CASE;END IF;END PROCESS p4; catout<=cat; p5:PROCESS(cnt)BEGINIF(clear='0') THEN part<="111111"ELSECASE ent ISWHEN 0=>part<="011111"WHEN 1=>part<="101111"WHEN 2=>part<="110111"WHEN 3=>part<="111011"WHEN 4=&g

37、t;part<="111101"WHEN 5=>part<="111110"WHEN OTHERS =>part<="111111"END CASE;END IF;END PROCESS p5;partout<=part;END a;四、仿真波形图及分析同时显示“班号一班内序号”这六个数字图形到6个数码管vL匸帥吾证吐申-y * I-J ul3 2 TJ TJ ,TJ TJ 1J 冷 w r>E.丄 D11斗5OS2<!* TJ TJ SJ -TJ < Y TT3E.-分析仿真波形

38、图可知,数码管译码器从左到右依次显示124-17:从左边数,第一个数字catout=011111对应partout=0110000,数码管显示数 字1 ;第二个数字catout=101111对应partout=1101101,数码管显示数字2;第三个数字catout=110111对应partout=0110011,数码管显示数字4; 第四个数字catout=111011对应partout=0000001,数码管显示符号 “一” 第五个数字catout=111101对应partout=0110000,数码管显示数字1;第六个数字catout=111110对应partout=111000Q数码管显示数字7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论