打印
[FPGA]

verilog快速掌握之程序设计

[复制链接]
886|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shaoyuan02|  楼主 | 2015-5-20 14:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
明德扬设计规范对电路设计做了较高的要求,其目就在于用最简单的代码、最简洁的方式,设计出最易读、最健壮、最高效的Verilog代码。

看过FPGA代码的同学,应该能够发现代码里基本上就是always语句和assign语句,这些就是FPGA的程序。

为了方便同学们学习,明德扬要求同学们只用以下两种结构,即always@(*)和always@(posedge clk  or negedge rst_n )两种。

1)组合逻辑写法

       always@(*)begin

           语句

       end

2)时序逻辑的写法---异步复位时序电路

always@(posedge clk  or negedge rst_n )begin

     if(rst_n==1’b0)begin

         语句   

     end

     else begin

         语句

     end

end



注意,结构是固定的,您所能做的,只是补充“语句”那些行的内容。

组合逻辑的敏感列表是“*”,一定要这个,没有其他可能。always@(a,b,c)是不允许的。

时序逻辑的敏感列表是“posedge clk  or negedge rst_n”,一定是时钟上升沿;一定是时钟信号,绝对不能是非时钟信号;一定是复位下降沿;一定是复位信号,不能是非复位信号。例如这样是不允许的always@(posedge a or negedge rst_n),其中a不是时钟信号。always@(posedge clk or negedge clk)更加不可以。

相关帖子

沙发
hexenzhou| | 2015-5-23 15:03 | 只看该作者
非常好,可是为什么呢?

使用特权

评论回复
板凳
windycraze| | 2015-5-29 10:19 | 只看该作者
mark

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

8

帖子

0

粉丝