这个verilog有问题求大神帮忙

这个verilog有问题求大神帮忙module paoma(clk1,out,fangxiang,shijian);input clk1,fangxiang;
input[4:0] shijian;
output[11:0] out;
reg[11:0] out;
integer t;
initialt=0;
always@(posedge clk)
begin if(fangxiang==0&&shijian>5'd10)
begin
case(t)
0:out=12'b000000000001;
1:out=12'b000000000010;
2:out=12'b000000000100;
3:out=12'b000000001000;
4:out=12'b000000010000;
5:out=12'b000000100000;
6:out=12'b000001000000;
7:out=12'b000010000000;
8:out=12'b000100000000;
9:out=12'b001000000000;
10:out=12'b010000000000;
11:out=12'b100000000000;
12:begin t=-1;
out=12'b000000000000;
end
endcase
t=t+1;
endelse if(fangxiang==1&&shijian>5'd10)
begin
case(t)
0:out=12'b100000000000;
1:out=12'b010000000000;
2:out=12'b001000000000;
3:out=12'b000100000000;
4:out=12'b000010000000;
5:out=12'b000001000000;
6:out=12'b000000100000;
7:out=12'b000000010000;
8:out=12'b000000001000;
9:out=12'b000000000100;
10:out=12'b000000000010;
11:out=12'b000000000001;
12:begin t=-1;
out=12'b000000000000;
end
endcase
t=t+1;
endelse
begin
out=12'b000000000000;
t=0;
end
endendmodule

几点错误

    RTL ä»£ç ä¸èƒ½å‡ºçŽ° integer å’Œ initial

    寄存器要用<= 赋值,说明你还不懂时序

    时序的always的敏感列表只能有clock和reset

    组合逻辑的always的敏感列表才能有信号

    一个always块 , 等式左边只有一个变量

追问

到我需要定义一个变量为我工作,用什么语句定义呢?

但

追答

寄存器用 reg声明,然后 always@(posedge clock or negedge reset),用<=赋值

组合逻辑 用wire 声明 用assign赋值

就这么简单

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-06-10
你这个是有问题,但也得说明你具体遇到的问题是什么?比如编译没通过,语法错误,仿真出错等等,首先看语法应该是没什么问题,如果只是用于测试module。如果是要综合,那么有的语法就不能用了。
相似回答