|
发表于 2010-9-23 18:53:05
|
显示全部楼层
回复 8# meijingguoyu
always @ (posedge clk1 or por) // 产生reset信号
---------这个写法只能仿真,不能综合
if (por)
rst1 <= 1'b1;
else (延迟一段时间)
------ 延迟一段时间这个怎么综合呀?
rst1 <= 1'b0;
....
always @ (posedge clk2) // 让rst1延迟一个clk2
rst2 <= rst1;
------- 时钟域间信号同步的话,至少要两级FF
always @ (posedge clk2 or posedge rst2) // 要用到的CK和RN
......
感觉你的复位信号产生逻辑很奇怪
复位信号产生逻辑生成rst1后,将rst1同步到clk2时钟域的方法:
always @(posedge clk2 or posedge rst1)
if(rst1) {rst2, rff1} <= 2'b1;
else {rst2, rff1} <= {rff1, 1'b0};
具体可以看看附件的文章,专门讲复位的 |
|