想为下一个模块产生一个使能信号如何写比较好
本帖最后由 fpgaw 于 2010-7-18 13:37 编辑想为下一个模块产生一个使能信号如何写比较好
按下面的写法会提示一个警告:
set signal should not be driven by combinational logic
`timescale 10ns / 1ns
module teset(
clk,
reset,
dataout);
input clk;
input reset;
output dataout;
reg en;
always @(posedge clk)
if(!reset)
en<=0;
else
en<=1;
assign en=1;
clkgen clkgen(
clk,
reset,
clkout2);
data_out data_out(
clk,
clkout2,
reset,
en,
dataout);
endmodule 把"assign en=1;"这一句取掉.因为只要时钟的上升沿en就为1,而你的assign en=1;这一句直接给en赋值为1,这样是不对的,这样你的reset就失去了作用。修改方法一种是去掉"assign en=1;"另一种是<br>
always @(posedge clk)<br>
if(!reset)<br>
en<=0;<br>
else<br>
en<=1;<br>
把上面的always语句去掉。<br>
在quartusII中combinational logic为组合逻辑反馈,程序是必须要修改的。 没看明白。。。。。
页:
[1]