Verilog中一个字节比较器成熟的测试模型
来源:互联网 发布:知肤泉水光面膜怎么用 编辑:程序博客网 时间:2024/06/04 23:19
刚刚开始学习Verilog语言,希望能够记录下自己的想法。
题目出自《Verilog数字系统设计教程(第3版)》第三部分设计示范与实验练习中的练习一。题目的为:设计一个字节(8位)的比较器,难点是在于写出一个较为成熟的测试模型。根据练习一中给的模板,我们可以知道一个成熟的测试模型应该有以下特点:1.具有较多的测试数据 2.数据有较大的随机性(好吧。。。我现在只看出来这两点)
那么该如何建立一个这样成熟的模型呢?我们先快速浏览一下我的一个字节比较器(并不是重点):
module compare_8(X,Y,XGY,XSY,XEY);
input[7:1] X,Y;
output XGY,XSY,XEY;
reg XGY,XSY,XEY;
parameter width=8;
always@(X or Y)
begin
if(X==Y)
XEY=1;
else
XEY=0;
if(X>Y)
XGY=1;
else XGY=0;
if(X<Y)
XSY=1;
else XSY=0;
end
endmodule
模型非常简单,直接借用了书上比较器部分的代码。测试代码的关键点就是方便的生成随机的一个字节:
`timescale 1ns/1ns
module compare_8_tb;
reg[7:1] X,Y;
reg clock;
wire XEY,XGY,XSY;
integer i;
initial
begin
clock=0;
X=8'b00000000;
Y=8'b00000000;
end
always #50 clock=~clock;
always@(posedge clock)
begin
for(i=0;i<8;i=i+1)
X[i]={$random}%2; //让X、Y每一bit都为随机的0或1
for(i=0;i<8;i=i+1)
Y[i]={$random}%2;
end
initial
begin #1000 $stop;end
compare_8 m(.X(X),.Y(Y),.XEY(XEY),.XGY(XGY),.XSY(XSY));
endmodule
第一次写Verilog程序,以后还会继续完善的!
---------------------------------不要忘记自己的梦想!------------------------------------------------------------
- Verilog中一个字节比较器成熟的测试模型
- 一个比较成熟的Socket实例
- 成熟的Richardson模型
- 一个成熟的女人
- 一个成熟的女人
- 一个成熟的女人
- 一个成熟的女人
- 一个成熟的女人
- 一个比较常用的modelsim仿真脚本(verilog)
- 一个比较简单的D触发器4分频verilog程序
- HTML5比较成熟的技术
- 软件能力成熟模型(CMM)的五个成熟级别
- 一个“成熟的”的想法
- verilog的仿真参考模型
- 成熟性测试的测试点
- java中一个汉字和一个字母所占内存字节比较以及后台验证的减半处理
- 一款成熟的数据中心模型设计
- 两个比较成熟的爬虫开源程序
- Android基础控件 - ImageView
- LeetCode First Bad Version
- UIButton 的edgeInsets研究
- 大根堆 - max heapify
- 牧场主与猎户的故事
- Verilog中一个字节比较器成熟的测试模型
- TI双核处理器ARM+DSP如何实现协同工作
- [图文]我的bower使用之旅
- KMP算法详解
- PAT Have Fun with Numbers
- leetcode 63. Unique Paths II
- Java调用Weka API创建Arff文件
- no module named numpy
- 修改zookeeper jvm参数