基本时序逻辑电路设计docxWord格式文档下载.docx
- 文档编号:20539003
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:19
- 大小:177.86KB
基本时序逻辑电路设计docxWord格式文档下载.docx
《基本时序逻辑电路设计docxWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《基本时序逻辑电路设计docxWord格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。
111111111
200?
000ps
400,000ns6
00j000ps806000ps
111111111IIIL11
W1WI
riuuiuuuB
JWWWI
l■伽
in_n_n_n_
n
JT_」1
J
寄存器传输级时序模型
•D触发器
•触发器应用电路
•计数器设计(同步、异步计数)
分频电路设计电平锁存器
•时钟信号、获取边沿触发
•描述方式:
if>
waituntil,rising_edge,falling_edge
•同步和非同步复
》时序逻辑电路的VHDL描述
/D触发器:
边沿触发的存储设备(Flip・Flop)
entitydffis
Port(elk:
instd_logic;
d:
q,qn:
outstd_logic);
enddff;
architectureBehavioralofdffissignaloutp:
std_logic;
begin
qn<
=notoutp;
q<
=outp;
processbegin
waituntilrising_edge(clk);
outp<
=d;
endprocess;
endBehavioral;
dk
dff:
fd
outp
inv
qn_imp_qn1
qn
dff
同步D触发器RTL综合结果图
同步D触发器仿真结果图可设计同步削路^延迟勒路
A延迟电路
entitydelayis
port(clk9din:
dl,d2,dout:
outstd_logic);
enddelay;
architecturertlofdelayis
signal11,t2,tout:
std_logic;
process(clk)
ifrising_edge(clk)thentl<
=din;
t2<
=tl;
tout<
=t2;
endif;
FD
dout<
=tout;
d2<
dl<
endrtl;
CurrentSimulation
Time:
1000ns
r
200
III
400
II
600
800
oJ'
doul
yen
Qj'
d2
□®
IPERIOD[31:
0]
3...
厂
32^00000028
訓DUTYCYCLE
0.5
E3§
slOFFSET[31:
32'
h00000028
切elk
nnnnnni
nnnnnn
nnni
m□口i
副din
A微分器电路
entitydiffis
port(elk,din:
instdjogic;
d15d25up_diff,dn_diff5up_dn_diff:
outstdjogic);
enddiff;
architecturertlofdiffis
signalt1,t2:
stdjogic;
ifrising_edge(clk)thent1<
=t1;
endif;
d2<
d1<
up_diff<
=t1andnott2;
dn_diff<
=nott1andt2;
up_dn_diff<
=t1xort2;
endrtl;
dn_dif>
DZB1
up_dif>
CurrentSimulationTime:
I
oJIdn.ditf
qJ!
up_dn_diff
oJ!
up_diff
御CM
H^<
PERIOD[31:
3…
<
yiDUPCCYCLE
El^<
OFFSET[31:
划!
elk
rLFLTVmW
m
p_njTjrm
釧din
T触发器
|PRE>
-
PRE
IQ
IUF
E>
AND3
〉C
0+1
()
输出方程Y=XQHC
状态方程Qn+[=XQ^+XQn
entitytestservhdlis
Port(C:
instd」ogic;
X:
Y:
outstd」ogic;
PRE:
instdjogic);
endtestservhdl;
architectureBehavioraloftestservhdlissignalq,t:
stdJogic;
t<
=notX;
Y<
=qandCandX;
processbeginifPRE=fVthenqv=T;
elsifrising_edge(C)thenift=frthenq<
=notq;
elseq<
=q;
endBehavioral;
testservhdtl
>同步时序逻辑电路与异步时序逻辑电路
根据电路中各级触发器时钟端的连接方式
同步时序电路设计
各触发器的时钟端全部连接到同一个时钟源上,统一受系统时钟的控制,各级触发器的状态变化是同时的。
异步时序电路设计
各触发器的时钟信号是分散连接的,因此触发器的状态变化不是同时进行的。
1•同步时序电路设计
1)同步时序电路原理说明
□从构成方式上讲,同步时序电路所有操作都是在同一时钟严格的控制下步调一致地完成的。
从电路行为上讲,同步电路的时序电路共用同一个时钟,而所有的状态变化都是在时钟的上升沿(或下降沿)完成的。
口在VHDL实现时并不要求同一时钟,而是同源时钟。
所谓的同源时钟是指同一个时钟源衍生频率比值为2的需次方,且初相位相同的时钟。
2)同步时序电路的VHDL描述
同步与门的描述
entitysyngateis
port(elk:
a:
b:
y:
outstdjogic);
endsyngate;
/
1、敏感信号只能是时钟信号;
2、时钟信号必须是同源的
3、时钟只能使用一个跳变沿
architecturebehavioralmsyngateis同步复位的描述begin/
process(clk)/ifrising_edge(clk)the
beginifrst_n=l0,then
ifrising_edge(clk)then…
y<
=aandb;
else
...
具有同步复位功能的同步与门的描述
rst_n:
instd」ogic;
outstd」ogic);
endsyngate;
architectureBehavioralofsyngateisbegin
process(clk)beginifrising_edge(clk)thenifrst_F=Othenyv=Oelsey<
and2
n
rstninvimprstnmv1
HMMWIWHH
yandOOOOimpyandDOOOl
复位信号rst_n过D触发器的控制端来实现。
RTL综合结果图
3)同步时序电路的设计准则
单肘钟策略.单肘钟沿策略
口尽量在设计中使用单时钟,在单时钟设计中,很容易就将整个设计同步于驱动时钟,使设计得到简化。
口尽量避免使用混合时钟沿来采样数据或驱动电路。
使用混合时钟沿将会使静态时序分析复杂,并导致电路工作频率降低。
下。
一个process的双时钟边缘描述方法:
process(clk)begin
对于可编程逻辑器件,不推荐同时使用同一信号的两个沿。
这是因为器件内部的时钟处理电路,只能保证时钟的一个沿具有非常好的指标,而另外一个沿的抖动、偏斜以及过渡时间等指标都不保证,因此同时采用两个沿会造成时钟性能的恶化。
二个process的双时钟边缘描述方法:
ifrising_edge(clk)then-■
■■■
process(clk)beginiffallingedge(clk)then-
推荐首先将虑对钟僖频,然后利用单沿对削路进行操作。
利用混合时钟先后完成输入数据的下降沿和上升沿采样,并级联输出
entitydualedgeis
port(input:
instdjogic_vector(7downto0);
outputl:
outstdjogic_vector(7downto0);
output2:
outstd」ogic_vector(7downto0);
elk:
enddualedge;
architectureBehavioralofdualedgeissignaldt:
std」ogic_vector(7downto0);
beginoutputl<
=dt;
process(clk)begin
ifrising_edge(clk)thendt<
=input;
iffalling_edge(clk)thenoutput2<
dualedge:
避免使用门控时钟
口如果一个时钟节点由组合逻辑驱动,那么就形成了门控时
钟。
门控时钟常用来减少功耗。
□门控时钟相关的逻辑不是同步电路,即可能带有毛刺,而任何的一点点小毛刺都可以造成D触发器误翻转。
□门控逻辑会污染时钟质量,产生毛刺,并恶化偏移和抖动等指标。
口减少功耗的方法是:
低核电压FPGA、FPGA休眠技术以及动态部分重构技术等
laae
Value
0rs
iiii1iiii
10,000rs
20,000ps
30,000ps
40,000ps
iiii1i
wclk
II
►
轉input[7:
05
t01:
[02:
:
03)
04J
;
圈output1[7:
5X0
LX0
2X0
3>
[0
*r
圈output2[7:
04
(013
(02)
031
im
混合时钟边缘采样功能仿真图
jns
25ns
15C
ns175ns
IIIIIII
20(
nsI
225II
ns
250nsII
275ris300ns325nIIIlliIlli
5
350ns375ns4CIIIIIIIlli
n^input[7:
8,hF4
F4XX8tF7X8MF8X8*hF9%8'
hFAX8怖日X&
hFCXS'
hFDXs'
hFE)
L
闕clk
~L
aoutputi[7:
8TiF3
ThF3j#hF4Xj'
hF弓乂汕F6关8怖7乂汕刊)$hF9j(汕魚乂汕闪冶怖匚丿汕FDjx^hFE乂
aE^output2[7:
S'
hOO
□:
GRI0K
0IL」GJK}G「
jyiclk^period
20000000
混合时钟边缘采样时序仿真图
避免在子棋块内部使用计数器分频产生所需时钟
口各个模块内部各自分频会导致时钟管理混乱,不仅使得时序分析变得复杂,产生较大的时钟漂移,并且浪费了宝贵的时序裕量,降低了设计可靠性。
口推荐的方式是由一个专门的子模块来管理系统时钟,产生其他模块所需的各个时钟信号。
具有异步复位功能的同步与门的描述
entityasyngateisport(elk:
y:
endasyngate;
architectureBehavioralofasyngateisbegin
process(clk5rst_n)
ifrst_n=,0,theny<
=,0,;
elsifrising_edge(clk)theny<
asyn「stand*!
Vue
逼elk
1111
1OOj000ps
Illi
150i000ps
iiii
200j000ps
250j000ds
iii
■uuin^
JirLTLTLr
JUIRJIT
TLnrm^
Jinn
异步复位与门仿真结果图
2.异步时序电路设计
1)异步时序电路原理说明
□异步时序电路,顾名思义就是电路的工作节奏不一致,不存在单一的主控时钟,电路状态的改变由外部输入的变化直接引起。
□主要是用于产生地址译码器、FIFO和异步RAM的读写控制信号脉冲。
除可以使用带时钟的触发器外,还可以使用不带时钟的触发器和延迟元件作为存储元件。
□由于异步电路没有统一的时钟,状态变化的时刻是不稳定的,通常输入信号只在电路处于稳定状态时才发生变化。
也就是说一个时刻允许一个输入发生变化,以避免输入信号之间造成的竞争冒险。
2)异步时序电路的VHDL描述
□异步电路不使用时钟信号对系统逻辑进行同步,但仍需要对各子系统进行控制,因此采用预先规定的“开始”和“完成”信号或者状态完成逻辑控制。
因此异步电路具有无时钟歪斜问题、低电源消耗等优点。
异步复位的描述
process(clk5rst_n)begin
ifrst_n='
O'
then
-resetproc
elsifrising_edge(clk)thenendif;
3.异步时序电路与同步时序电路的比较
□同步电路可以有效避免毛刺的影响,提高设计可靠性;
□同步电路用计数器或触发器实现延时,可以简化时序分析过程。
异步电路的延时靠门延时来实现,比较难预测;
□同步电路所有动作都在时钟控制下,可以减少工作环境对设计的影响。
异步电路受工作温度、电压等影响,器件时延变化较大,异步电路时序将变得更加苛刻,会导致芯片无法正常工作。
同步电路只要求时钟和数据沿相对稳定,时序要求较为宽松,因此对环境的依赖性较小。
口同步电路的时钟信号必须要分布到电路上的每一个触发器。
过高的信号翻转率使得设计功耗远大于异步电路功耗。
口同步电路最大的可能时钟周期是由电路中最慢的逻辑路径决定的,也就是关键路径。
口从资源使用方面考虑,虽然在ASIC设计中同步电路比异步电路占用的面积大,但是在FPGA中,是以逻辑单元衡量电路面积的,所以同步设计和异步设计相比,也不会浪费太多资源,加上目前的FPGA门数都比较大,在不是万不得已之际,不要使用异步设计。
目前商用的FPGA都是面向同步的电路设计而优化的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 时序 逻辑电路 设计 docx