项目简介:
高效的编写测试程序对复杂模块的测试十分重要。相对于测试信号有多种可能性的模块,编写带测试向量文件的测试程序能极大提高模块测试的效率。本篇文章以上一篇文章中的8位带进位全加器的测试为例编写带测试向量文件的测试程序,同时也可以比较两种测试方式的优劣。
代码实现:
/*--------------------------------------------------------------
Filename: adder_8.v
Function: 实现两个8位二进制数的带进位加法运算(输出和S最大为256)
Author: Zhang Kaizhou
Date: 2019-10-8 19:45:46
--------------------------------------------------------------*/
//8位加法器顶层模块
module adder_8(s, cout, a, b, cin);
//输入输出端口及变量定义
output [7 : 0] s;
output cout;
input [7 : 0] a, b;
input cin;
wire [6 : 0] carry;
//采用结构描述的方式实现一个8位加法器
fulladder m0(s[0], carry[0], a[0], b[0], cin);
fulladder m1(s[1], carry[1], a[1], b[1], carry[0]);
fulladder m2(s[2], carry[2], a[2], b[2], carry[1]);
fulladder m3(s[3], carry[3], a[3], b[3], carry[2]);
fulladder m4(s[4], carry[4], a[4], b[4], carry[3]);
fulladder m5(s[5], c