安徽工业大学数字逻辑路勤实验报告_第1页
安徽工业大学数字逻辑路勤实验报告_第2页
安徽工业大学数字逻辑路勤实验报告_第3页
安徽工业大学数字逻辑路勤实验报告_第4页
安徽工业大学数字逻辑路勤实验报告_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、数 字 逻 辑班 级 :计141学 号 : 149074007姓 名 :李根指导老师 :陆勤实验一 3-8译码器设计一、实验任务1. 通过一个简单的3-8译码器的设计,让学生掌握用原理图描述组 合逻辑电路的设计方法。 2. 掌握组合逻辑电路的软件仿真方法。 3. 初步了解可编程器件设计的全过程。4、实验步骤:1)启动MAX+plusII软件包,创建试验环境2)放置器件在原理图上3)在器件的脚管上添加连线4)标记输入输出端口属性5)保存原理图6)设置为当前文件7)仿真模拟8)选择仿真时间。仿真时间长短由电路实际要求确定9)为A、B、C、三个端口添加输入信号10)根据电路要求编辑另外两路输入端口的

2、激励信号波形11)保存激励信号编辑结果12)电路仿真13)观察仿真结果14)器件的编程下载15)按下“Select Programming File”按钮,选择要下载的“.sof”文件,然后按“Add”按钮将其加到文件列表中16)结合电路功能,在实验箱上观察设计实现的结果二、实验原理1.列出真值表、写出逻辑函数。(1)真值表A0A1A2Y0Y1Y2Y3Y4Y5Y6Y70000111111110010111111010110111111101110111100111110111101111110110111111110111111111110(2) 逻辑表达式 2. 实验原理图3. 实验仿真结果

3、波形图三、实验连线全加器的三个输入所对应的管脚同三位拨码开关相连;两个输出所对应的管脚同两位发光二极管相连。4、 实验记录1.填写下表(填亮1或灭0)ABCLED0LED1LED2LED3LED4LED5LED6LED7000亮灭灭灭灭灭灭灭100灭亮灭灭灭灭灭灭010灭灭亮灭灭灭灭灭110灭灭灭亮灭灭灭灭001灭灭灭灭亮灭灭灭101灭灭灭灭灭亮灭灭011灭灭灭灭灭灭亮灭111灭灭灭灭灭灭灭亮2、时序仿真波形中,输出波形与输入波形是否同步变化?如何解释输出波形中存在的毛刺?答:输出波形与输入波形是同步变化,输出波形中存在的毛刺是组合逻辑中的冒险现象。3、请总结实验中出现的问题,你是如何解决的?

4、答:在器件的下载编程与硬件实现中发现无法下载编程,询问老师后,保存文件,重启电脑后照着老师的步骤操作终于解决了问题。实验二 全加全减器设计一、实验任务设计一个一位全加全减器,由M控制。当M=0时实现加法运算,输入信号A、B和C分别作为加数、被加数和低位来的进位,S1和S2为和数和向高位的进位;M=1时实现减法运算,输入信号A、B和C分别作为减数、被减数和低位来的借位,S1和S2为差数和向高位的借位。二、实验原理(1)真值表输入输出 M A B C F1 F2 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1

5、0 1 0 1 1 0 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 0 0 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1根据卡诺图可得到逻辑函数为: F1=ABC+ABC+ABC+ABC F2=MAC+MAB+BC+MAC+MAB(2)实验原理图(3)仿真波形(4)实验连线 全加全减器的四个输入所对应的管脚同四位拨码开关相连;两个输出所对应的管脚同两位发光二极管相连。(5)实验记录输入输出实验结果 M A B C F1 F2F1F2000000不亮不亮000110亮不亮

6、001010亮不亮001101不亮亮010010亮不亮010101不亮亮011001不亮亮011111亮亮100000不亮不亮100111亮亮101011亮亮101101不亮亮110010亮不亮110100不亮不亮111000不亮不亮111111亮亮实验三 七段显示译码器的实现及优化1、 实验介绍 LED数码管显示电路是工程项目中使用较广的一种输出显示器件。常见的数码管有共阴和共阳2种。共阴数码管是将8个发光二极管的阴极连接在一起为公共端,而共阳数码管是将8个发光二极管的阳极连接在一起作为公共端。公共端常被称作位码,而将其他的8位称做段码,这8位分别是a,b, c, d, e, f, g及h,

