码迷,mamicode.com
首页 > 其他好文 > 详细

verilog语法结构

时间:2018-01-16 13:51:34      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:div   src   initial   esc   init   创建   always   alt   类型   

数据流描述方式:
用数据流描述对一个设计建模的最基本方式是连续赋值语句。连续赋值语法assign [delay] LHS_net = RHS_ expression   
技术分享图片

 

技术分享图片
‘timescale 1ns/1ns
module Decoder2_4(A,B,EN,Z);
input A,B,EN;
output [0:3] Z;
wire Abar,Bbar;                                   //线网类型定义两个连线型变量
 
assign #1 Abar = A~;
assign #1 Bbar = B~;
assign #2 Z[0] = (Abar&Bbar&EN);
assign #2 Z[1] = (B&Abar&EN);
assign #2 Z[2] = (A&Bbar&EN);
assign #2 Z[3] = (A&B&EN);
 
连续赋值语句是对电路的数据流行为建模的,连续赋值语句是并发执行的,不是顺序执行的。
 
行为描述方式:行为功能使用过程语句结构描述
1.initial语句:只执行一次
2.always语句:循环执行,此语句重复执行。
只有寄存器类型数据能够在initial和always中被赋值。寄存器类型数据在被赋新值前保持原有值不变所有初始化语句和always语句都在0时刻并发执行。
对1位全加器电路建模:
技术分享图片
 技术分享图片

 

 
module FA_Seq(A,B,Cin,Sum,Cout);
    input A,B,Cin;
    output Sum,Cout;
    reg Sum,Cout;
    reg T1,T2,T3;
    always
    @(A or B or Cin) begin
        Sum = (A ^ B) ^Cin;
        T1  = (A & Cin);
        T2  = (B & Cin);
        T3  = (A & B);
        Cout = (A | B) | C;
        end
endmodule
 
    reg Sum,Cout,T1,T2,T3;在always语句被赋值说明为reg类型,@(A or B or Cin)表示只要A,B,或者Cin只要有一个发生就执行。
在always顺序执行的过程中,过程赋值可以有一个可选的时延。
语句间时延: Sum = (A ^ B) ^ Cin;    #4 T1 = A & Cin;
语句内时延:Sum = #3(A^B)^Cin;
 
initial语句:
‘timescale 1ns/1ns
module Test(Pop,Pid);
     output Pop,Pid;
     reg Pop,Pid;
 
     initial
          begin
               Pop = 0;
               Pid  = 0;
               Pop = #2 5;
               Pid  = #3 5;
          end
endmodule
这个代码是测试代码,initial语句可用于测试时初始化值。

 

结构化描述形式:
1) 内置门原语(在门级); 2) 开关级原语(在晶体管级); 3) 用户定义的原语(在门级); 4) 模块实例 (创建层次结构)通过线网来相互连接
技术分享图片
 
技术分享图片

 

使用内置门原语描述的全加器电路实例
module FA_Str( A,B,Cin,Cout,Sum);
input A,B,Cin;
output Cout,Sum;
wire S1,T1,T2,T3;
 
xor
    X1(S1 ,A ,B),
    X2(Sum ,S1 ,Cin);
and
    A1(T3 ,A ,B),
    A2(T2 ,B ,Cin),
    A3(T1 ,A ,Cin),
or
    01(Cout ,T1 ,T2 ,T3);
endmodule
混合结构描述:
使用多种的上述描述方式对电路结构进行描述

verilog语法结构

标签:div   src   initial   esc   init   创建   always   alt   类型   

原文地址:https://www.cnblogs.com/1mpanda/p/8295804.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!