基本时序逻辑电路设计_第1页
基本时序逻辑电路设计_第2页
基本时序逻辑电路设计_第3页
基本时序逻辑电路设计_第4页
基本时序逻辑电路设计_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、第五讲基本时序逻辑电路设计2010年12月基本时序逻辑电路设计A时序逻辑电路的基本知识A时序逻辑电路的VHDL描述同步时序逻辑电路和异步时序逻辑电路A时序逻辑电路的基本知识时序逻辑电路的电路特征:肘序勒路的输出信号不仅取决于勒路旨时 的输入,还取决于电路原来的状态,体现了 “记忆”特性。从勒路行为上讲,不管输入如何变化,仅 当时钟的沿(上升沿或下吟沿丿到达时, 才有可能使输出发生变化。触发器由对钟 信号来触发,控制翻转时刻,而对触发器 翻转到何种状态并无影响。时序逻辑电路的两个基本组成部分:用来计算输入和寄存春的因数值的逻辑 用来椽持肘序逻辑削路状态的存储单元描述时序逻辑电路的基本方式:表达式

2、(输出逻辑表达式、存储单元驱动 表达式、触发器状态方程丿;状态转换图/表;肘序图设计时序逻辑电路的基本方法:寄存赛传输级模矍CRTLJ :根据肘存图把行为描述成奇存赛值的转换 状态机:根据状态转换图/表描述状态机的行为状态转换图寄存器传输级结构分析一个时序电路,就是要找出给定时序电路的逻辑 功能。具体地说,就是要求找出电路的状态和输出状 态在输入变量和时钟信号作用下的变化规律。状态方程输出方程Y = XQ"CX Qn + XQn驱动方程T = X触发器特征方程 °"+1二卩歹+初oXQnQn+iY0010010010001111Kue¥alueo PS1

3、 1 1 1 1 1 1 1 1200? 000 ps1 1 1 1 1 1 1 1 1400,000 ns61 1 1 1 1 1 1 1 100j 000 ps806 000 ps1 1 1 1 1 1 1 1 1I I I L 1 11W1WIriuuiuuuBJWWWIl伽0001in_n_n_n_nJT_ 1J寄存器传输级时序模型 D触发器触发器应用电路计数器设计(同步、异步计数)分频电路设计 电平锁存器时钟信号、获取 边沿触发描述方式: if> wait until, rising_edge, falling_edge同步和非同步复时序逻辑电路的VHDL描述/D触发器:边沿触

4、发的存储设备(FlipFlop)entity dff isPort ( elk : in std_logic;d : in std_logic; q,qn : out std_logic );end dff; architecture Behavioral of dff is signal outp:std_logic;beginqn<=not outp; q<=outp; process beginwait until rising_edge(clk); outp<=d;end process;end Behavioral;dkdff:1fdoutpinvqn_imp_qn

5、1qndff同步D触发器RTL综合结果图同步D触发器仿真结果图可设计 同步削路 延迟勒路A延迟电路entity delay isport( clk9din: in std_logic; dl,d2,dout:out std_logic);end delay;architecture rtl of delay issignal 11 ,t2,tout: std_logic;beginprocess(clk)beginif rising_edge(clk) then tl<=din; t2<=tl; tout<=t2;end if;end process;FDdout<=t

6、out; d2<=t2; dl<=tl; end rtl;Current SimulationTime: 1000 nsr200I I I400I I600I I800I IoJ'doul0Xyen0XQj'd20 ®IPERIOD31:03.厂3200000028訓 DUTY CYCLE0.50.5E3 §slOFFSET31:03.厂32'h00000028切elk0n nnnnninnnnnnnnnim口 i副din0A微分器电路entity diff isport( elk,din: in stdjogic; d15d25up_d

7、iff,dn_diff5up_dn_diff:out stdjogic); end diff;architecture rtl of diff issignal t1,t2:stdjogic;beginprocess(clk)beginif rising_edge(clk) then t1<=din; t2<=t1; end if;end process;d2<=t2; d1<=t1;up_diff<=t1 and not t2;dn_diff<=not t1 and t2;up_dn_diff<=t1 xor t2;end rtl;dn_dif>

8、;DZB1up_dif>Current Simulation Time: 1000 ns0200I400I600800I IoJIdn.ditf0XqJ! up_dn_diff0oJ!up_diff0御CM0qJ!d20XH <PERIOD31:03厂J3200000028<yi DUPCCYCLE0.50.5El <OFFSET31:03.厂J3200000028划! elk0rLFLTVmWmp_njTjrm釧din0JFTPT触发器|PRE>-PREIQIUFE>AND3CXQn0+1Y00100100100()1111E>输出方程Y = XQH

9、C状态方程Qn+ = XQ + XQnentity testservhdl isPort ( C : in stdogic;X : in stdjogic;Y : out stdogic; PRE : in stdjogic); end testservhdl;architecture Behavioral of testservhdl is signal q,t:stdJogic;begint<=not X;Y<=q and C and X;process begin if PRE=fVthen qv=T; elsif rising_edge(C) then if t=fr th

10、en q<=not q; else q<=q; end if; end if;end process; end Behavioral;testservhdtl同步时序逻辑电路与异步时序逻辑电路根据电路中各级触发器时钟端的连接方式同步时序电路设计各触发器的时钟端全部连接到同一个时钟源上,统一受 系统时钟的控制,各级触发器的状态变化是同时的。异步时序电路设计各触发器的时钟信号是分散连接的,因此触发器的状态 变化不是同时进行的。1 同步时序电路设计1)同步时序电路原理说明从构成方式上讲,同步时序电路所有操作都是在同一时钟严 格的控制下步调一致地完成的。从电路行为上讲,同步电路的 时序电路