7、它们对应数码管的七个段位和一个小数点儿。a,b, c, d, e, f及g这七段是用控制字符型显示的,因此,常常也将LED数码管称为7段数码管。 二、实验原理 1.列出真值表、写出逻辑函数。(1) 真值表(2) 逻辑函数表达式:2.实验原理分析2. 实验仿真结果波形图三、实验连线全加器的三个输入所对应的管脚同三位拨码开关相连;两个输出所对应的管脚同两位发光二极管相连。四、实验记录输出结果(灯亮1灯灭2)N输入输入结果A3A2A1A0abcdefg000000000001100011001111200100010010300110000110401001001100501010100100601

8、101100000701110001111810000000000910010000100实验心得:在实验中,主要遇到的困难是在使用软件画原理图时连线部分让人眼花缭乱,一般不小心就连错了,但是只要连的时候仔细细心一点就没什么问题了。然后就是在实验报告中写逻辑函数,逻辑函数需要用word中的插入函数写,需要找到对应的特殊的格式,比较繁琐,但是学会了之后还是可以找到一点小窍门的,感觉大多数问题都可以通过网上查询资料来解决,学会好好利用网上资源,对我们学东西还是大有益处的。对我们以后学习很有帮助。实验四 扫描显示电路的驱动一、 实验目的1、 了解8位七段数码管显示模块的工作原理,采用HDL设计标准扫

9、描电路驱动模块,为后续实验做准备。2、 初步掌握逻辑电路的层次式设计方法。二、 实验内容1、 实验过程1)用拨码开关产生 8421BCD 码,用 EPLD 产生字形编码电路和扫描驱动电路,然后进行仿真,观察波形,正确后进行设计实现,适配划分。调节时钟频率,感受“扫描”的过程,并观察字符亮度和显示刷新的效果。 2)编一个简单的从 0F 轮换显示十六进制数的电路。2、 实验电路图3、 波形仿真结果三、 实验报告1、 一个七段显示数码管可产生多少种字符,产生所有字符需要多少根被译码的信号线?答:一个7段数码管可产生27种字符,即128种。产生所有字符需要7根被译码信号线,但假如只编译0-F的16个字

10、符,则至少需要4根被译码信号线。2、 你在实验中采用的扫描频率是多少?答:最低扫描频率为256Hz,我采用的扫描频率为265Hz。3、 结合本实验,简述逻辑电路的层次式设计方法的基本步骤。层次式设计方法的基本思想就是分模块、分层次的进行设计描述,描述总功能的设计为顶层设计,描述电路级的设计为中层设计,描述物理实现级中较小单元的设计为底层设计。4、 实验中存在的问题答:在实验电路连接结束后进行波形仿真时出现无论怎么改变输入,结果总是为无的情况,后来发现是把reset端设为0导致结果无效,设为1后,仿真结果正常。实验五 用JK触发器设计同步8421码加法计数器一、 实验要求1、 用JK触发器设计同

11、步8421码加法计数器。2、 用实验四的“扫描显示电路”进行显示,具体连线根据实验内容完成时的管脚划分和定义,同相应的输入输出接口功能模块连接。二、 实验过程1、 按照同步时序电路的设计方法写出设计过程,画出逻辑图。 1)确定触发器的个数。首先根据状态的个数来确定所需要触发器的个数,如给定的状态个数为n,由应满足n2K,K为实现这来状态所需要的触发器的个数。(实际使用时可能给定的状态中存在冗余项,这时一般还须对状态进行化简。) 2)列出状态转移真值表。根据状态列出状态转移真值表,也称状态表、状态转移表。 3)触发器选型。选择合适的触发器 JK-FF。根据状态图和给出的触发器的型号写出其输入方程

12、,通常在写输入方程时须对其进行化简,以使电路更简单。 4).求出输出方程。根据状态表,求出输出逻辑函数Z的输出方程,还过有些电路没有独立的输出,这一步就省了。 5)画出逻辑图。根据输入方程、输出方程画出逻辑电路图。 6)讨论设计的电路能否自启动。在设计的电路中可能出现一些无关的状态,这些状态能否经过若干个时钟脉冲后进行有效的状态。2、 画出包含仿真方案的实验逻辑图(可以分层描述)3、实验中存在的问题和解决方法时序逻辑器件的清零端和置1端,如果是低电平有效,则正常工作时两端都接1;反之,如果是高电平有效,则正常工作时两端都接0。实验六 用74LS161采用清零和置数法组成六十进制和二十四进制计数

