C++FPGA–(verilog)行为级描述和结构级描述

① 、在动用verilog描述电路时,既可以拓展行为级的叙述,也可以举行结构级的叙述。

      ①行为级描述:侧重对模块行为成效的割肉医疮描述。

      ②结构级描述:侧重对模块内部结构落成的切实可行讲述。

二 、行为级描述

     ①描述体的构成

      ※由多少个相互运转的进度块组成。

      ※进度块由进程语句(initial和always)和块语句(串行块begin-end和互相块fork-join)组成。

      ※块语句由进程赋值语句和高等程序语句构成。

            ◇进度赋值语句:阻塞与非阻塞式赋值。

            ◇高级程序语句:C语言如if-else、case、while、wait等结合。

     ②行为级描述模块的结缘图

    C++ 1

 Verilog Code 

//例:全加器行为级描述
module fadder(sum,a,b,cin);//模块定义
output sum,cout;//端口注解
input a,b,cin;//端口注脚
reg sum,cout;//数据类型注明

always @(a or b or cin)//进度语句
C++,   
    begin//高级程序语句
      sum=a^b^cin;//进程赋值语句
      cout=(a&b)|(b&cin)|(a&cin);//进度赋值语句
    end
endmodule//结束行

 

叁 、结构级描述

    ①描述体的重组

        ※门级描述:对由大旨逻辑门(and、or、not、xor等)互连而成的有着一定意义的电路模块的讲述。

        ※结构级描述:将上述逻辑门用1个个功用模块替换,就开展到一般意义的结构级描述。

    ②结构级描述模块

      例:全加器门级

      C++ 2

 Verilog Code 

//例:全加器结构级描述
module fadder(sum,a,b,cin);//模块定义
    output sum,cout;//端口申明
    input a,b,cin;//端口申明
    /*******门级互连*****/
    xor U0(sum,a,b,cin);
    and U1(net1,a,b);
    and U2(net2,a,cin);
    and U3(net3,b,cin);
    or U4(cout,net1,net2,net3);
endmodule//结束行