![北邮数电实验报告信息_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-3/23/65c5c107-7600-4b12-88e6-d7cfafe192f4/65c5c107-7600-4b12-88e6-d7cfafe192f41.gif)
![北邮数电实验报告信息_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-3/23/65c5c107-7600-4b12-88e6-d7cfafe192f4/65c5c107-7600-4b12-88e6-d7cfafe192f42.gif)
![北邮数电实验报告信息_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-3/23/65c5c107-7600-4b12-88e6-d7cfafe192f4/65c5c107-7600-4b12-88e6-d7cfafe192f43.gif)
![北邮数电实验报告信息_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-3/23/65c5c107-7600-4b12-88e6-d7cfafe192f4/65c5c107-7600-4b12-88e6-d7cfafe192f44.gif)
![北邮数电实验报告信息_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-3/23/65c5c107-7600-4b12-88e6-d7cfafe192f4/65c5c107-7600-4b12-88e6-d7cfafe192f45.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、北京勺俊大学数字电路与逻辑设计实验姓名二学院信息与通信工程学院专业信息工程班级二学号 *班内序号二实验一一、实验名称和实验任务要求1 .实验内容:QuartusII原理图输入法设计与实现。2 .实验目的:(1)熟悉用QuartusII原理图输入法进行电路设计和仿真。(2)掌握QuartusII图形模块单元的生成与调用。(3)熟悉实验板的使用。3.实验任务要求:(1)用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半 加器图像模块。(2)用实验内容1中生成的半加器模块和逻辑门设计实现一个全加 器,仿真验证其功能,并下载到实验板上测试。要求用拨码开关 设定输入信号,发光二极管显示输出信号。(
2、3)用3线一8线译码器(74LS138)和逻辑门实现函数F=(/?)(/?)(/?)+(/?)?(/?)+?(/?)(/?)+?,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信 号,发光二极管显示输出信号。、原理图半加器模块和逻辑门设计实现的全加器:三、仿真波形图及分析& MWrr10.075? r Ftg的工ffilHmd8i12n: Swif nt电路实现了全加器的功能。全加器是实现两个1位二进制数及低位来的进位 相加求得和数及向高位进位的逻辑电路。由其原理可得逻辑表达式:sum=ain bin cincout =(ain bin ) cin + ain*bin列出真
3、值表:输入输出ainbincincoutsum000000010101P 0011011101000110P 1101101011111仿真波形对比真值表,可以看出波形图与理论值完全符合。四、故障及问题分析1、问题:按照逻辑表达式连接了全加器电路后,仿真波形很乱。解决方法:思考后知道了应该把输入信号依次设成 2的n次方,这样的仿真 波形清楚容易分析。2、问题:把代码下载到板子上的过程中,进行到37%勺时候停了,等了 2分钟也没继续下载。解决方法:再次重连USBt试下载,手紧握着接线口,下载成功了,分析可能是接线口接触不好。实验二、实验名称和实验任务要求1 .实验内容:用VHD段计与实现组合逻辑
4、电路。2 .实验目的:(1)熟悉用VHDL®言设计组合逻辑电路的方法。(2)熟悉用QuartusII文本输入法进行电路设计。3 .实验任务要求:(1)用VHDL®言设计实现一个4位二进制奇校验器,输入奇数个1' 时,输出为1',否则输出0',仿真验证其功能,并下载到实 验板测试。要求用拨码开关设定输入信号,发光二极管显示输出 信号。(2)用VHDL§言设计实现一个8421码转换为余3码的代码转换器, 仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输 入信号,发光二极管显示输出信号。(3)用VHDL®言设计实现一个共阴极7段
5、数码管译码器,仿真验证 其功能,并下载到实验板测试。要求用拨码开关设定输入信号, 7段数码管显示输出信号。、VHDL 弋码1 .奇校验器LIBRARY IEEE;USE jijiaoyanqi ISPORT( A:STD_LOGIC;B:STD_LOGIC;C:STD_LOGIC;D:STD_LOGIC;F:OUT STD_LOGIC);END jijiaoyanqi;ARCHITECTURE one OF jijiaoyanqi ISSIGNAL n1,n2 : STD_LOGIC;BEGINn1<=A XOR B;n2<=n1 XOR C;F<=n2 XOR D;- 异或
6、,A B C DEND one;2 . 8421码转余3码LIBRARY IEEE;USE basizhuanyu3 ISPORT( A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);B:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END basizhuanyu3;ARCHITECTURE zhuanyu3 OF basizhuanyu3 ISBEGINPROCESS(A)BEGINCASE A ISWHEN"0000"=> B<="0011"WHEN"0001"=> B<
7、;="0100"WHEN"0010"=> B<="0101"WHEN"0011"=> B<="0110"WHEN"0100"=> B<="0111"WHEN"0101"=> B<="1000"WHEN"0110"=> B<="1001"WHEN"0111"=> B<="1010
8、"WHEN"1000"=> B<="1011"WHEN"1001"=> B<="1100"WHEN OTHERS=> B<="ZZZZ"END CASE;END PROCESS;END zhuanyu3;3 .数码管译码器LIBRARY IEEE;USE shumaguanyimaqi ISPORT( A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);B:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);C:OUT
9、STD_LOGIC_VECTOR(5 DOWNTO 0);END shumaguanyimaqi;ARCHITECTURE shuma OF shumaguanyimaqi IS BEGINPROCESS(A) BEGIN C<="011111”; CASE A IS-0-1-2-3-4-5-6-7-8-9WHEN"0000"=> B<="1111110"WHEN"0001"=> B<="0110000"WHEN"0010"=> B<=&quo
10、t;1101101"WHEN"0011"=> B<="1111001"WHEN"0100"=> B<="0110011"WHEN"0101"=> B<="1011011"WHEN"0110"=> B<="1011111"WHEN"0111"=> B<="1110000"WHEN"1000"=> B<
11、;="1111111"WHEN"1001"=> B<="1111011"WHEN OTHERS=> B<="ZZZZZZZ"END CASE;END PROCESS;END shuma;三、故障及问题分析1、问题:代码写好以后编译出现错误,Error (10568): VHDlerror at (17): can't write to interface object "partout" of mode IN, 由于报错指 到了第17行F<=n2 XOR D
12、;导致我开始的时候没意识到这是哪里的 错误。解决方法:在百度查了以后发现是 F:OUT STD_LOGIC);这句我写成了 F:IN STD_LOGIC)以后要注意少犯这些马虎而错误。2、问题:把代码下或到板子上的过程中,再次出现了第一节课出现的下载停止 的问题,再次尝试后也没有下载成功,第三次接线的时候等了好久, Hardware Setup窗口也没有显示有硬件接入。解决方法:换了一台电脑尝试然后成功了,我觉得可能是两个原因,一是我 反复操作导致软件反应时间长,二是我本来用的电脑接口连接不 好。实验三、实验名称和实验任务要求1 .实验内容:用VHD段计与实现时序逻辑电路。2 .实验目的:(1
13、)熟悉用VHDL®言设计时序逻辑电路的方法。(2)熟悉用QuartusII文本输入法进行电路设计。3 .实验任务要求:(1)用VHDL®言设计实现一个分频系数为12,分频输出信号占空比 为50%勺分频器。要求在QuartusII平台上设计程序并仿真验证 设计。(2)用VHDL®言设计实现一个带异步复位的 8421码十进制计数器, 仿真验证其功能,并下载到实验板测试。要求用按键设定输入信 号,发光二极管显示输出信号。(3)将(1)、(2)和数码管译码器3个电路进行连接,并下载到实验 板显示计数结果。二、模块端口说明及连接图1.整个电路输入端:时钟信号 CLK复位键C
14、LR2.分频器及计数器的端口连接:复位键 CLR乍为分频器复位键CLR1 8421 十进制计数器复位键CLR2时钟信号CLK乍为分频器白时钟信号CLK1, 分频器输出CLK_OUT作为8421十进制计数器的时钟信号 CLK2计数器 的输出Q0,1,2,3作为数码管译码器的输入a 0,1,2,3。3.整个电路输出端:b0,1,2,3,4,5,6,分别对应7段数码管;c0,1,2,3,4,5,分别对应6个数码管译码器。三、VHDLft码(1) 8421十进制计数器:LIBRARY IEEE;USE ZY8421shijinzhi ISPORT(CLK2,CLR2:IN STD_LOGIC;Q:OU
15、T STD_LOGIC_VECTOR(3 DOWNTO 0);END ZY8421shijinzhi;ARCHITECTURE behave OF ZY8421shijinzhi ISSIGNAL Q_temp:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK2,CLR2) BEGINIF CLR2 = '1' THEN Q_temp <="0000"ELSIF CLK2'EVENT AND CLK2 = '1' THENIF Q_temp = "1001" THEN
16、 Q_temp <="0000"ELSE Q_temp <=Q_temp+1;END IF;END IF;END PROCESS;Q <=Q_temp;END behave;分频器:LIBRARY IEEE;USE 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 ;SIGNAL clkout:STD_LOGIC;BEGINPROCE
17、SS(CLK1,CLR1) BEGINIF CLR1 = '1' THEN temp <=0;ELSIF CLK1'EVENT AND CLK1 = '1' THENIF temp = 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 function3
18、ISPORT(CLK,CLR:IN STD_LOGIC;b: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);c: OUT STD_LOGIC_VECTOR(5 DOWNTO 0);END function3 ;ARCHITECTURE al OF function3 ISCOMPONENT div_50M- 调用分频器和计数器两个元件PORT(CLK1,CLR1:IN STD_LOGIC;CLK_OUT1:OUT STD_LOGIC);END COMPONENT;COMPONENT ZY8421shijinzhiPORT(CLK2,CLR2:IN STD_LOGIC;Q:O
19、UT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT;SIGNAL a : STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL clkin : STD_LOGIC;BEGINu1:div_50M PORT MAP (CLK1=>CLK,CLR1=>CLR,CLK_OUT1=>clkin);u2: ZY8421shijinzhi PORT MAP (CLK2=>clkin,CLR2=>CLR,Q=>a);PROCESS(a)BEGINc<=" 110111"-左数第三个数码管亮
20、CASE a IS-0-1-2-3-4-5-6-7-8-9WHEN "0000" => b<="1111110"WHEN "0001" => b<="0110000"WHEN "0010" => b<="1101101"WHEN "0011" => b<="1111001"WHEN "0100" => b<="0110011"WHEN &
21、quot;0101" => b<="1011011"WHEN "0110" => b<="1011111"WHEN "0111" => b<="1110000"WHEN "1000" => b<="1111111"WHEN "1001" => b<="1111011"WHEN OTHERS => b<="1111110&quo
22、t; -0END CASE;END PROCESS;END;四、仿真波形图及分析分析仿真波形图可知,c为110111 ,左数第三个数码管亮;数码管译码器循环显示0到9这10个数字;复位信号CLK是高电平有效,从波形中看出CLR=1 时输出b=1111110,数码管显示数字00 - 1 7 i u. e- t I 羯尊其 士于二二二二五、故障及问题分析1、问题:分频器代码编译成功后准备下载到板子上,在准备设置端口时,出现 了这个跟之前不一样界面,没办法下载代码。Tep VHBW - Fip OhpArre GX-fei AGX2KF-MMC«解决方法:后来发现是最开始的时候,器件设置有
23、问题,应该按照书上讲的在 Available device s 栏选择 EPM11270T144C5个型号。前两 次实验都没有犯这个错误,我认识到我不应该忽视前面的必要步 骤,某个小细节的不注意可能会导致重做整个项目。2、问题:把(3)的代码写好后编译出现错误,Error (10313): VHDlCase Statement error at (30): Case Statement choices must cover all possible values of expression 。解决方法:后来我检查发现是穷举法中的可能情况里忘了写WHEN OTHERS =>b<=&q
24、uot;0000000”;这一行,导致情况包括不完全而报错。3、问题:仿真波形中b的显示类似乱码,并不是预想的二进制码。解决方法:老师讲解后知道了应该在Count Value选项中的Radix栏选择 Binary 。实验四一、实验名称和实验任务要求1 .实验内容:用VHD段计与实现相关电路。2 .实验目的:(1)掌握VHD格言的语法规范,掌握时序电路描述方法。(2)掌握多个数码管动态扫描显示的原理及设计方法。3 .实验任务要求:(1)用VHDL语言设计并实现六个数码管串行扫描电路,要求同时显 示“班号一班内序号”这6个数字图形到6个数码管,仿真验证 其功能,并下载到实验板测试。(2)用VHDL
25、®言设计并实现六个数码管滚动显示电路。循环左滚动,始终点亮6个数码管,左出右进。状态为:124-17,24-171 ,4-1712, -17124, 17124-, 7124-1, 124-17。模块端口说明及连接图1 .输入端:clk时钟信号2 .输出端:partout0,1,2,3,4,5,6,分别对应7段数码管;catout0,1,2,3,4,5:分别对应6个数码管译码器三、VHDLft码(1)同时显示“班号一班内序号”这六个数字图形到6个数码管LIBRARY IEEE;USE ZY12417 ISPORT ( clk : IN STD_LOGIC;partout : OUT
26、STD_LOGIC_VECTOR(6 DOWNTO 0);catout : OUT STD_LOGIC_VECTOR(5 DOWNTO 0); END ZY12417;ARCHITECTURE A OF ZY12417 ISSIGNAL part: STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL cat: STD_LOGIC_VECTOR(5 DOWNTO 0);SIGNAL tempclk: STD_LOGIC;SIGNAL count: INTEGER RANGE 0 TO 1999;-为便于仿真,仿真图对应代码将分频改成了50CONSTANT M: INTEGER
27、 :=1999;BEGINP1:PROCESS(clk)BEGINIF(clk'EVENT AND clk='1')THEN IF count=M THEN count<=0;tempclk<= NOT tempclk;ELSEcount<=count+1;END IF;END IF;END PROCESS P1;P2:PROCESS(tempclk)BEGINIF(tempclk'EVENT AND tempclk='1')THENCASE cat ISWHEN"111110"=> cat<=&
28、quot;011111"part<="0110000" -1WHEN"011111"=> cat<="101111"part<="1101101" -2WHEN"101111"=> cat<="110111"part<="0110011" -4WHEN"110111"=> cat<="111011"part<="0000001"
29、-WHEN"111011"=> cat<="111101"part<="0110000" -1WHEN"111101"=> cat<="111110"part<="1110000" -7 WHEN OTHERS => cat<="011111"part<="0110000" -1 END CASE;END IF;END PROCESS P2;catout<=cat;partou
30、t<=part;END A;(2)滚动显示电路(选做)LIBRARY IEEE;USE gundongxianshi ISPORT( clk,clear:IN STD_LOGIC;catout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);partout:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);END gundongxianshi;ARCHITECTURE a OF gundongxianshi ISSIGNAL cat :STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL part :STD_LOGIC_VECTOR(5
31、 DOWNTO 0);SIGNAL cnt,cnt1 :INTEGER RANGE 0 TO 11;SIGNAL tmp:INTEGER RANGE 0 TO 15999;SIGNAL clk1:STD_LOGIC;BEGINp0:PROCESS(clk,clear)BEGINIF clear='0' THEN tmp<=0;ELSIF clk'EVENT AND clk='1' THENIF tmp=15999 THENtmp<=0;ELSE tmp<=tmp+1;END IF;END IF;END PROCESS p0;p1:PRO
32、CESS(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') THENIF(cnt=11) THEN cnt<=0;ELSE cnt<=cnt+1;END IF;END IF;END PROCESS p2;p3:PROCESS(clk1)
33、BEGINIF(clk1'EVENT AND clk1='1') THEN IF(cnt1=11) THEN cnt1<=0;ELSE cnt1<=cnt1+1;END IF;END IF;END PROCESS p3;p4:PROCESS(cnt,cnt1)BEGINIF(clear='0')THEN cat<="0000000”;ELSECASE cnt+cnt1 ISWHEN 6=>cat<="0110000”;WHEN 7=>cat<="1101101"WHEN 8
34、=>cat<="0110011"WHEN 9=>cat<="0000001"WHEN 10=>cat<="1101101”;WHEN 11=>cat<="1101101”;WHEN OTHERS =>cat<="0000000”;END CASE;END IF;END PROCESS p4;catout<=cat;p5:PROCESS(cnt)BEGINIF(clear='0') THEN part<="111111"
35、ELSECASE cnt ISWHEN 0=>part<="011111"WHEN 1=>part<="101111"WHEN 2=>part<="110111"WHEN 3=>part<="111011"WHEN 4=>part<="111101"WHEN 5=>part<="111110"WHEN OTHERS =>part<="111111"END CASE;END
36、IF;END PROCESS p5; partout<=part;END a;四、仿真波形图及分析同时显示“班号一班内序号”这六个数字图形到 6个数码管1即时.平US於芈u瓠邛4U.蜜3中邛砥 木31L华w时.等U'ifi 41,0J3LU TCHciTil X-lldul_T mii ¥ImoL J_HHT5Y_umill f -itTniY_uditl¥i川也!戊 U1世如 云一心口中 * MLHLL ;1“口肌皿】一,。值卬 I LLWjj 11:川川 厂 LlhlU :1LLLLLL ,f g : ; :! !: :; ; L 卜 7 一 _ 1; d
37、 7卜 !分析仿真波形图可知,数码管译码器从左到右依次显示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=1110000 ,数码管显示数字7;当频率足够大,扫描速度很快时,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现代农业装备在种植业中的技术优势
- 现代医疗技术中的人才培养与团队建设
- 校园文化与企业文化的对接与互鉴
- 14《母鸡》说课稿-2023-2024学年统编版四年级语文下册
- 24 《古人谈读书》说课稿-2024-2025学年语文五年级上册统编版
- 6 传统游戏我会玩2023-2024学年二年级下册道德与法治同步说课稿(统编版)
- 14 圆明园的毁灭 说课稿-2024-2025学年语文五年级上册统编版
- 5 树和喜鹊(说课稿)-2023-2024学年统编版语文一年级下册
- 17《爬天都峰》说课稿-2024-2025学年统编版语文四年级上册
- 2023三年级英语下册 Unit 4 Food and Restaurants Lesson 21 In the Restaurant说课稿 冀教版(三起)
- 中国储备粮管理集团有限公司兰州分公司招聘笔试真题2024
- 2024年广东省公务员录用考试《行测》真题及答案解析
- 骨科手术纠纷案例分析课件
- 2022年广西高考英语真题及答案(全国甲卷)
- 安全生产责任清单(加油站)
- 动物检疫技术-动物检疫的程序(动物防疫与检疫技术)
- 煤矿复工复产专项安全风险辨识
- DB42T 1049-2015房产测绘技术规程
- 《民航服务沟通技巧》教案第8课重要旅客服务沟通
- 学校副校长述职报告PPT模板下载
- (完整版)欧姆龙E3X-HD光纤放大器调试SOP
评论
0/150
提交评论