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

verilog仿真激励

简介

        本章节主要描述verilog激励仿真函数的介绍。

initial

        主要针对寄存器初始化值,基本所有仿真都会使用到该语句,使用如下:

initial begin
	sys_clk = 'd0;   
	sys_rst_n = 'd0; 
	#2000;
	sys_rst_n = 'd1; 
end

repeat

        重复有限次数地执行一段代码,使用如下:

repeat (<number>) begin    //指定重复次数
    //需要重复执行的代码
end	

        例如重复执行5个时钟周期时钟;

repeat(5)begin
		@(posedge sys_clk);
	end

always #

        重复执行,一般使用在时钟上,例如实现一个100MHz系统时钟,使用如下:

always #5 sys_clk = ~sys_clk;

forever

        重复执行,与always有所不同,使用如下:

initial begin
   clk = 1'b0;
   forever begin
     #5 clk = ~clk;
   end
end

        forever和always的区别如下:

        forever‌块主要用于产生周期性的波形,作为仿真测试信号,或者用于生成周期性的行为。它不能独立存在于程序中,必须搭配initial语句共同使用。

        always‌块则更为灵活,它可以在满足敏感参数列表中的条件时执行。always块可以描述时序逻辑或组合逻辑,具体取决于其敏感参数列表中是否包含时钟信号。如果always块的敏感参数列表中包含时钟信号,则该块被综合成一个时序回路,当时钟变化时执行。如果不包


http://www.kler.cn/a/291351.html

相关文章:

  • Go 语言 API 限流实战:保障系统稳定性的护盾
  • xdoj校验和
  • 【深度学习】卷积网络代码实战ResNet
  • 三维场景重建3D高斯点渲染复现
  • 家政上门小程序如何创建?家政服务怎么能少了小程序帮手
  • 第二十六天 自然语言处理(NLP)词嵌入(Word2Vec、GloVe)
  • TCP协议 配合 Wireshark 分析数据
  • 开源还是封闭?人工智能的两难选择
  • 人工智能关键技术怎么清晰的划分
  • 云电脑超越传统PC——再谈公有云的新市场
  • 基于Java的在线文献检索系统
  • IP网络协议
  • stm32 8080时序驱动lcd屏幕
  • 仕考网:公务员和事业编的区别
  • matlab二维热传导显示有限差分法计算(代码)
  • 活动系统开发之采用设计模式与非设计模式的区别-需求整理
  • 使用FFmpeg实现简单的拉流、推流、视频解码Demo
  • 微服务中的服务降级与熔断机制
  • 搜维尔科技:使用Geomagic Touch X 对机械臂进行远程遥操作
  • mysql 使用 general 开启SQL跟踪功能
  • Knife4j:为Spring Boot API赋能的文档生成器
  • SwaggerAPI未授权访问漏洞
  • 代码随想录Day 32|leetcode题目:501.斐波那契数、70.爬楼梯、746.使用最小花费爬楼梯
  • 【软件工程】软件与软件危机
  • List 的介绍
  • OPenCV结构分析与形状描述符(3)计算一个点集的最小外接矩形的函数boundingRect()的使用