[Actel FPGA] 关于QII和ACTEL 没有用特殊资源

[复制链接]
1927|5
 楼主| yesiam 发表于 2008-3-23 22:10 | 显示全部楼层 |阅读模式
module&nbsp;tiaoshi(key1,key2,key3,rst,write_en);<br />input&nbsp;&nbsp;key1,key2,key3,rst;<br />output&nbsp;&nbsp;write_en;<br />reg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;write_en;<br />always@(posedge&nbsp;key1&nbsp;or&nbsp;posedge&nbsp;key2&nbsp;or&nbsp;posedge&nbsp;key3&nbsp;or&nbsp;posedge&nbsp;rst)<br />begin<br />if(rst||key3)<br />begin<br />write_en&lt=1'b0;<br />end<br />else<br />begin<br />write_en&lt=1'b1;<br />end<br />end<br />endmodule<br />就上面这段代码不能通过&nbsp;而且不知道是什么原因错误!如果把write_en设为寄存器不输出,能通过综合,否则不能通过.
zlgactel 发表于 2008-3-23 23:31 | 显示全部楼层

您好

你的代码中key1&nbsp;key2&nbsp;没有用到,建议修改代码为<br />module&nbsp;tiaoshi(key1,key2,key3,rst,write_en);<br />input&nbsp;&nbsp;key1,key2,key3,rst;<br />output&nbsp;&nbsp;write_en;<br />reg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;write_en;<br />always@(&nbsp;posedge&nbsp;key3&nbsp;or&nbsp;posedge&nbsp;rst)<br />begin<br />if(rst||key3)<br />begin<br />write_en&lt=1'b0;<br />end<br />else<br />begin<br />write_en&lt=1'b1;<br />end<br />end<br />endmodule
 楼主| yesiam 发表于 2008-3-24 07:50 | 显示全部楼层

不是啊 用到了啊

如果在这样的话&nbsp;write_en&lt=1,就不执行了.我开始的代码就是在key1&nbsp;和&nbsp;key2时&nbsp;执行write_en&lt=1啊!况且就算是改成这样后&nbsp;综合还是不能通过啊1
zlgactel 发表于 2008-3-24 17:20 | 显示全部楼层

您好

上述代码可以在Synplify编译通过,你是否用的是Synplify综合器?
mcuduoduo 发表于 2008-3-24 22:18 | 显示全部楼层

那么多posedge

我的理解:<br />尽管一个always中有2个以上posedge并不违反语法,但是各家DFF的结构都差不多,实现always@(posedge&nbsp;CLK&nbsp;or&nbsp;posedge&nbsp;Reset_)这样典型的异步复位电路没问题,但是物理实现更多posedge实在是太难为EDA工具了。
 楼主| yesiam 发表于 2008-3-28 16:23 | 显示全部楼层

能通过了

能通过了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

63

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部