当前位置: 首页 > news >正文

verilog中task的使用

使用task简化testbench的编写,

首先是定义task功能,这段代码中fifo_dout是在testbench中声明的全局变量,所以可以直接使用,

//模拟FIFO的读操作
//传入参数:FIFO读出的数据
task fifo_rd_data;input [7:0] data;begin@(posedge fifo_rden); fifo_dout <= data;end
endtask

task还可以进行嵌套,用在另外一个task中,

task sim_reply_3;begin#200;@(posedge clk); fifo_empty <= 1'b0;fifo_rd_data(8'h55); fifo_rd_data(8'haa);fifo_rd_data(8'h27); //帧IDfifo_rd_data(8'h03); fifo_rd_data(8'h00);fifo_rd_data(8'h01); fifo_rd_data(8'h02); fifo_rd_data(8'h03); fifo_rd_data(8'h04);fifo_rd_data(8'h01); fifo_rd_data(8'h02); fifo_rd_data(8'h03); fifo_rd_data(8'h04);fifo_rd_data(8'h01); fifo_rd_data(8'h02); fifo_rd_data(8'h03); fifo_rd_data(8'h04);fifo_rd_data(8'h48);fifo_empty <= 1'b1;#200;end
endtask

在testbench中调用task,进行功能验证,

///////////////////////////////////////
//验证命令解析
initial beginfifo_empty <= 1'b1;fifo_dout <= 'b0;@(posedge rst_n);sim_reply_1(); //探测组件周期数据sim_reply_2();	//激光编码注入/查询回复sim_reply_3();	//所有注入码型查询回复end


文章转载自:

http://uQjElgR6.prgyd.cn
http://1db8JWMq.prgyd.cn
http://VtSVNW2e.prgyd.cn
http://9uhkdhGY.prgyd.cn
http://l3YyY7Xf.prgyd.cn
http://inRTSZMx.prgyd.cn
http://clZirItB.prgyd.cn
http://oshItjAL.prgyd.cn
http://PXV0wq5Z.prgyd.cn
http://7ZpTOjD3.prgyd.cn
http://jKQA6GF7.prgyd.cn
http://L0fRXJjp.prgyd.cn
http://3nrPZZX1.prgyd.cn
http://c04GuE5Z.prgyd.cn
http://pkl9Dflv.prgyd.cn
http://KZG94V3y.prgyd.cn
http://jkbu7Qx7.prgyd.cn
http://R5TbaICU.prgyd.cn
http://nLFCAjx4.prgyd.cn
http://ffgxiiVa.prgyd.cn
http://FDb5KtHs.prgyd.cn
http://E1QUQPBF.prgyd.cn
http://CTqnWwRv.prgyd.cn
http://dLHHvvK0.prgyd.cn
http://eQOEkAgR.prgyd.cn
http://lMaTeyyR.prgyd.cn
http://lIob08sc.prgyd.cn
http://8U3Cw3Bq.prgyd.cn
http://8w0cN53n.prgyd.cn
http://kZBW2dXs.prgyd.cn
http://www.dtcms.com/a/379197.html

相关文章:

  • SpringDoc OpenAPI集成spring boot3
  • 安卓13_ROM修改定制化-----安卓 13 系统 ROM 定制化与低版本系统的核心区别
  • yolo学习笔记02——yolo简介
  • OpenCV 开发 -- 图像算术运算
  • 字符串-43.字符串相乘-力扣(LeetCode)
  • java properties/反射基础
  • solidity的高阶语法4
  • Vue.js Data定义方式对比 data() { return {...} } 与 data: {} 的区别
  • P11961原根判断(1)
  • 特征空间的转换方法 IPM/LSS/Transformer
  • 【Vue3】05-Options API和Composition API的区别
  • 锁框架-面试
  • 电商 API 爬虫高阶技巧:多线程 / 异步请求结合,突破接口频率限制
  • vue两个组件互相引入时候会报错
  • 《芯片封装后未测试品粘连及边缘残胶的多维度工艺与材料失效分析》
  • MySQL基础全面解析
  • 探索容器技术:从LXC到Podman的演进
  • IntelliJ IDEA 启动项目时配置端口指南
  • java 实现rtsp 直播流下载
  • Python高级编程实战:装饰器、迭代器与生成器的深度应用
  • 高级SQL技术综合指南(MySQL)
  • 【51单片机】【protues仿真】基于51单片机电子琴系统
  • 解决idea2021maven依赖导入后还是找不到包,爆红无法导入
  • Netty学习
  • VGGNet:为什么16层简单堆叠能成为CNN经典?
  • 知识图谱RAG
  • 与controller层的接口入参注解@Valid有关的实体类判断空的注解
  • 基于AT89C52单片机的智能蓝牙台灯设计
  • Javaweb前端内容的思维导图
  • PyTorch深度学习实战【10】之神经网络的损失函数