救助 一个很简单的问题 想不明白
我写了一个简单的程序来证明确实这是个问题,具体见下面。
、
没有带计数的综合
module Lift7( clk,
a,
b
);
//端口类型定义
input clk;
input a;
output b;
//端口数据类型定义
reg b;
reg c; //zhong jian bian lian
//*****************端口和数据定义结束***************************************//
always @ (posedge clk)
begin
c<=a;
begin
if(c)
b<=1;
else
b<=0;
end
end
endmodule
综合结果是

结果应该是正确的。
下面是带了计数的程序:
module Lift7( clk,
a,
b
);
//端口类型定义
input clk;
input a;
output b;
//端口数据类型定义
reg b;
reg c; //zhong jian bian lian
reg count;//jishu
//*****************端口和数据定义结束***************************************//
always @ (posedge clk)
begin
c<=a;
if((count==0)&&(count==1))
begin
count<=count+1;
if(count==1)
begin
count<=0;
if(c)
b<=1;
else
b<=0;
end
end
else
count<=0;
end
endmodule
综合结果是:

也没有那个原理图,只有符号图。这个情况跟我的大作业情况一样,大作业说是中间大部分变量都是常数或什么的给优化掉了,结果就省端口了,没有跟其他的连接。
总结:我就是不明白,这里加个计数为什么结果就是这样了?那么要怎么写计数程序,才能综合出来呢? 大家帮忙看看,这个问题困扰好几天了,好痛苦啊。
if后边条件判断里应该是||而不是&&吧
sorry,看来不是这个问题。我把&&改过来就好了
二楼正解
if((count==0)&&(count==1)) 你这是要闹哪样?
我还想见识个大程序呢!
