首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

关于FOR语句的问题

关于FOR语句的问题

用什么方法可以使for循环按照时钟的节拍运行?


比较:


(1)always@(posedge clk)                                              


begin


  for(i=0;i<=1024;i=i+1)


       mem=i;


end


这样写能否按照时钟的节拍对mem赋值呢?下面的(2)呢?哪个行?为什么?


(2)initial


begin


for(i=0;i<=1024;i=i+1)


     begin


        mem=i;


    always@(posedge clk)


     end


 

两种写法都可以对men赋值;
只有1能按照时钟节拍进行赋值;
2里面的写法是用在仿真中的,实际电路中的硬件没有节拍或者时间的概念;
for和c里面的基本一样,如果作为硬件来说,个人觉得写成:
if(i<1024)
begin
mem=i;
i=i+1;
end
else
mem=mem;
更容易和时钟节拍在理解上挂上钩
美梦成真-->噩梦降临!
哦!!谢谢版主了!!!
补充一点:对于i来说,要定义成integer类型,但是这样的类型是不被hdl编译器所支持的
美梦成真-->噩梦降临!
返回列表