VHDL任意整数的分频器的设计从1到任意位Word格式.docx
- 文档编号:6025340
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:29
- 大小:878.29KB
VHDL任意整数的分频器的设计从1到任意位Word格式.docx
《VHDL任意整数的分频器的设计从1到任意位Word格式.docx》由会员分享,可在线阅读,更多相关《VHDL任意整数的分频器的设计从1到任意位Word格式.docx(29页珍藏版)》请在冰点文库上搜索。
clk输入检测时钟;
reset复位信号;
din原始按键信号输入;
dout去抖动输出信号。
VHDL源码如下:
LIBRARYieee;
USEieee.std_logic_1164.all;
USEieee.std_logic_unsigned.all;
ENTITYxiaodIS
PORT
(
clk:
INSTD_LOGIC;
reset:
din:
dout:
OUTSTD_LOGIC
);
ENDENTITY;
ARCHITECTURERTLOFxiaodIS
TYPEstateIS(s0,s1,s2,s3);
SIGNALpre_s,next_s:
state;
BEGIN
P0:
PROCESS(reset,clk)
BEGIN
ifreset='
0'
thenpre_s<
=s0;
elsifrising_edge(clk)thenpre_s<
=next_s;
elsenull;
endif;
ENDPROCESSP0;
P1:
PROCESS(pre_s,next_s,din)
casepre_sis
whens0=>
dout<
='
1'
;
ifdin='
thennext_s<
elsenext_s<
=s1;
whens1=>
dout<
=s2;
whens2=>
=s3;
whens3=>
endcase;
ENDPROCESSP1;
ENDRTL;
多按键去抖动电路VHDL源码,按键个数参数化,每个按键处理调用了上面的模块:
USEieee.std_logic_arith.all;
ENTITYNxiaodIS
GENERIC(width:
positive:
=5);
INSTD_LOGIC_VECTOR(width-1DOWNTO0);
OUTSTD_LOGIC_VECTOR(width-1DOWNTO0)
ARCHITECTURERTLOFNxiaodIS
COMPONENTxiaodIS
ENDCOMPONENT;
g1:
FORiIN0towidth-1GENERATE
ux:
xiaodportmap(clk=>
clk,reset=>
reset,din=>
din(i),dout=>
dout(i));
ENDGENERATE;
2、TTL电平与CMOS电平的区别
TTL电平信号被利用的最多是因为通常数据表示采用二进制规定,+5V等价于逻辑"
1"
,0V等价于逻辑"
0"
,这被称做TTL(晶体管-晶体管逻辑电平)信号系统,这是计算机处理器控制的设备内部各部分之间通信的标准技术。
TTL电平信号对于计算机处理器控制的设备内部的数据传输是很理想的,首先计算机处理器控制的设备内部的数据传输对于电源的要求不高以及热损耗也较低,另外TTL电平信号直接与集成电路连接而不需要价格昂贵的线路驱动器以及接收器电路;
再者,计算机处理器控制的设备内部的数据传输是在高速下进行的,而TTL接口的操作恰能满足这个要求。
TTL型通信大多数情况下,是采用并行数据传输方式,而并行数据传输对于超过10英尺的距离就不适合了。
这是由于可靠性和成本两面的原因。
因为在并行接口中存在着偏相和不对称的问题,这些问题对可靠性均有影响;
另外对于并行数据传输,电缆以及连接器的费用比起串行通信方式来也要高一些。
什么是TTL电平,什么是CMOS电平,他们的区别
(一)TTL高电平3.6~5V,低电平0V~2.4V
CMOS电平Vcc可达到12V
CMOS电路输出高电平约为0.9Vcc,而输出低电平约为
0.1Vcc。
CMOS电路不使用的输入端不能悬空,会造成逻辑混乱。
TTL电路不使用的输入端悬空为高电平
另外,CMOS集成电路电源电压可以在较大范围内变化,因而对电源的要求不像TTL集成电路那样严格。
用TTL电平他们就可以兼容
(二)TTL电平是5V,CMOS电平一般是12V。
因为TTL电路电源电压是5V,CMOS电路电源电压一般是12V。
5V的电平不能触发CMOS电路,12V的电平会损坏TTL电路,因此不能互相兼容匹配。
(三)TTL电平标准
输出L:
<
0.8V;
H:
>
2.4V。
输入L:
1.2V;
2.0V
TTL器件输出低电平要小于0.8V,高电平要大于2.4V。
输入,低于1.2V就认为是0,高于2.0就认为是1。
CMOS电平:
0.1*Vcc;
0.9*Vcc。
0.3*Vcc;
0.7*Vcc.
一般单片机、DSP、FPGA他们之间管教能否直接相连.一般情况下,同电压的是可以的,不过最好是要好好查查技术手册上的VIL,VIH,VOL,VOH的值,看是否能够匹配(VOL要小于VIL,VOH要大于VIH,是指一个连接当中的)。
有些在一般应用中没有问题,但是参数上就是有点不够匹配,在某些情况下可能就不够稳定,或者不同批次的器件就不能运行。
例如:
74LS的器件的输出,接入74HC的器件。
在一般情况下都能好好运行,但是,在参数上却是不匹配的,有些情况下就不能运行。
TTL与COMS电平使用区别
1、电平的上限和下限定义不一样,CMOS具有更大的抗噪区域。
同是5伏供电的话,ttl一般是1.7V和3.5V的样子,CMOS一般是
2.2V,2.9V的样子,不准确,仅供参考。
2、电流驱动能力不一样,ttl一般提供25毫安的驱动能力,而
CMOS一般在10毫安左右。
3、需要的电流输入大小也不一样,一般ttl需要2.5毫安左右,CMOS
几乎不需要电流输入。
4、很多器件都是兼容ttl和CMOS的,datasheet会有说明。
如果不考虑
速度和性能,一般器件可以互换。
但是需要注意有时候负载效应可能
引起电路工作不正常,因为有些ttl电路需要下一级的输入阻抗作为
负载才能正常工作。
TTL——Transistor-TransistorLogic
HTTL——High-speedTTL
LTTL——Low-powerTTL
STTL——SchottkyTTL
LSTTL——Low-powerSchottkyTTL
ASTTL——AdvancedSchottkyTTL
ALSTTL——AdvancedLow-powerSchottkyTTL
FAST(F)——FairchildAdvancedschottkyTTL
CMOS——Complementarymetal-oxide-semiconductor
HC/HCT——High-speedCMOSLogic(HCT与TTL电平兼容)
AC/ACT——AdvancedCMOSLogic(ACT与TTL电平兼容)(亦称ACL)
AHC/AHCT——AdvancedHigh-speedCMOSLogic(AHCT与TTL电平兼容)
FCT——FACT扩展系列,与TTL电平兼容
FACT——FairchildAdvancedCMOSTechnology,其
1,TTL电平:
输出高电平〉2.4V输出低电平〈0.4V
在室温下,一般输出高电平是3.5V输出低电平是0.2V。
最小输入高电平和低电平
输入高电平〉=2.0V输入低电平《=0.8V
它的噪声容限是0.4V.
2,CMOS电平:
逻辑电平电压接近于电源电压,0逻辑电平接近于0V。
而且具有很宽的噪声容限。
3,电平转换电路:
因为TTL和COMS的高低电平的值不一样(ttl5vcmos3.3v),所以互相连接时需
要电平的转换:
就是用两个电阻对电平分压,没有什么高深的东西。
4,OC门,即集电极开路门电路,OD门,即漏极开路门电路,必须外界上拉电阻和电源才能
将开关电平作为高低电平用。
否则它一般只作为开关大电压和大电流负载,所以又叫做驱
动门电路。
5,TTL和COMS电路比较:
1)TTL电路是电流控制器件,而coms电路是电压控制器件。
2)TTL电路的速度快,传输延迟时间短(5-10ns),但是功耗大。
COMS电路的速度慢,传输延迟时间长(25-50ns),但功耗低。
COMS电路本身的功耗与输入信号的脉冲频率有关,频率越高,芯片集越热,这是正常
现象。
3)COMS电路的锁定效应:
COMS电路由于输入太大的电流,内部的电流急剧增大,除非切断电源,电流一直在增大
。
这种效应就是锁定效应。
当产生锁定效应时,COMS的内部电流能达到40mA以上,很容易
烧毁芯片。
防御措施:
1)在输入端和输出端加钳位电路,使输入和输出不超过不超过规定电压。
2)芯片的电源输入端加去耦电路,防止VDD端出现瞬间的高压。
3)在VDD和外电源之间加线流电阻,即使有大的电流也不让它进去。
4)当系统由几个电源分别供电时,开关要按下列顺序:
开启时,先开启COMS电路得电
源,再开启输入信号和负载的电源;
关闭时,先关闭输入信号和负载的电源,再关闭COMS
电路的电源。
6,COMS电路的使用注意事项
1)COMS电路时电压控制器件,它的输入总抗很大,对干扰信号的捕捉能力很强。
所以
,不用的管脚不要悬空,要接上拉电阻或者下拉电阻,给它一个恒定的电平。
2)输入端接低内组的信号源时,要在输入端和信号源之间要串联限流电阻,使输入的
电流限制在1mA之内。
3)当接长信号传输线时,在COMS电路端接匹配电阻。
4)当输入端接大电容时,应该在输入端和电容间接保护电阻。
电阻值为R=V0/1mA.V0是
外界电容上的电压。
5)COMS的输入电流超过1mA,就有可能烧坏COMS。
7,TTL门电路中输入端负载特性(输入端带电阻特殊情况的处理):
1)悬空时相当于输入端接高电平。
因为这时可以看作是输入端接一个无穷大的电阻。
2)在门电路输入端串联10K电阻后再输入低电平,输入端出呈现的是高电平而不是低电
平。
因为由TTL门电路的输入端负载特性可知,只有在输入端接的串联电阻小于910欧时,
它输入来的低电平信号才能被门电路识别出来,串联电阻再大的话输入端就一直呈现高电
这个一定要注意。
COMS门电路就不用考虑这些了。
8,TTL电路有集电极开路OC门,MOS管也有和集电极对应的漏极开路的OD门,它的输出就叫
做开漏输出。
OC门在截止时有漏电流输出,那就是漏电流,为什么有漏电流呢?
那是因为当三机管截
止的时候,它的基极电流约等于0,但是并不是真正的为0,经过三极管的集电极的电流也
就不是真正的0,而是约0。
而这个就是漏电流。
开漏输出:
OC门的输出就是开漏输出;
OD
门的输出也是开漏输出。
它可以吸收很大的电流,但是不能向外输出的电流。
所以,为了
能输入和输出电流,它使用的时候要跟电源和上拉电阻一齐用。
OD门一般作为输出缓冲/驱
动器、电平转换器以及满足吸收大负载电流的需要。
9,什么叫做图腾柱,它与开漏电路有什么区别?
TTL集成电路中,输出有接上拉三极管的输出叫做图腾柱输出,没有的叫做OC门。
因为TTL就是一个三级关,图腾柱也就是两个三级管推挽相连。
所以推挽就是图腾。
一般图腾式输出,高电平400UA,低电平8MA
1.TTL电路和CMOS电路的逻辑电平
VOH:
逻辑电平1的输出电压
VOL:
逻辑电平0的输出电压
VIH:
逻辑电平1的输入电压
逻辑电平0的输入电压
TTL电路临界值:
VOHmin=2.4VVOLmax=0.4V
VIHmin=2.0VVILmax=0.8V
CMOS电路临界值(电源电压为+5V)
VOHmin=4.99VVOLmax=0.01V
VIHmin=3.5VVILmax=1.5V
2.TTL和CMOS的逻辑电平转换
CMOS电平能驱动TTL电平
TTL电平不能驱动CMOS电平,需加上拉电阻。
3.常用逻辑芯片特点
74LS系列:
TTL输入:
TTL输出:
TTL
74HC系列:
CMOS输入:
CMOS输出:
CMOS
74HCT系列:
CD4000系列:
3、VHDL的任意整数且占空比为50%分频代码
说明如下:
1.其中topfile为division,其中的clk_com是比较的频率,用它来和分频后波形进行比较,便于观察,
2.any_enve为任意偶数分频文件
3.any_odd为任意奇数分频文件
4.是一个用于2进制与8进制的译码器,我用它来显示在数码管上当前到底是多少分频
5.由于用的是quartus7.1编辑的,中间无法加中文注释;
以下是代码:
------thetopfileofthedesigndivision
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
entitydivisionis
port(input:
instd_logic_vector(7downto0);
clk:
instd_logic;
clk_out:
outstd_logic;
clk_com:
led1:
outstd_logic_vector(6downto0);
led2:
led3:
outstd_logic_vector(6downto0));
endentitydivision;
--------------------------------------------------
architecturefreqofdivisionis
componentdecoderis----decoder
port(bin:
instd_logic_vector(2downto0);
de:
endcomponent;
componentany_evenis----any_even
generic(data_width:
integer:
=8);
port(input1:
instd_logic_vector(data_width-1downto0);
clk_in:
outstd_logic);
endcomponentany_even;
componentany_oddis-----any_odd
=8);
port(input2:
instd_logic_vector(data_width-1downto0);
endcomponentany_odd;
signaltemp1,temp2:
std_logic;
begin
u1:
decoderportmap(bin=>
input
(2)&
input
(1)&
input(0),de=>
led1);
u2:
input(5)&
input(4)&
input(3),de=>
led2);
u3:
'
&
input(7)&
input(6),de=>
led3);
u4:
any_evenportmap(input,clk,temp1);
U5:
any_oddportmap(input,clk,temp2);
process(clk,input)
ifinput(0)='
then
clk_out<
=temp1;
elseclk_out<
=temp2;
endif;
endprocess;
clk_com<
=clk;
endarchitecturefreq;
entityany_evenis
endentityany_even;
architecturediv1ofany_evenis
signalclk_outQ:
std_logic;
signalcoutQ:
std_logic_vector(data_width-1downto0);
-------------------------------------------------
process(clk_in)
ifclk_in'
eventandclk_in='
ifcoutQ<
(conv_integer(input1)-1)then
coutQ<
=coutQ+1;
elsecoutQ<
=(others=>
'
---------------------------------------------------
process(coutQ)
(conv_integer(input1))/2then
clk_outQ<
elseclk_outQ<
clk_out<
=clk_outQ;
endarchitecturediv1;
usei
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL 任意 整数 分频器 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)