集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1059|回复: 2

求助

[复制链接]
pengwenxue 发表于 2014-4-17 10:14:29 | 显示全部楼层 |阅读模式
我是新手,实在不明白:在verilog hdl中,既然while,repeat,forever语句不能被综合,那还有什么用呢?还有,我要编一段小程序,循环16次,中途如果某个触发条件满足,就退出循环体。不知如何编写?哪位老法师能否给予解答?
zhiweiqiang33 发表于 2014-4-17 11:02:44 | 显示全部楼层
while repeat forever这些语句是用来写测试验证(写testbench会用到)。其实verilog hdl大部分语句都是不可综合的。真正可综合的语句不多。verilog并不是完全只用来给FPGA编写code的。它还可以用来编写验证模型。可综合语句只是verilog的一个子集而已。verilog可以完成设计、仿真、验证。
至于你说你的code实验,也可以用计数的方式控制触发条件。具体代码得自己写了,祝你成功
!!!
zhiweiqiang33 发表于 2014-4-17 11:30:00 | 显示全部楼层
具体代码的实现我在这里给你牵引一下:
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 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-6-21 22:39 , Processed in 0.088115 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表