集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2816|回复: 6

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

[复制链接]
CHA 发表于 2010-6-27 23:30:47 | 显示全部楼层 |阅读模式
本帖最后由 fpgaw 于 2010-7-6 05:35 编辑

所谓同步电路,就是指在时钟信号有效时,来捕捉电路的输入信号和输出信号,规范电路的状态变化.
因此,在同步电路设计中,时钟信号是至关重要的.但是,直接的门控时钟来控制电路的状态变化,由于各种原因造成的时钟信号的毛刺,将直接影响电路的正常工作,特别对于告诉的FPGA的结构,会影响电路逻辑的正常响应.因此,在电路结构中,增加时钟使能信号,是非常重要的.

当在设计中需要多重时钟时,时钟使能也可用来维护电路状态变化的同步性.

我的问题是:
1.在用VHDL设计同步电路的时候,有没有什么标志性的地方,或者说有没有什么特别要注意的地方?
比如,在一个Process中,敏感向量表中只存在复位和时钟信号(有必要么)?

2.上面的提到的多重时钟是个什么概念,请高手举个例子给小弟看看

3.我看到一个时钟使能的一段代码,不知道是否正确?
-- Registers read/write strobes
ThrWRn_r <= '1' when (Reset='1') else WRn_cs when (ADDR_s=A_THR) else '1';



-- Delayed signals for rising edge dectection
Delay_Signals_Proc: process(Clk16X, Reset)
begin
  if (Reset='1') then
  ThrWRn1_r <= '1';
  ThrWRn2_r <= '1';




elsif rising_edge(Clk16X) then
  -- Signals for rising edge detection of THR write strobe signal ThrWRn_r
  ThrWRn1_r <= ThrWRn_r;
  ThrWRn2_r <= ThrWRn1_r;



-- Rising edge of registers read/write strobes
ThrWRn_re <= ThrWRn1_r and (not ThrWRn2_r); -- rising edge of ThrWRn_r



请高手指教
usb 发表于 2010-6-28 01:12:55 | 显示全部楼层
期待高手的解答??
encounter 发表于 2010-6-28 01:45:41 | 显示全部楼层
新手发表看法:<br>
1.同步设计需要避免或者注意的东西有:Combinatioanl Loop,Latch,Gating clock,Generated clock;<br>
2.多重时钟就是设计中包含多个不同频率的时钟,它们控制不同的Block。这时候要处理好模块间的接口,或者说不同时钟域的数据传输问题。
usd 发表于 2010-6-28 03:35:56 | 显示全部楼层
我来发表点意见吧。<br>
1、同步电路的明显标志就是寄存器,也就是指在时钟边沿触发的信号!!要注意的就是当一个信号不能被完全赋值时,该信号是否是时钟边沿出发(不是的话,就会很有可能生成锁存器,这是不允许的);有没有生成多余的寄存器,而导致时序错乱!!<br>
2、按照你所说的。多重时钟就是指多种时钟频率的时钟。一方面有可能是外部输入的,例如同步串口的接收时钟与工作时钟;二来,有可能是由工作时钟分频产生的。前者以该用相对高速的工作时钟采样输入的同步时钟,而产生使能信号来寄存输入数据;而后者则应该通过计数器生成一个单时钟脉冲作为使能信号。<br>
3、你所给出的例子没错。可能是你没有完整表述吧,但思路是对的!!
inter 发表于 2010-6-28 03:42:23 | 显示全部楼层
好啊!!!!收下先!!!!
HDL 发表于 2010-6-28 05:35:51 | 显示全部楼层
第一问题,就我目前的理解是必要的。规范代码才能够保证综合后电路与所设想的电路保持一致。
ngtim 发表于 2010-6-28 06:03:35 | 显示全部楼层
同意楼上的说法!好多规范都是公司以前遇到问题时总结出来的东西,有必要遵循!以免犯错!
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-24 09:24 , Processed in 0.063971 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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