zoukankan      html  css  js  c++  java
  • verilog理解

    1. Verilog HDL语言中的变量只有网线wire和寄存器reg两大类数据类型。
    2. 网线类型表示Verilog HDL结构化元件间的物理连线,它的值由驱动它的源器件的值决定,如果没有驱动源器件连接到网线,网线的缺省值为高阻z。
    3. 寄存器类型表示一个抽象的数据寄存器,它只能在always语句和initial语句中被赋值,并且寄存器变量赋值之后,值会一直被保存下来,只有在下次赋值时才会发生改变。寄存器类型变量的缺省值为x,使用中一般要进行初始化。
    4. Verilog HDL语言的描述主要有数据流描述和行为描述两种方式。数据流描述方式主要用assign语句,建立元器件间的连接。因而assign语句就是“连接”语句。行为描述主要用always结构。在Verilog HDL语言中规定:每个描述语句以“ ;”结束。
    5. 模块的连接方法-->模块的结构中允许将多个模块组织成更大的模块。它的组织方式很像c语言中带有形参数的函数调用。为了说明问题简单,我们用模块来定义逻辑与、或和异或,然后以模块调用的方法来构造半加器,借此来说明模块间的关联方法。
     1 module bjq (    input A,        //定义输入端口A
     2 
     3          input B,        //定义输入端口B
     4 
     5          output Sum,    //定义和输出端口Sum
     6 
     7          output Cout    //定义进位输出端口Cout
     8 
     9         ) ;
    10 
    11 wire  S1,T1;            //定义连接导线
    12 
    13 assign  Cout =T1;        //进位导线连接
    14 
    15 assign  Sum = S1;        //本位和导线连接
    16 
    17 yu yu1 (A, B, T1) ;        //连接调用逻辑与模块
    18 
    19 yihuo yihuo1(A,B,S1);    //连接调用逻辑异或模块
    20 
    21 endmodule
     1 parameter  MON=0,TUE=1,WED=2,THU=3,FRI=4,SAT=5,SUN=6;
     2 
     3 reg  [0:2]  Day;
     4 
     5 integer  Pocket_Money;
     6 
     7 case  (Day)
     8 
     9 TUE:  Pocket_Money=6;           //分支1
    10 
    11 MON,WED:   Pocket_Money=2;    //分支2
    12 
    13 FRI,SAT,SUN: Pocket_Money=7;        //分支3
    14 
    15 default:  Pocket_Money=0;             //分支4
    16 
    17 endcase
  • 相关阅读:
    每天一个linux命令(54):sftp命令
    每天一个linux命令(53):wget命令
    每天一个linux命令(52):scp命令
    每天一个linux命令(51):rcp命令
    每天一个linux命令(50):telnet命令
    每天一个linux命令(49):ss命令
    每天一个linux命令(48):netstat命令
    每天一个linux命令(46):ping命令
    Springmvc常见问题
    MP实战系列(十)之SpringMVC集成SpringFox+Swagger2
  • 原文地址:https://www.cnblogs.com/Karma-wjc/p/4131851.html
Copyright © 2011-2022 走看看