本帖最后由 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
请高手指教 |