13、器一、 实验要求1、 用74LS161采用清零和置数法组成六十进制和二十四进制计数器。2、 具体连线根据每个实验内容完成时的管脚划分和定义,同相应的输入、输出接口功能模块连接。二、 实验内容1、74161功能表3、 六十进制和二十四进制计数器的连线图4、仿真波形图实验七 字节锁存器 一、实验要求 设计一个字节锁存器。2、 实验报告 实验八 利用参数化模块库实现ROM 一、实验要求 1、设计一个256X8的ROM。 2、实验结果由指导教师现场检查。 二、实验内容 1、rom256_8_led.gdf: 2、字节à半字节分离电路 half_byte 的 AHDL 描述:subdesign

14、 half_byte ( din7.0:input; sel0:input; dout3.0:output; ) begin if !sel0 then dout3.0=din3.0; else dout3.0=din7.4; end if; end; 3、 实验报告 1、写出你在实验中自定义的存储器初始化文件(.mif 文件)的内容(要求与示例不同)DEPTH = 256; % Memory depth and width are required %WIDTH = 8; % Enter a decimal number %ADDRESS_RADIX = HEX; % Address and

15、 value radixes are optional %DATA_RADIX = HEX; % Enter BIN, DEC, HEX, or OCT; unless % otherwise specified, radixes = HEX %- Specify values for addresses, which can be single address or rangeCONTENTBEGIN0.F : 00; % Range- address from 0 to F = 00 %10.1F : 11; % Range- address from 10 to 1F = 11 %20.

16、2F : 22; % Range- address from 20 to 2F = 22 %30.3F : 33; % Range- address from 30 to 3F = 33 %40.4F : 44; % Range- address from 40 to 4F = 44 %50.5F : 55; % Range- address from 50 to 5F = 55 %60.6F : 66; % Range- address from 60 to 6F = 66 %70.7F : 77; % Range- address from 70 to 7F = 77 %80.8F : 8

17、8; % Range- address from 80 to 8F = 88 %90.9F : 99; % Range- address from 90 to 9F = 99 %A0.AF : AA; % Range- address from A0 to AF = AA %B0.BF : BB; % Range- address from B0 to BF = BB %C0.CF : CC; % Range- address from C0 to CF = CC %D0.DF : DD; % Range- address from D0 to DF = DD %E0.EF : EE; % R

18、ange- address from E0 to EF = EE %F0.FF : FF; % Range- address from F0 to FF = FF %END2、 假定要用 LPM_ROM 实现 4 位二进制码到典型 gray 码的转换,请你画出ROM 阵列图,确定 ROM 容量,并由此给出 LPM_ROM 的配置参数和.mif 文件内容。容量为24*4Mif文件:DEPTH = 16;WIDTH = 43、 实验中存在的问题和解决方法 在实验中,对不同的rom需要设置不同的参数,这为实验增加了不少麻烦。实验九 任意整数分频器设计一、实验内容 通过File-New新建一个Veri

19、log HDL File,输入图4和图5所示内容(/引导的注释可不输), 并存盘为int_div.v,并加入工程(也可直接将提供的int_div.v作为元件加入到工程中)。这是一个任意整数分频模块/*/ / 任意整数分频模块 / /*/ /功能:对输入时钟clock进行F_DIV倍分频后输出clk_out。 /其中F_DIV为分频系数,分频系数范围为12n (n=F_DIV_WIDTH) /若要改变分频系数,改变参数F_DIV或F_DIV_WIDTH到相应范围即可。 /若分频系数为偶数,则输出时钟占空比为50%; /若分频系数为奇数,则输出时钟占空比取决于输入时钟占空比和分 /频系数(当输入为

20、50%时,输出也是50%)。 /- /奇数倍分频:三倍分频的时序图如下所示。 / 1 2 3 4 5 6 /clock |-|_|-|_|-|_|-|_|-|_|-|_| /clk_p_r |_|-|_|-| /clk_n_r -|_|-|_|- /clk_out |_|-|_|-| module int_div(clock,clk_out); /I/O口声明 inputclock;/输入时钟 outputclk_out;/输出时钟 /内部寄存器 regclk_p_r;/上升沿输出时钟 reg clk_n_r;/下降沿输出时钟 regF_DIV_WIDTH - 1:0 count_p;/上升沿

21、脉冲计数器 regF_DIV_WIDTH - 1:0 count_n;/下降沿脉冲计数器 /参数-分频系数 parameter F_DIV = 48000000;/分频系数<<<<-修改这里 parameter F_DIV_WIDTH = 32; /分频计数器宽度 wire full_div_p;/上升沿计数满标志 wire half_div_p;/上升沿计数半满标志 wire full_div_n;/下降沿计数满标志 wire half_div_n;/下降沿计数半满标志 /判断计数标志位置位与否 assign full_div_p = (count_p < F_DIV - 1); assign

温馨提示

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

评论

0/150

提交评论