




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于VHDL的数字电子硬件系统设计,重点:必考内容,四选一电路,libraryieee;useieee.std_logic_1164.all;entitya4isport(input:instd_logic_vector(3downto0);sel:instd_logic_vector(1downto0);y:outstd_logic);enda4;architecturertlofa4isbeginprocess(input,sel)beginif(sel=00)theny=input(0);elsif(sel=01)theny=input(1);elsif(sel=10)theny=input(2);elsey=input(3);endif;endprocess;endrtl;,四选一电路,entitymux4isport(i0,i1,12,13,a,b:instd_logic;q:outstd_logic);endmux4;architecturertlofmux4issiganlsel:std_logic_vector(1downto0);beginsel=b,三态门,三态门,是指逻辑门的输出除有高、低电平两种状态外,还有第三种状态高阻状态的门电路高阻态相当于隔断状态。三态门都有一个EN控制使能端,来控制门电路的通断。可以具备这三种状态的器件就叫做三态(门,总线,.).举例来说:内存里面的一个存储单元,读写控制线处于低电位时,存储单元被打开,可以向里面写入;当处于高电位时,可以读出,但是不读不写,就要用高电阻态,既不是5v,也不是0v计算机里面用1和0表示是,非两种逻辑,但是,有时候,这是不够的,比如说,他不够富有但是他也不一定穷啊,她不漂亮,但也不一定丑啊,处于这两个极端的中间,就用那个既不是也不是的中间态表示,叫做高阻态。高电平,低电平可以由内部电路拉高和拉低。而高阻态时引脚对地电阻无穷,此时读引脚电平时可以读到真实的电平值.高阻态的重要作用就是I/O(输入/输出)口在输入时读入外部电平用.,三态门的应用,一般门与其它电路的连接,无非是两种状态,1或者0,在比较复杂的系统中,为了能在一条传输线上传送不同部件的信号,研制了相应的逻辑器件称为三态门,除了有这两种状态以外还有一个高阻态,就是高阻抗(电阻很大,相当于开路)。如果你的设备端口要挂在一个总线上,必须通过三态缓冲器.因为在一个总线上同时只能有一个端口作输出,这时其他端口必须在高阻态,同时可以输入这个输出端口的数据.所以你还需要有总线控制管理,访问到哪个端口,那个端口的三态缓冲器才可以转入输出状态.这是典型的三态门应用,如果在线上没有两个以上的输出设备,当然用不到三态门,而线或逻辑又另当别论了.,三态门,libraryieee;useieee.std_logic_1164.all;entitytri_gateisport(din,en:instd_logic;dout:outstd_logic);endtri_gate;architecturezasoftri_gateisbegintri_gate:process(din,en)beginif(en=1)thendout=din;elsedout=Z;endif;endprocess;endzas;,总线缓冲器,总线缓冲器在总线传输中起数据暂存缓冲的作用。其典型芯片有74LS244和74LS245。74LS244是一种8位三态缓冲器,可用来进行总线的单向传输控制。74LS245是一种8位的双向传输的三态缓冲器,可用来进行总线的双向传输控制,所以也称总线收发器。,总线缓冲器,总线的控制要求:总线作为计算机系统中各部件的公共信息传输通道,当系统运行时各个部件均挂在总线上,但这些部件的工作情况并不完全一样,有的部件可作为信号源向总线发送信息,有的部件可作为接收器件从总线接收信息。数据或信息代码是用电位的高低来表示的,在某一时刻若有几个部件同时向总线发送数据,则总线上的情况就成为不确定的了,电路也可能被烧毁。由于这个原因,在同一时刻只能允许一个部件向总线发送数据。对于数据的接收就没有上述限制,可以允许一个部件或多个部件同时接收数据。总线的控制方法:为控制接在总线上的某些部件能根据需要,在电气连接上与总线“脱开”,不影响其他部件的工作,可以在器件内部设置三态缓冲器。数据通过三态缓冲器再送入总线,当三态缓冲器处于低阻状态,即输出端为高电平或低电平状态时,器件挂在总线上;当三态缓冲器处于高阻状态,即开路状态或浮空状态时,器件与总线逻辑上“脱开”,但物理上仍是连接在一起的。,单向总线缓冲器:由多个三态门组成,来驱动地址总线和控制总线,libraryieee;useieee.std_logic_1164.all;entitytri_buf8isport(din:instd_logic_vector(7downto0);dout:outstd_logic_vector(7downto0);en:instd_logic;);endtri_buf8;architecturezasoftri_buf8isbegintri_buff:process(din,en)beginif(en=1)thendout=din;elsedout=ZZZZZZZZ;endif;endprocess;endzas;,双向总线缓冲器,libraryieee;useieee.std_logic_1164.all;entitytri_bigateisport(a,b:inoutstd_logic_vector(7downto0);dr:instd_logic;en:instd_logic;);endtri_bigate;architecturertloftri_bigateissignalaout,bout:std_logic_vector(7downto0);beginp1:process(a,dr,en)beginif(en=0anddr=1)thenbout=a;elsebout=ZZZZZZZZ;endif;b=bout;endprocess;p2:process(b,dr,en)beginif(en=0anddr=0)thenaout=b;elseaout=ZZZZZZZZ;endif;a=aout;endprocess;endrtl;,半加器(只有两个加数作为输入),libraryieee;useieee.std_logic_1164.all;entityhalf_adderisport(a,b:instd_logic;s,co:outstd_logic);endhalf_adder;architecturehalf1ofhalf_adderisbeginc=aorb;d=anandb;co=notd;s=candd;endhalf1;,全加器(输入包括两个加数和一个进位),libraryieee;useieee.std_logic_1164.all;entityfull_adderisport(a,b,cin:instd_logic;s,co:outstd_logic);endfull_adder;architectureful1offull_adderiscomponenthalf_adderport(a,b:instd_logic;s,co:outstd_logic);endcomponent;signalu0_co,u0_s,u1_co:std_logic;beginu0:half_adderportmap(a,b,u0_s,u0_co);u1:half_adderportmap(u0_s,cin,s,u1_co);co=u0_cooru1_co;endfull;,计数器,狭义的计数器是指一些常用计时器,例如体育比赛中测试时间的计时器等,但本词条所要介绍的并不是这种计时器,要介绍的是应用更为广泛的时序逻辑电路中的计数器。在数字电子技术中应用的最多的时序逻辑电路。计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。但是并无法显示计算结果,一般都是要通过外接LCD或LED屏才能显示。,计数器,1、如果按照计数器中的触发器是否同时翻转分类,可将计数器分为同步计数器和异步计数器两种。常见的同步计数器有74160系列,74LS190系列,常见的异步计数器有74LS290系列。2、如果按照技术过程中数字增减分类,又可将计数器分为加法计数器和减法计数器,随时钟信号不断增加的为加法计数器,不断减少的为减法计数器。另外还有很多种分类不一一列举,但是最常用的是第一种分类,因为这种分类可以使人一目了然,知道这个计数器到底是什么触发方式,以便于设计者进行电路的设计,计数器,entityCOUNTER3isport(clk:inbit;reset:inbit;count:outintegerrange0to7);endCOUNTER3;architectureMY_ARCHofCOUNTER3issignalcount_tmp:integerrange0to7;-(定义语句)beginprocessbeginwaituntil(clkeventandclk=1);ifreset=1orcount_tmp=7thencount_tmp=0;elsecount_tmp=count_tmp+1;endif;endprocess;count=count_tmp;endMY_ARCH;,触发器,边沿D触发器电平触发的主从触发器工作时,必须在正跳沿前加入输入信号。如果在CP高电平期间输入端出现干扰信号,那么就有可能使触发器的状态出错。而边沿触发器允许在CP触发沿来到前一瞬间加入输入信号。这样,输入端受干扰的时间大大缩短,受干扰的可能性就降低了。边沿D触发器也称为维持-阻塞边沿D触发器。,d触发器芯片有:74HC7474LS90双D触发器74LS7474LS364八D触发器(三态)7474、74H74、74F74、74ALS74、74L74、74LS74A、74S74、74HC73、74C74双D型正沿触发器(带预置和清除端)74174、74LS174、74F174、74ALS174、74S174、74HC174、74C174六D型触发器(带清除端)74175、74LS175、74F175、74ALS175、74S175、74HC175、74C175四D型触发器(带清除端)74273、74LS273、74S273、74F273、74ALS273、74HC273八D型触发器(带清除端)74LS377、74F377、74S3777八D触发器74LS378、74F378、74S378、74HC378六D触发器74LS379、74F379、74S379、74HC379八D触发器,触发器,entityuregisgeneric(size:integer:=2);port(clk,reset,load:instd_logic;d:inunsigned(size-1downto0);q:bufferunsigned(size-1downto0);endureg;architecturearchuregofuregisbeginp1:process(reset,clk)beginifreset=1thenq0);elsif(clkeventandclk=1)thenifload=1thenq=d;endif;endif;endprocess;endarchureg;,移位寄存器,在数字电路中,用来存放二进制数据或代码的电路称为寄存器。寄存器是由具有存储功能的触发器组合起来构成的。一个触发器可以存储一位二进制代码,存放N位二进制代码的寄存器,需用n个触发器来构成。移位寄存器中的数据可以在移位脉冲作用下一次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,串行输入、并行输出,十分灵活,用途也很广。目前常用的集成移位寄存器种类很多,如74164、74165、74166均为八位单向移位寄存器,74195为四位单向移存器,74194为四位双向移存器,74198为八位双向移存器。,移位寄存器,移位寄存器,libraryieee;useieee.std_logic_1164.all;entitytest_03isport(a,clk,reset:instd_logic;b:outstd_logic);endtest_03;architecturetest_03oftest_03issignalshif_1,shif_2,shif_3:std_logic;beginprocess(clk)beginif(reset=1)thenshif_1=0;shif_2=0;shif_3=0;b=0;elsif(clkeventandclk=1)thenshif_1=a;shif_2=shif_1;shif_3=shif_2;b=shif_3;endif;endprocess;endtest_03;,8位移位寄存器,p1:process(clk,reset,syn_in)beginifreset=1thentemp0);elsifclkeventandclk=0thenif(syn_in=1orsyn_im=1)thentemp(0)=d_in;endif;foriin1to7looptemp(i)=temp(i-1);endloop;endif;endprocess;,译码器,译码是编码的逆过程,在编码时,每一种二进制代码,都赋予了特定的含义,即都表示了一个确定的信号或者对象。把代码状态的特定含义“翻译”出来的过程叫做译码,实现译码操作的电路称为译码器。或者说,译码器是可以将输入二进制代码的状态翻译成输出信号,以表示其原来含义的电路。根据需要,输出信号可以是脉冲,也可以是高电平或者低电平。显示译码主要解决二进制数显示成对应的十、或十六进制数的转换功能,一般其可分为驱动LED和驱动LCD两类。LCD译码驱动器电路与LED的译码驱动电路不同,其输出不是高电平或低电平,而是脉冲电压,当输出有效时,其输出为交变的脉冲电压,否则为高电平或低电平。,3-8译码器,libraryieee;useieee.std_logic_1164.all;entitydecoder_3_to_8isport(a,b,c,g1,g2,g3:instd_logic;y:outstd_logic_vector(7downto0);enddecoder_3_to_8;architecturertlofdecoder_3_to_8issignalindata:std_logic_vector(2downto0);beginindatayyyyyyyy=”01111111”endcase;elsey=”11111111”;endif;endprocess;endrtl;,电视抢答大赛的抢答器,libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entityqiangdaisport(clk,clr,start:instd_logic;-clocka:instd_logic;-input1b:instd_logic;-input2c:instd_logic;-input3d:instd_logic;-input4e:instd_logic;-input5r:instd_logic;-input6g:instd_logic;-input7h:instd_logic;-input8i:instd_logic;-input9j:instd_logic;-input10output:outstd_logic_vector(10downto0);-谁抢到,输出显示flag:outstd_logic-有人回答);endqiangda;,电视抢答大赛的抢答器,architectureBehavioralofqiangdaissignalflagf:std_logic;beginqiangda:process(clk,a,b,c,d,e,f,g,h,I,j,clr,start)begin-实际按键速度不能跟扫描频率相比,-所以此处虽有优先级,也不影响结果if(clkeventandclk=1)theni
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年培训师资格考试试卷及答案
- 环保冷冻车间管理制度
- 环卫车队纪律管理制度
- 现场施工火灾管理制度
- 2025年中国邮政集团有限公司湖北省分公司招聘笔试备考试题及答案详解一套
- 理发用具消毒管理制度
- 创新就业服务保障体系的策略及实施路径
- 公园露营公司团建活动方案
- ai科技管理制度
- it需求管理制度
- 西藏自治区建筑与市政工程竣工验收报告
- 文化产业经济学 焦斌龙课件第五章 文化产业结构
- GB/T 29665-2013护肤乳液
- GB/T 18024.6-2010煤矿机械技术文件用图形符号第6部分:露天矿机械图形符号
- iso-7010-safety-signpdf原版标准文件
- 灌砂法压实度检测记录表(自动计算表)
- 江苏省泰州市2022年中考生物试题真题(含答案+解析)
- 中国慢性髓性白血病诊疗指南更新
- 《民法典》合同编实务培训课件
- 第7章食品原料的采购与贮存管理ppt课件
- 湘教版高中美术选修:美术鉴赏 第一单元 第二课 图像与眼睛 (教案)
评论
0/150
提交评论