首页 > 其他分享 >结果自动对比

结果自动对比

时间:2023-04-03 19:33:34浏览次数:22  
标签:begin end 结果 expP START 自动 CYCLE 对比 out

点击查看代码
`timescale 1ns/1ns
module tb;
reg CLK;
reg RSTN;
reg [3:0] R_in;
reg [3:0] Q_in;
reg START_in;
reg  [7:0]expP_out;
wire [7:0] P_out;
wire DONE;

parameter CYCLE=10;



Multiplier U0(
     .CLK(CLK),
  .RSTN(RSTN),
    .R_in(R_in),
    .Q_in(Q_in),
    .START_in(START_in),
   .P_out(P_out),  
  .DONE(DONE)
 );


initial begin
CLK=0;
  forever begin
 #(CYCLE/2)
 CLK=1;
 #(CYCLE/2)
 CLK=0;
  end
end


initial begin
	 RSTN = 0;
 	#(5*CYCLE);
	 RSTN = 1;
end




initial begin
		START_in=0;
		#(CYCLE*8)
	   forever begin
	 	 START_in=1;
	 	#(CYCLE*30)
	 	START_in=0;
	 	#(CYCLE*5)
	 	START_in=1;
	 	    end
	end


initial begin
R_in=0;Q_in=0;
	#(CYCLE*7)
	expP_out=0;
	#(CYCLE*21)
@(posedge START_in);
R_in=5;Q_in=6;
	#(33*CYCLE)

R_in=7;Q_in=8;
	#(33*CYCLE)
	
R_in=6;Q_in=9;
	#(33*CYCLE)

R_in=0;Q_in=15;
	#(33*CYCLE)

R_in=15;Q_in=0;
	#(33*CYCLE)

R_in=0;Q_in=0;
	#(33*CYCLE)

R_in=15;Q_in=15;
	#(33*CYCLE)

#(CYCLE*50)
	$finish;
end

task t_b;
input  [3:0]  expR_in;
input  [3:0]  expQ_in;
output [7:0]  expP_out;
  begin
        expP_out=expQ_in*expR_in;
  end
endtask

initial  begin
   forever  begin
     @DONE;
     
     t_b(Q_in,R_in,expP_out);
     #(4*CYCLE);
     if({P_out}!=={expP_out})
     $display($time,"NG:R_in=%d,Q_in=%d,P_out=%d,expP_out=%d",R_in,Q_in,P_out,expP_out);
       else
       $display($time,"OK:R_in=%d,Q_in=%d,P_out=%d,expP_out=%d",R_in,Q_in,P_out,expP_out);
   end
end
endmodule

标签:begin,end,结果,expP,START,自动,CYCLE,对比,out
From: https://www.cnblogs.com/love-dog/p/17284116.html

相关文章

  • 【功能与技巧】promethues通过记录规则持久化查询,存储rules表达式查询结果为采集指标
    一、查询持续性到目前为止,我们只是在表达式浏览器中运行查询。虽然查看该查询的输出很方便,但结果仍然是临时存储在Prometheus服务器上,我们可以通过以下三种方式使查询持久化: *记录规则:根据查询创建新指标*报警规则:从查询生成警报*可视化:使用Grafana等仪表板可视化查询......
  • DHCP自动获取IP地址
    拓扑图:推荐步骤:Centos01安装dhcp服务器,配置地址池范围192.168.100.100~192.168.199,默认网关为192.168.100.10,首选和备用DNS地址为202.106.0.10,8.8.8.8,Win10配置保留指定IP地址配置Centos02为自动获取IP地址,Wiin10查看保留IP地址实验步骤:Centos01安装dhcp服务器设置为开机自动启动配......
  • 利用redis完成自动补全搜索功能(一)
     最近要做一个搜索自动补全的功能(目前只要求做最前匹配),自动补全就是自动提示,类似于搜索引擎,再上面输入一个字符,下面会提示多个关键词供参考,比如你输入nb2字符,会自动提示nba,nba录像,nba直播。能想到的一般有3种解决方案1.利用mysql来做,只能使用like'nb%'......
  • Python 自动化指南(繁琐工作自动化)第二版:十九、处理图像
    原文:https://automatetheboringstuff.com/2e/chapter19/如果你有一台数码相机,或者即使你只是从手机上传照片到脸书,你可能会一直碰到数码图像文件。你可能知道如何使用基本的图形软件,如微软的画图或Paintbrush,甚至更高级的应用,如AdobePhotoshop。但是如果你需要编辑大量的图......
  • Python 自动化指南(繁琐工作自动化)第二版:二十、使用 GUI 自动化控制键盘和鼠标
    原文:https://automatetheboringstuff.com/2e/chapter20/了解用于编辑电子表格、下载文件和启动程序的各种Python模块是很有用的,但有时您需要使用的应用没有任何模块。在计算机上实现任务自动化的终极工具是你编写的直接控制键盘和鼠标的程序。这些程序可以通过发送虚拟击键......
  • Python 自动化指南(繁琐工作自动化)第二版:附录 A:安装第三方模块
    原文:https://automateboringuff.com/2e/appendix/出版后添加:你可以通过安装带有PIP的automateboringstuff模块来安装所有需要的模块(带有本书中使用的版本)。从命令提示符或终端窗口运行pipinstall--userautomateboringstuff。许多开发人员编写了他们自己的模块,将Pytho......
  • Python 自动化指南(繁琐工作自动化)第二版:附录 B:运行程序
    原文:https://automateboringuff.com/2e/appendixb/如果您在Mu中打开了一个程序,运行它只需按F5或单击窗口顶部的运行按钮。这是一种在编写程序的同时运行程序的简单方法,但是打开Mu来运行你完成的程序可能是一种负担。根据您使用的操作系统,有更方便的方法来执行Python脚......
  • Python 自动化指南(繁琐工作自动化)第二版:十、组织文件
    原文:https://automatetheboringstuff.com/2e/chapter10/在前一章中,你学习了如何在Python中创建和写入新文件。您的程序也可以组织硬盘上预先存在的文件。也许你有过这样的经历:浏览一个装满几十个、几百个、甚至几千个文件的文件夹,然后手动复制、重命名、移动或压缩它们。或......
  • Python 自动化指南(繁琐工作自动化)第二版:十一、调试
    原文:https://automatetheboringstuff.com/2e/chapter11/既然你已经知道了足够多的知识来编写更复杂的程序,你可能会开始发现其中不那么简单的错误。这一章介绍了一些工具和技术,用于查找程序中错误的根本原因,帮助您更快、更省力地修复错误。套用程序员之间的一个老笑话,写代码占......
  • MyBatis-Spring包自动扫描MyBatis Mapper接口并将其注册为Spring Bean
    学习spring整合mybatis时,写SQL语句的Mapper接口明明没有任何被spring接管的痕迹(前面没有注解)但在serviceimpl类中却可以被自动装载。 BookDao.java(mapper接口类):packagecom.itheima.dao;importcom.itheima.domain.Book;importorg.apache.ibatis.annotations.Delete;imp......