社保网站人员减少怎么做,收费网站必须备案吗,监控设备公司企业网站源码,宣传片拍摄费用前言
Verilog HDL中提供了丰富的系统任务和系统函数#xff0c;用于对仿真环境、文件操作、时间控制等进行操作。#xff08;后续会进行补充#xff09;
正文
一、verilogHDL仿真详解
timescale 1ns/1ps
//时间单位为1ns#xff0c;精度为1ps#xff0c;
//编译…前言
Verilog HDL中提供了丰富的系统任务和系统函数用于对仿真环境、文件操作、时间控制等进行操作。后续会进行补充
正文
一、verilogHDL仿真详解
timescale 1ns/1ps
//时间单位为1ns精度为1ps
//编译指令将时间单位与实际时间相关联。
//该指令用于定义时延、仿真的单位和精度module tb_test_all_tb(); //仿真模块名不可至工程顶层 wire data_in; //仿真模块输入reg data_out; //仿真模块输出tb_test_all tb_test_all_inst( //被测试模块名 #(.被测试模块全局变量(目标值)) 被测试模块名例化名.bin( data_in ), //被测试模块输入.bcd( data_out ) //被测试模块输出
); reg data_1; //测试中间变量(这里用于接收数据)integer data_m; integer i 0;initial begin //执行一次仿真初始化赋值data_m $fopen(data.txt); //创建并打开文本文件绝对路径或相对路径#20000 //延时20000 * 1nsdata_1 {$random}%256; //随机产生0~256之间的数字没有{}时产生-256~256之间的数字$fclose(data_m); //关闭文件。forever #5 clk ~clk; //每5个时间单位翻转一次时钟信号生成时钟信号$stop; //暂停仿真$finish; //仿真结束endalways(*) begin //多次执行循环结构等$display(this is verilog); //打印输出字符$display(%t,%b,$time,data_in); //打印输出data_in已%b的形式并且输出打印时间$monitor(%t,%b,$time,data_in); //持续监控指定变量的值并在变量值发生变化时显示$fwrite(data_m, %c, data_in); //向文件写入数据将data_in已%c的格式写入到data.txt$fdisplay(data_m, %c, data_in);//向文件写入数据将data_in已%c的格式写入到data.txt$readmemb(data.txt,data_1); //从文件读入数据读入到data_1readmemb二进制方式readmemh十六进制$fscanf(data_m, %h, data_in); // 使用fscanf读取一个1位无符号整数从文件data.txt读入到data_1endendmodule
参考资料
Verilog中的系统函数和系统任务