本人非电子类专业,编写verilog程序不是为了应用于FPGA等,一个完全的外行希望得到诸位高手的指教,看看下面的程序为什么会有问题,无法通过modelsim的compile?非常非常感谢了。
module bus(a,b,c,d,e,sc,sd,se);
parameter n=1000;
input[n-1,0] a,b;
output[n-1,0] c,d,e;
output sc,sd,se;
integer i,c1,d1,e1,sc,sd,se;
c1=0;
d1=0;
e1=0;
for (i=0;i<n;i=i+1)
begin
assign c=a&b;
assign d=~a&b;
assign e=~b&a;
if (c) c1=c1+1;
if (d) d1=d1+1;
if (e) e1=e1+1;
assign sc=c1;
assign sd=d1;
assign se=e1;
end
endmodule
程序改为如下就可以了,而且思路比较明了
至于为什么要这样改,还是那本书好好看看吧
module bus(a,b,c,d,e,sc,sd,se);
parameter n=1000;
input[n-1:0] a,b;
output[n-1:0] c,d,e;
reg[n-1:0] c,d,e;
output sc,sd,se;
reg sc,sd,se;
integer i,c1,d1,e1;
// reg c1,d1,e1;
initial
begin
c1=0;
d1=0;
e1=0;
for (i=0;i<n;i=i+1)
begin
c<=a&b;
d<=~a&b;
e<=~b&a;
if (c) c1=c1+1;
if (d) d1=d1+1;
if (e) e1=e1+1;
end
sc=c1;
sd=d1;
se=e1;
end
endmodule
先谢谢了,回去慢慢琢磨.
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |