我是靠谱客的博主 无限金针菇,最近开发中收集的这篇文章主要介绍verilog中reg,integer的使用规则1. verilog中常用的数据类型2.integer使用规则,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

verilog中reg,integer的使用规则

1. verilog中常用的数据类型

Verilog中共有19种数据类型。

1)基本的四种类型:
reg型、wire型、integer型、parameter型。

其他类型:large型、medium型、small型、scalared型、time型、tri型、trio型、tril型、triand型、trior型、trireg型、vectored型、wand型和wor型。
这14中数据类型除time外都与基本逻辑单元建库有关。

2)四种基本类型区别:

reg              无符号整数变量,可以选择不同的位宽。

integer          有符号整数变量,32位宽,算术运算可产生2的补码。

real             有符号的浮点数,双精度。

time             无符号整数变量,64位宽(Verilog-XL仿真工具用64位的正数来记录仿真时刻)

用 reg 描述逻辑,integer 描述循环变量和计算, real 在系统模型中使用,time 和 realtime 保存测试装置的仿真时间。

2.integer使用规则

1)reg是无符号整形变量,integer是有符号类型
2)integer定义为32bit的总线
3)for循环变量需要使用integer类型
请小心使用小型宽度的 reg 作为循环变量 测试负值的 reg 也要非常小心 如果重复的加 减运算和reg 的值都作为无符号数处理 循环表达式就永远不会出错

reg [2:0] i; // i 的值永远在 0 到 7 之间
...
for ( i=0; i<8; i=i+1 ) // 循环不会停止
...
for ( i=-4; i<0; i=i+1 ) // 不会执行
...

在像上面的情况中 循环变量 i 应该用 integer 类型
下面的代码显示reg和integer的一般用法:

integer i;
reg [15:0] V;
reg Parity;

always @(V)
    for ( i = 0; i <= 15; i = i + 1 )
        Parity = Parity ^ V[i];

4)文件读写时使用integer类型来简化代码操作

///save data to files1
parameter N = 4;
integer file_ceo_id [N-1:0]; //注意此处变量正确定义方式

initial begin
    file_ceo_id[0] = $fopen("./ctrl_data0.txt","w");
    file_ceo_id[1] = $fopen("./ctrl_data1.txt","w");       
    file_ceo_id[2] = $fopen("./ctrl_data2.txt","w");       
    file_ceo_id[3] = $fopen("./ctrl_data3.txt","w");       
end

genvar i;                                          
generate                                           
    for (i=0;i<N;i=i+1)                       
    begin:W_FILES    ///
        always@( posedge clk)
        begin
            if  (rd_valid == 1'b1)
            begin
                $fdisplay(file_ceo_id[i], "%h", out_fifo_rdata);              
            end
        end   
    end
endgenerate 

仿真时变量值显示如下:
在这里插入图片描述

最后

以上就是无限金针菇为你收集整理的verilog中reg,integer的使用规则1. verilog中常用的数据类型2.integer使用规则的全部内容,希望文章能够帮你解决verilog中reg,integer的使用规则1. verilog中常用的数据类型2.integer使用规则所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部