求助
我是新手,实在不明白:在verilog hdl中,既然while,repeat,forever语句不能被综合,那还有什么用呢?还有,我要编一段小程序,循环16次,中途如果某个触发条件满足,就退出循环体。不知如何编写?哪位老法师能否给予解答?while repeat forever这些语句是用来写测试验证(写testbench会用到)。其实verilog hdl大部分语句都是不可综合的。真正可综合的语句不多。verilog并不是完全只用来给FPGA编写code的。它还可以用来编写验证模型。可综合语句只是verilog的一个子集而已。verilog可以完成设计、仿真、验证。
至于你说你的code实验,也可以用计数的方式控制触发条件。具体代码得自己写了,祝你成功
:)!!! 具体代码的实现我在这里给你牵引一下:
if(!rst_n)begin
cnt <= 4'd0 ;
loop_end <= 1'b0 ;
...
...
end
else if(trigle0)begin //打断循环
loop_end <= 1'b1;
...
...
end
else if(!loop_end)begin
if(cnt == 4'd15)begin //执行16次。期间如有trigle0触发则打断
cnt <= 4'd15;
loop_end <= 1'b1 ;
end
else begin
cnt <= cnt + 1;
loop_end <= 1'b0 ;
end
end
else begin
cnt <= cnt ;
loop_end <= loop_end ;
...
...
end
页:
[1]