当前位置: 首页 > 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

相关文章:

  • 【Vue】在Vue3中使用Echarts的示例 两种方法
  • 鸿蒙UI(ArkUI-方舟UI框架)- 使用文本
  • 自动化测试、压力测试、持续集成
  • 深入浅出DeepSeek LLM 以长远主义拓展开源语言模型
  • 深度分析:网站快速收录与网站内容多样性的关系
  • 专题:剑指offer
  • 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()的使用