




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上数字电路与逻辑设计实验姓 名 * 学 院 信息与通信工程学院专 业 信息工程 班 级 * 学 号 * 班内序号 * 实验一一、实验名称和实验任务要求1. 实验内容:QuartusII原理图输入法设计与实现。2. 实验目的:(1) 熟悉用QuartusII原理图输入法进行电路设计和仿真。(2) 掌握QuartusII图形模块单元的生成与调用。(3) 熟悉实验板的使用。3. 实验任务要求:(1) 用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图像模块。 (2) 用实验内容1中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板上测试。要
2、求用拨码开关设定输入信号,发光二极管显示输出信号。(3) 用3线8线译码器(74LS138)和逻辑门实现函数F=(/𝐶)(/𝐵)(/𝐴)+(/𝐶)𝐵(/𝐴)+𝐶(/𝐵)(/𝐴)+𝐶𝐵𝐴,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。二、原理图半加器模块和逻辑门设计实现的全加器:三、仿真波形图及分析电路实现了全加器的功能。全加器是实现两个1位二进制数及低位来的进位相
3、加求得和数及向高位进位的逻辑电路。由其原理可得逻辑表达式:sum=ainbincincout = (ainbin)cin + ain*bin。列出真值表:输入输出ainbincincoutsum0000000101010010111010001101101101011111仿真波形对比真值表,可以看出波形图与理论值完全符合。四、故障及问题分析1、问题:按照逻辑表达式连接了全加器电路后,仿真波形很乱。解决方法:思考后知道了应该把输入信号依次设成2的n次方,这样的仿真波形清楚容易分析。2、问题:把代码下载到板子上的过程中,进行到37%的时候停了,等了2分钟也没继续下载。解决方法:再次重连USB尝试
4、下载,手紧握着接线口,下载成功了,分析可能是接线口接触不好。实验二一、实验名称和实验任务要求1. 实验内容:用VHDL设计与实现组合逻辑电路。2. 实验目的:(1) 熟悉用VHDL语言设计组合逻辑电路的方法。(2) 熟悉用QuartusII文本输入法进行电路设计。3. 实验任务要求:(1) 用VHDL语言设计实现一个4位二进制奇校验器,输入奇数个1时,输出为1,否则输出0,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。 (2) 用VHDL语言设计实现一个8421码转换为余3码的代码转换器,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,
5、发光二极管显示输出信号。(3) 用VHDL语言设计实现一个共阴极7段数码管译码器,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,7段数码管显示输出信号。二、VHDL代码1. 奇校验器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 jijiaoyanqi;ARCHITECTURE one OF jijiaoyanqi IS SIGNAL n1,n2
6、 : STD_LOGIC;BEGIN n1<=A XOR B; n2<=n1 XOR C; F<=n2 XOR D; -异或,ABCDEND one;2. 8421码转余3码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY basizhuanyu3 ISPORT( A:IN STD_LOGIC_VECTOR(3 DOWNTO 0); B:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END basizhuanyu3;ARCHITECTURE zhu
7、anyu3 OF basizhuanyu3 ISBEGINPROCESS(A)BEGINCASE A ISWHEN"0000"=> B<="0011"WHEN"0001"=> B<="0100"WHEN"0010"=> B<="0101"WHEN"0011"=> B<="0110"WHEN"0100"=> B<="0111"WHEN&qu
8、ot;0101"=> B<="1000"WHEN"0110"=> B<="1001"WHEN"0111"=> B<="1010"WHEN"1000"=> B<="1011"WHEN"1001"=> B<="1100"WHEN OTHERS=> B<="ZZZZ"END CASE;END PROCESS;END zhu
9、anyu3; 3. 数码管译码器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY shumaguanyimaqi 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 shumaguanyimaqi;ARCHITECTURE shuma OF shumaguanyimaqi ISBEGINPROCESS(A
10、)BEGINC<=""CASE A ISWHEN"0000"=> B<=""-0WHEN"0001"=> B<=""-1WHEN"0010"=> B<=""-2WHEN"0011"=> B<=""-3WHEN"0100"=> B<=""-4WHEN"0101"=> B<="
11、;"-5WHEN"0110"=> B<=""-6WHEN"0111"=> B<=""-7WHEN"1000"=> B<=""-8WHEN"1001"=> B<=""-9WHEN OTHERS=> B<="ZZZZZZZ"END CASE;END PROCESS;END shuma;三、故障及问题分析1、问题:代码写好以后编译出现错误,Error (
12、10568): VHDL error at jijiaoyanqi.vhd(17): can't write to interface object "partout" of mode IN,由于报错指到了第17行F<=n2 XOR D; 导致我开始的时候没意识到这是哪里的错误。解决方法:在百度查了以后发现是F:OUT STD_LOGIC); 这句我写成了F:IN STD_LOGIC);以后要注意少犯这些马虎的错误。2、问题:把代码下载到板子上的过程中,再次出现了第一节课出现的下载停止的问题,再次尝试后也没有下载成功,第三次接线的时候等了好久,Hardware
13、 Setup窗口也没有显示有硬件接入。解决方法:换了一台电脑尝试然后成功了,我觉得可能是两个原因,一是我反复操作导致软件反应时间长,二是我本来用的电脑接口连接不好。实验三一、实验名称和实验任务要求1. 实验内容:用VHDL设计与实现时序逻辑电路。2. 实验目的:(1) 熟悉用VHDL语言设计时序逻辑电路的方法。(2) 熟悉用QuartusII文本输入法进行电路设计。3. 实验任务要求:(1) 用VHDL语言设计实现一个分频系数为12,分频输出信号占空比为50%的分频器。要求在QuartusII平台上设计程序并仿真验证设计。 (2) 用VHDL语言设计实现一个带异步复位的8421码十进制计数器,
14、仿真验证其功能,并下载到实验板测试。要求用按键设定输入信号,发光二极管显示输出信号。(3) 将(1)、(2)和数码管译码器3个电路进行连接,并下载到实验板显示计数结果。二、模块端口说明及连接图1. 整个电路输入端:时钟信号CLK,复位键CLR。2. 分频器及计数器的端口连接:复位键CLR作为分频器复位键CLR1、8421十进制计数器复位键CLR2;时钟信号CLK作为分频器的时钟信号CLK1,分频器输出CLK_OUT1作为8421十进制计数器的时钟信号CLK2;计数器的输出Q0,1,2,3作为数码管译码器的输入a 0,1,2,3。3. 整个电路输出端:b0,1,2,3,4,5,6,分别对应7段数
15、码管;c0,1,2,3,4,5,分别对应6个数码管译码器。三、VHDL代码(1) 8421十进制计数器:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ZY8421shijinzhi ISPORT(CLK2,CLR2:IN STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END ZY8421shijinzhi;ARCHITECTURE behave OF ZY8421shijinzhi ISSIGNAL Q_temp:STD_LOGIC_VE
16、CTOR(3 DOWNTO 0);BEGINPROCESS(CLK2,CLR2)BEGINIF CLR2 = '1' THEN Q_temp <="0000"ELSIF CLK2'EVENT AND CLK2 = '1' THEN IF Q_temp = "1001" THEN Q_temp <="0000"ELSE Q_temp <=Q_temp+1;END IF;END IF;END PROCESS;Q <=Q_temp;END behave;(2) 分频器:LIBR
17、ARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;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 ;SIGNAL clkout:STD_LOGIC;BEGINPROCESS(CLK1,CLR1)BEGINIF CLR1 = '1' THEN temp &
18、lt;=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 IEEE.STD_LOGIC_1164.ALL;ENTITY function3 ISPORT(CLK,CLR:IN STD_
19、LOGIC;b: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);c: OUT STD_LOGIC_VECTOR(5 DOWNTO 0);END function3 ;ARCHITECTURE a1 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:OUT STD_LOGIC_VECTOR(3
20、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<=" " -左数第三个数码管亮CASE a ISWHEN "0000&qu
21、ot; => b<="" -0WHEN "0001" => b<="" -1WHEN "0010" => b<="" -2WHEN "0011" => b<="" -3WHEN "0100" => b<="" -4WHEN "0101" => b<="" -5WHEN "0110" =&
22、gt; b<="" -6WHEN "0111" => b<="" -7WHEN "1000" => b<="" -8WHEN "1001" => b<="" -9WHEN OTHERS => b<="" -0END CASE;END PROCESS;END;四、仿真波形图及分析分析仿真波形图可知,c为 ,左数第三个数码管亮;数码管译码器循环显示0到9这10个数字;复位信号CLK是高电
23、平有效,从波形中看出CLR=1时输出b=,数码管显示数字0。五、故障及问题分析1、问题:分频器代码编译成功后准备下载到板子上,在准备设置端口时,出现了这个跟之前不一样界面,没办法下载代码。解决方法:后来发现是最开始的时候,器件设置有问题,应该按照书上讲的在Available device s栏选择EPM11270T144C5这个型号。前两次实验都没有犯这个错误,我认识到我不应该忽视前面的必要步骤,某个小细节的不注意可能会导致重做整个项目。2、问题:把(3)的代码写好后编译出现错误,Error (10313): VHDL Case Statement error at function3.vhd
24、(30): Case Statement choices must cover all possible values of expression。解决方法:后来我检查发现是穷举法中的可能情况里忘了写WHEN OTHERS => b<="" 这一行,导致情况包括不完全而报错。3、问题:仿真波形中b的显示类似乱码,并不是预想的二进制码。解决方法:老师讲解后知道了应该在Count Value选项中的Radix栏选择Binary。实验四一、实验名称和实验任务要求1. 实验内容:用VHDL设计与实现相关电路。2. 实验目的:(1) 掌握VHDL语言的语法规范,掌握时序电
25、路描述方法。(2) 掌握多个数码管动态扫描显示的原理及设计方法。3. 实验任务要求:(1) 用VHDL语言设计并实现六个数码管串行扫描电路,要求同时显示“班号班内序号”这6个数字图形到6个数码管,仿真验证其功能,并下载到实验板测试。 (2) 用VHDL语言设计并实现六个数码管滚动显示电路。循环左滚动,始终点亮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,
26、5:分别对应6个数码管译码器三、VHDL代码(1) 同时显示“班号班内序号”这六个数字图形到6个数码管LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ZY12417 ISPORT ( clk : IN STD_LOGIC;partout : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);catout : OUT STD_LOGIC_VECTOR(5 DOWNTO 0) );END ZY12417;ARCHITECTURE A OF ZY12417 ISSIGNAL
27、 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 :=1999;BEGINP1:PROCESS(clk)BEGINIF(clk'EVENT AND clk='1')THENIF count=M THENcount<=0;tempclk<= NOT
28、tempclk;ELSEcount<=count+1;END IF;END IF;END PROCESS P1;P2:PROCESS(tempclk)BEGINIF(tempclk'EVENT AND tempclk='1')THENCASE cat ISWHEN""=> cat<=""part<="" -1WHEN""=> cat<=""part<="" -2WHEN""=> cat
29、<=""part<="" -4WHEN""=> cat<=""part<="" - -WHEN""=> cat<=""part<="" -1WHEN""=> cat<=""part<="" -7WHEN OTHERS => cat<=""part<=""
30、-1END CASE;END IF;END PROCESS P2;catout<=cat;partout<=part;END A;(2) 滚动显示电路(选做)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY gundongxianshi IS PORT( clk,clear:IN STD_LOGIC; catout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); partout:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);END g
31、undongxianshi;ARCHITECTURE a OF gundongxianshi IS SIGNAL cat :STD_LOGIC_VECTOR(6 DOWNTO 0); SIGNAL part :STD_LOGIC_VECTOR(5 DOWNTO 0); SIGNAL cnt,cnt1 :INTEGER RANGE 0 TO 11; SIGNAL tmp:INTEGER RANGE 0 TO 15999; SIGNAL clk1:STD_LOGIC;BEGIN p0:PROCESS(clk,clear) BEGIN IF clear='0' THEN tmp<
32、;=0; ELSIF clk'EVENT AND clk='1' THEN IF tmp=15999 THEN tmp<=0; ELSE tmp<=tmp+1; END IF; END IF; END PROCESS p0; p1:PROCESS(tmp) BEGIN IF clk'EVENT AND clk='1' THEN IF tmp<1000 THEN clk1<='0' ELSE clk1<='1' END IF; END IF; END PROCESS p1; p2:PRO
33、CESS(clk) BEGIN IF(clk'EVENT AND clk='1') THEN IF(cnt=11) THEN cnt<=0; ELSE cnt<=cnt+1; END IF; END IF; END PROCESS p2; p3:PROCESS(clk1) BEGIN IF(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(
34、cnt,cnt1) BEGIN IF(clear='0')THEN cat<="" ELSE CASE cnt+cnt1 IS WHEN 6=>cat<="" WHEN 7=>cat<="" WHEN 8=>cat<="" WHEN 9=>cat<="" WHEN 10=>cat<="" WHEN 11=>cat<="" WHEN OTHERS =>cat&
35、lt;="" END CASE; END IF; END PROCESS p4; catout<=cat; p5:PROCESS(cnt) BEGIN IF(clear='0') THEN part<="" ELSE CASE cnt IS WHEN 0=>part<="" WHEN 1=>part<="" WHEN 2=>part<="" WHEN 3=>part<="" WHEN 4=>pa
36、rt<="" WHEN 5=>part<="" WHEN OTHERS =>part<="" END CASE; END IF; END PROCESS p5; partout<=part;END a; 四、 仿真波形图及分析同时显示“班号班内序号”这六个数字图形到6个数码管分析仿真波形图可知,数码管译码器从左到右依次显示124-17:从左边数,第一个数字catout=对应partout=,数码管显示数字1;第二个数字catout=对应partout=,数码管显示数字2;第三个数字catout=对应partout=,数码管显示数字4;第四个数字catout=对应partout=,数码管显示符号“”;第五个数字catout=对应partout=,数码管显示数字1;第六个数字catout=对应partout=,数码管显示数字7;当频率足够大,扫描速度很快时,人眼将能看到持续稳定的12
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 歌曲《瑶家儿童爱唱歌》说课稿-2025-2026学年小学音乐花城版一年级下册-花城版
- 第七课 抵御诱惑说课稿-2025-2026学年高中心理健康北师大版2015高中二年级全一册-北师大版2015
- 第二单元第二节《制作在线宣传手册第二节(在线协作 选素材)》说课稿 2024-2025学年川教版(2024)初中信息技术七年级上册
- 第17课《爱莲说》说课稿2024-2025学年统编版语文七年级下册
- 线下性教育活动方案
- 礼品公司发展策划方案
- 碑林新年活动方案
- 禁毒国际活动方案
- 知识宣传新颖活动方案
- 社工站关爱老人活动方案
- 第一课 踏上强国之路 公开课一等奖创新教案 统编版道德与法治九年级上册
- 2025年中级注册安全工程师《金属非金属矿山安全实务》考试真题及答案
- 2025年职业卫生标准试题及答案
- 2025部编版八年级历史上册 第二单元 早期现代化的初步探索和民族危机加剧(大单元教学设计)
- 药械知识培训计划课件
- 2025年气瓶检验员闭卷考试题库及答案
- 2025-2026学年人教版(2024)初中数学七年级上册教学计划及进度表
- 医院环境感染监测制度
- 医院新项目创新建设汇报
- 部编版新教材道德与法治二年级上册《5. 这是我们班》教案
- 滴滴认证考试题库及答案
评论
0/150
提交评论