找回密码
 注册
关于网站域名变更的通知
查看: 292|回复: 1
打印 上一主题 下一主题

关于同步电路中的时钟(clock)使能信号的问题

[复制链接]
  • TA的每日心情
    开心
    2019-11-20 15:00
  • 签到天数: 2 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2019-12-15 18:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    关于同步电路中的时钟(clock)使能信号的问题
    % c5 y; I4 F$ U+ D
    9 `/ b" ]- x' t$ g/ G3 m% o
    所谓同步电路,就是指在时钟信号有效时,来捕捉电路的输入信号和输出信号,规范电路的状态变化.
    . K& {0 o( {8 I( ~1 r因此,在同步电路设计中,时钟信号是至关重要的.但是,直接的门控时钟来控制电路的状态变化,由于各种原因造成的时钟信号的毛刺,将直接影响电路的正常工作,特别对于告诉的FPGA的结构,会影响电路逻辑的正常响应.因此,在电路结构中,增加时钟使能信号,是非常重要的.& |3 ?' I) f7 y# X% l; G( H

    , O7 a, B9 {' }3 x% A+ b7 B当在设计中需要多重时钟时,时钟使能也可用来维护电路状态变化的同步性.% H' B: H1 [6 J) l. s3 ]
    那么问题来了~~0 I8 w7 P* x% H2 f, b9 u
    1.在用VHDL设计同步电路的时候,有没有什么标志性的地方,或者说有没有什么特别要注意的地方?) W' e2 m  c- U
    比如,在一个Process中,敏感向量表中只存在复位和时钟信号(有必要么)?3 K) o7 O; j% l" L  B' g

    ' \. R; W5 A" u$ u! c2 c* s同步电路的明显标志就是寄存器,也就是指在时钟边沿触发的信号!!要注意的就是当一个信号不能被完全赋值时,该信号是否是时钟边沿出发(不是的话,就会很有可能生成锁存器,这是不允许的);有没有生成多余的寄存器,而导致时序错乱!!<br>$ M* V& r% F. o% X
    2.上面的提到的多重时钟是个什么概念9 N; E2 B% \9 s- F% i: t' _5 d; c7 Y0 v! M* [
    / s& T* c; z* y
    按照你所说的。多重时钟就是指多种时钟频率的时钟。一方面有可能是外部输入的,例如同步串口的接收时钟与工作时钟;二来,有可能是由工作时钟分频产生的。前者以该用相对高速的工作时钟采样输入的同步时钟,而产生使能信号来寄存输入数据;而后者则应该通过计数器生成一个单时钟脉冲作为使能信号。<br>
    / y5 r& T( j( l( w  a0 c* G- w, w1 C( p4 m$ f, p
    3.我看到一个时钟使能的一段代码,不知道是否正确?
    8 G8 x( b9 G3 G4 K; u. W; z-- Registers read/write strobes, B/ r, l2 Z& i2 Z: m* F4 |
    ThrWRn_r &lt;= '1' when (Reset='1') else WRn_cs when (ADDR_s=A_THR) else '1';6 ^4 f' a- d8 Z7 X0 w2 ]5 g

    # n) ?8 {5 K( p5 d$ n
    , s: x7 b( s, r# P( q" ]
    8 A* ^' V$ \+ T% [- }$ c2 o  i-- Delayed signals for rising EDGE dectection
    , V8 d6 O5 S" c  WDelay_Signals_Proc: process(Clk16X, Reset)& M; h9 b- Y. z4 M! D7 T
    begin' P- ^1 z, e& n; V- ~9 |
    &nBSP; if (Reset='1') then
    0 p( V' s2 o0 z9 M- O, G  ThrWRn1_r &lt;= '1';
    7 o( c- K! \* ]+ v/ {  ThrWRn2_r &lt;= '1';
    4 n- U2 e$ p/ t$ r- W
    3 d" }) T4 Z+ M! V0 @! ^0 J) U/ X7 J4 W5 b, p

    + L; w5 K$ G! c% w8 [8 K8 {& P4 }9 ^% t1 l
    elsif rising_edge(Clk16X) then
    1 F* N( P! e+ K/ p, u4 x  -- Signals for rising edge detection of THR write strobe signal ThrWRn_r- k, ?$ f; E# ^" a. C' m
      ThrWRn1_r &lt;= ThrWRn_r;
    ' _5 G) G- s2 ]# F" I7 D( k$ U  ThrWRn2_r &lt;= ThrWRn1_r;; |7 D' B; H( a7 d) o7 c9 X3 V' r

    & F1 R) [1 d! c+ Z) a& _1 }; X5 V4 j1 O. p

    - ~( D% k( |# t! R! X* W-- Rising edge of registers read/write strobes
    5 r6 `  x4 f4 {2 `ThrWRn_re &lt;= ThrWRn1_r and (not ThrWRn2_r); -- rising edge of ThrWRn_r
    . w: V, r+ o+ U3 s/ }- }
    9 J6 ^7 [* \; ]# C' t. q8 ?5 G) Y( q: D1 S& e
    7 M. f- Q. ]0 [& a! q4 B

    ; l& Y5 g1 l, a$ x: ^6 T/ H: y  b, t/ m6 P
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-8-24 19:33 , Processed in 0.093750 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表