Program Block-systemverilog
来源:互联网 发布:淘宝卖家地址怎么看 编辑:程序博客网 时间:2024/06/05 18:54
systemverilog中的Program Block与module有些类似,但module是基于硬件思想,Program Block纯粹是为了仿真。如果不熟悉program,可以不用program.
The program block serves three basic purposes:
- » It provides an entry point to the execution of testbenches.
- » It creates a scope that encapsulates program-wide data.
- » It provides a syntactic context that specifies scheduling in the Reactive region.
module test(...) int shared; // variable shared by programs p1 and p1
program p1; ...
endprogram
program p2;
...
endprogram // p1 and p2 are implicitly instantiated once in module testendmodule
`timescale 1ns/1psclass frame_start;rand byte length = 64'habcdabc101023acd123;rand byte tag_frame_ma;byte Num;//octal numberinteger Tx_en;task frame();beginif ((length/Num) || (length > tag_frame_ma))$display ("\nReport the Tag frame error length = %d",length);else$display("\nReport Tag frame %d",length);endendtaskendclassprogram sim_top();frame_start new_frame;integer transmission_enable = 0;// Transmission of frame. Frame Tx include data encapulation and Media Access Managementtask transmit(integer transmission_enable);if (transmission_enable)$display("\n@%g, Frame is ready to transmit",$time);else$display("\n@%g, Frame is not ready now to transmit",$time);endtaskinitialbeginnew_frame = new;$display("*******--------*********--------********--------********");#1 transmit(transmission_enable);#1 transmission_enable = 1;#1 transmit(transmission_enable);#1 new_frame.frame();#1 new_frame.randomize();#1 $display("\n@%g, Transmit next frame now...", $time);#1 $display("\n*******--------*********--------********--------********");endendprogramoutput:
# *******--------*********--------********--------********# # @1, Frame is not ready now to transmit# # @3, Frame is ready to transmit# # Report the Tag frame error length = 35# # @6, Transmit next frame now...# # *******--------*********--------********--------********
0 0
- Program Block-systemverilog
- How to prevent LUA scripts that block your program
- systemverilog 语法
- systemverilog interface
- systemverilog数据类型
- program
- Program
- program
- program
- PROGRAM
- Program
- program
- Program
- program
- python基础学习-There's an error in your program:expected an indented block错误解决
- SystemVerilog语言简介(四)
- SystemVerilog语言简介(三)
- SystemVerilog语言简介(二)
- 460 B. Little Dima and Equation
- [小技巧] diff 在比较两个目录时忽略 .svn 目录
- Linux下可执行文件格式详解
- mysql 、oracle、sqlserver获取最近一次插入记录
- 重叠I/O模型分析
- Program Block-systemverilog
- Linux在后台运行jar程序
- shell编程之脚本位置参数
- WF4.0——简单认识及结合实际业务demo
- ios拍照时如何让显示的字为中文的
- 获取本地IP列表
- MyEclipse2014 常用设置优化
- S5pv210 HDMI 接口在 Linux 3.0.8 驱动框架解析
- window 64位系统配置php开发环境