微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > verilog程序,敬请高人指点

verilog程序,敬请高人指点

时间:10-02 整理:3721RD 点击:
本人是初学者,编了个小程序,在muxplus ii中能够通过编译,但是在仿真波形时没有输入信号出现,敬请高人指点,谢谢。
module carry_lookahead(A,B,Sum,Cout);
parameter number=8;  //define constant number
output[number-1:0] Sum;
output Cout;
input[number-1:0] A,B;
reg Cout;
reg[number-1:0] Sum;
reg[number-1:0] gen ,pro;// define two middle varible
reg[number-1:0] temp_Cout;//define cout's middle varible
integer N,M;
always @(A or B)
begin
for(N=0;N<number;N=N+1)
  begin
    pro[N]<=!A[N]&&B[N]+!B[N]&&A[N] ;
    gen[N]<=A[N]&&B[N];
    Sum[N]<=!pro[N]&&temp_Cout[N]+!temp_Cout[N]&&pro[N] ;
  end
end
always @(A or B)
begin
temp_Cout[0]<=0;
for(M=1;M<number;M=M+1)
  temp_Cout[M]<=gen[M-1]+pro[M-1]&&temp_Cout[M-1];
  Cout<=temp_Cout[7];
end
endmodule

小第也曾碰到过这问题,麻烦哪位高手帮帮忙.感激不尽!

你这个应该只是个设计的顶层。应该没有加过激励吧。
而且你的代码风格上应该问题不少。最好还是去找本coding rule一类的书先看一下。

代码中没有激励,自然没有仿真波形.

呵呵,随便找本verilog的教程看看吧

连INPUT都没有,哪有OUTPUT哦?
简单的说,你连A B是什么数都没有告诉代码,程序怎么动哦?

输入信号需要你在仿真的时候手工添加激励信号  或者写一个testbench文件来产生激励信号。
在编写可综合的verilog代码时最好不要用for循环。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top