11、共用同一个时钟,而所有的状态变化都是在时钟的上 升沿(或下降沿)完成的。口在VHDL实现时并不要求同一时钟,而是同源时钟。所谓的同 源时钟是指同一个时钟源衍生频率比值为2的需次方,且初相位 相同的时钟。2)同步时序电路的VHDL描述同步与门的描述entity syngate isport ( elk : in stdogic; a : in stdogic; b : in stdogic; y : out stdjogic);end syngate;/1、敏感信号只能是时钟信号;2、时钟信号必须是同源的3、时钟只能使用一个跳变沿architecture behavioral m syngate

12、 is 同步复位的描述 begin/process(clk) /if rising_edge(clk) thebeginif rst_n=l0, thenif rising_edge(clk) theny<=a and b;elseend if;.end process;endif;end Behavioral;end if;具有同步 复位功能 的同步与 门的描述entity syngate isport ( elk : in stdjogic; a : in stdogic; b : in stdjogic;rst_n:in stdogic; y : out stdogic); end

13、 syngate;architecture Behavioral of syngate is beginprocess(clk) begin if rising_edge(clk) then if rst_F=O then yv=O else y<=a and b;end if; end if;end process;end Behavioral;syngate:!and2nrst n inv imp rst n mv1H MMWI WH Hy andOOOO imp y andDOOOl复位信号rst_n 过D触发器的控制 端来实现。syngate:!syngate:!RTL综合结果图

14、3)同步时序电路的设计准则单肘钟策略.单肘钟沿策略口尽量在设计中使用单时钟,在单时钟设计中,很容易就将整 个设计同步于驱动时钟,使设计得到简化。口尽量避免使用混合时钟沿来采样数据或驱动电路。使用混合 时钟沿将会使静态时序分析复杂,并导致电路工作频率降低。下。一个process的双时钟边缘描述方法:process(clk) begin对于可编程逻辑器件,不推荐同时使用 同一信号的两个沿。这是因为器件内部 的时钟处理电路,只能保证时钟的一个 沿具有非常好的指标,而另外一个沿的 抖动、偏斜以及过渡时间等指标都不保 证,因此同时采用两个沿会造成时钟性 能的恶化。end process;二个proces

15、s的双时钟边缘描述方法:process(clk) beginif rising_edge(clk) then- end if;end process; process(clk) begin if fallingedge(clk) then- end if;end process;推荐首先将虑对钟僖频,然后利用单沿对削路进行操作。利用混合时钟先 后完成输入数据 的下降沿和上升 沿采样,并级联 输出entity dualedge isport (input: in stdjogic_vector (7 downto 0); outputl : out stdjogic_vector (7 down

16、to 0); output2 : out stdogic_vector (7 downto 0); elk : in stdjogic);end dualedge;architecture Behavioral of dualedge is signal dt:stdogic_vector(7 downto 0);begin outputl <=dt; process(clk) beginif rising_edge(clk) then dt<=input; end if;end process;process(clk)beginif falling_edge(clk) then

17、output2<=dt; end if;end process;end Behavioral;dualedge :1避免使用门控时钟口如果一个时钟节点由组合逻辑驱动,那么就形成了门控时钟。门控时钟常用来减少功耗。FDFD门控时钟相关的逻辑不是同步电路,即可能带有毛刺,而任何的 一点点小毛刺都可以造成D触发器误翻转。门控逻辑会污染时钟质量,产生毛刺,并恶化偏移和抖动等指标。 口减少功耗的方法是:低核电压FPGA、FPGA休眠技术以及动态部分 重构技术等laaeValue0 rsi i i i 1 i i i i10, 000 rs1 1 1 1 1 1 1 1 120, 000 psi i

18、 i i 1 i i i i30, 000 psi i i i 1 i i i i40, 000 psi i i i 1 iw clk1II轉 input7:005t 01:02 :03 ):04 J;05圈 out put 17:0055 X 0L X 02X03> 01* r圈 out put 2 7:004(013(02 ):031im混合时钟边缘采样功能仿真图Current Simulation Time: 1000 nsjns25 nsI I15CIns 175nsI I I I I I I20(Ins I225 I InsI I250 ns I I275 ris 300 ns

19、 325 n I I Illi Illi5I350 ns 375 ns 4C I I I I I I Illininput7:08,hF4F4 XX8tF7 X8MF8 X8*hF9%8'hFAX8怖日X&hFCXS'hFDXs'hFE )L闕clk1rLa outputi 7:08TiF3ThF3j #hF4 Xj'hF弓乂汕F6关8怖7乂汕刊)$hF9j(汕魚乂汕闪冶怖匚丿 汕FDjxhFE乂a Eoutput27:0S'hOO : G R I 0K0 ILG JK G jyiclkperiod20000000混合时钟边缘采样时序仿真图避免在

20、子棋块内部使用计数器分频产生所需时钟口各个模块内部各自分频会导致时钟管理混乱,不仅使得时序 分析变得复杂,产生较大的时钟漂移,并且浪费了宝贵的时序 裕量,降低了设计可靠性。口推荐的方式是由一个专门的子模块来管理系统时钟,产生其他模 块所需的各个时钟信号。具有异步 复位功能 的同步与 门的描述entity asyngate is port ( elk : in stdjogic; a : in stdogic; b : in stdjogic;rst_n:in stdogic;y : out stdjogic);end asyngate;architecture Behavioral of as

21、yngate is beginprocess(clk5rst_n)beginif rst_n=,0, then y<=,0,;elsif rising_edge(clk) then y<=a and b;end if;end process;end Behavioral;asynstand*!RTL综合结果图VueValue逼elk0111111111 OOj 000 psIlli150i 000 psiiii200j 000 psiiii250j 000 dsiiiuuinJirLTLTLrJUIRJITTLnrmJinn111异步复位与门仿真结果图2.异步时序电路设计1)异步时序电路原理说明异步时序电路,顾名思义就是电路的工作节奏不一致,不存在 单一的主控时钟,电路状态的改变由外部输入的变化直接引起。主要是用于产生地址译码器、FIFO和异步RAM的读写控制信号脉 冲。除可以使用带时钟的触发器外,还可以使用不带时钟的触发器 和延迟元件作为存储元件。由于异步电路没有统一的时钟,状态变化的时刻是不稳定的,通 常输入信号只在电路处于稳定状态时

温馨提示

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

评论

0/150

提交评论