【verilog语法】关于testbench与被测module的输入输出数据类型定义:reg/wire原因

您所在的位置:网站首页 wire是什么类型 【verilog语法】关于testbench与被测module的输入输出数据类型定义:reg/wire原因

【verilog语法】关于testbench与被测module的输入输出数据类型定义:reg/wire原因

2023-07-17 06:17| 来源: 网络整理| 查看: 265

testbench的输入输出数据类型正好与被测模块相反

1、被测module中,输入为wire,输出为reg

输入信号是由模块外部决定的,输入数据的状态是变化的,与外部模块是通过线连接,所以用wire,不用reg

2、testbench中,输入为reg,输出为wire

所谓寄存器类型就是暂存一个数据,保持数据不变。

在testbenchb里定义的A,B输出给被测模块 因此对于testbench来说,A,B是输出,数据需要存储才能输出给被测module,用reg型

在testbenchb里定义的result用来接收从被测模块中输入的数据 因此对于testbenchb来说,result是输入,用导线与被测模块连接,用wire型

也就是说,tb的输出对应着被测模块的输入;tb的输入对应着被测模块的输出

注意:只要是always块内部的变量输出,都用reg型 在这里插入图片描述 代码示例

文件名称:alu_tb

`timescale 1ns/1ns //仿真时间单位/时间精度 `include "alu.v" module ALU_tb; reg [31:0] A; reg [31:0] B; reg [4:0] sl; //左移的位数 reg [2:0] ALUctr; //3位ALU控制信号 wire [31:0] Result; // wire zero; //零标志位 ALU myalu(A,B,sl,ALUctr,Result,zero); always #2 A


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3