duck8880 发表于 2011-2-6 21:01:42

在时钟的上升沿和下降沿都对触发always块好不好?

想写个接口模块,需要把时钟倍频,但是pll已经被占用了。

如果在always块的敏感信号列表里写上时钟的上升沿和下降沿好不好?

听到一个说法是时钟信号的下降沿质量不如上升沿,所以尽量不要使用。

你们有没有写过这种模块?求教下,谢谢。

NJ8888 发表于 2011-2-6 21:28:56

一定要的话是可以写出两个时钟沿的数据输入,但是不是同一个进程

duck8880 发表于 2011-2-6 21:47:23

回复【1楼】888888888888
一定要的话是可以写出两个时钟沿的数据输入,但是不是同一个进程
-----------------------------------------------------------------------

进程指的是always块吗?为什么不能在同一个进程里呢?

h2feo4 发表于 2011-2-6 22:10:31

内部触发器支持双沿触发的器件很少
对一般器件来说,资源使用率要翻倍还不止
时钟频率有多高?如果在100M以下,且对相位没有要求的话,用组合逻辑倍频就是了

duck8880 发表于 2011-2-6 22:20:13

回复【3楼】h2feo4无机酸
内部触发器支持双沿触发的器件很少
对一般器件来说,资源使用率要翻倍还不止
时钟频率有多高?如果在100m以下,且对相位没有要求的话,用组合逻辑倍频就是了
-----------------------------------------------------------------------

时钟频率33M。

组合逻辑倍频的意思是把原时钟,和原时钟做反相后的时钟,都写进敏感信号列表里吗?

suipeng70 发表于 2011-2-7 09:22:06

xilinx的器件可以支持双沿触发。

duck8880 发表于 2011-2-7 09:37:09

回复【5楼】suipeng70
xilinx的器件可以支持双沿触发。

-----------------------------------------------------------------------

我目前用的是Altera的Cyclone,比较老。

suipeng70 发表于 2011-2-7 09:42:44

alwaya @ (posedge clock or negedge clock)应该会报错。
建议用1楼的方法。

h2feo4 发表于 2011-2-7 10:51:09

回复【4楼】duck8880
-----------------------------------------------------------------------

不是
举例
http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_614752LM4TMP.PNG
(原文件名:倍频.PNG)

duck8880 发表于 2011-2-7 11:53:22

回复【8楼】h2feo4无机酸
回复【4楼】duck8880
-----------------------------------------------------------------------
不是
举例

(原文件名:倍频.png)
-----------------------------------------------------------------------

谢谢,CLR是异步清零吧,这个电路的效果是不是在CLK上升沿和下降沿到来时,CLK2X先上升,经过很短的时间后再下降?

那么有几个问题:
1. 这种电路可靠性如何?会不会来不及触发?
2. 如果时钟频率高于100M,这样做会有什么问题?
3. 如果写:alwaya @ (posedge clock or posedge ~clock)是什么结果?是报错还是资源占用很大?
4. 想要倍频时钟,最标准的办法是不是还是PLL?
5. 最后,这累技巧会在什么书上讲啊?

请不吝赐教。

h2feo4 发表于 2011-2-7 13:42:32

回复【9楼】duck8880
-----------------------------------------------------------------------

是的

1:这个电路在典型的低端FPGA上(Spartan-3A)应该能产生一个3ns或更宽的脉冲,足以非常可靠的触发其它电路,我用过比这个窄得多的,也能正确工作

2:如果时钟周期短于该电路输出脉宽的两倍,可能造成丢脉冲。我估计我的图工作到150M还是没问题的,更高难说

3:有些器件能用,有些会报错

4:不一定,看需求

5:很多数字设计的书上会讲用延迟线和异或门来倍频,不过在FPGA中,综合器可能会胡乱优化导致该结构失效,需要较复杂的约束才能保证其可用。8楼的图不加约束就可以稳定工作

duck8880 发表于 2011-2-7 13:53:50

回复【10楼】h2feo4无机酸
-----------------------------------------------------------------------

哦,哈哈,十分感谢。有比较好的讲数字设计技巧的书可推荐吗?

suipeng70 发表于 2011-2-7 14:50:36

2. 如果时钟频率高于100M,这样做会有什么问题?
3. 如果写:alwaya @ (posedge clock or posedge ~clock)是什么结果?是报错还是资源占用很大?
-----------------------------------------------------------------------
首先,不在乎相位是前提条件,你出来的时钟不是50%等占空比的,而且频率越高,占空比偏移越大。
偏移量取决于所用器件的门延迟时间。
这样的结果是:
1:setup 和hold会不会有问题?
2:再偏移加大时,会丢脉冲,也就没办法工作了。
页: [1]
查看完整版本: 在时钟的上升沿和下降沿都对触发always块好不好?