|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
初学FPGA,可能问题比价弱智,望指教
ex05中包含count和decoder
==========================
ex05中的代码:
module ex05(clk,rst,y);
input clk,rst;
output[4:0] y;
wire[2:0] i;
count ct1
(
.clk(clk),
.rst(rst),
.q(i)
);
decoder dr1
(
.i(i),
.y(y)
);
endmodule
==========================
count中的代码:
module count(clk,rst,q);
input clk,rst;
output[2:0] q;
reg[2:0] q;
always@(posedge clk or negedge rst)
if(rst == 0)
q<=3'b000;
else if(q<3'b100)
q<=q+3'b001;
else
q<=3'b000;
endmodule
==========================
decoder中的代码:
module decoder(i,y);
input[2:0] i;
output[4:0] y;
reg[4:0] y;
always@(i) //如果这里改为always,当调用modelsim做仿真的时候就出不了波形,好像会卡住一样
egin
case(i)
3'b000:y[4:0]=5'b00001;
3'b001:y[4:0]=5'b00010;
3'b010:y[4:0]=5'b00100;
3'b011:y[4:0]=5'b01000;
3'b100:y[4:0]=5'b10000;
default:y[4:0]=5'b00001;
endcase
end
endmodule
===========================
testbench里面就是一个rst还有clk,没别的,问题就处在decoder的always那里,似乎必须要给出条件,不知为何 |
|