首页 > 其他分享 >verilog行为建模(二):命名事件和行为描述

verilog行为建模(二):命名事件和行为描述

时间:2024-07-05 17:59:22浏览次数:30  
标签:clk always 建模 add verilog 行为 event mult 事件

目录

微信公众号获取更多FPGA相关源码:
在这里插入图片描述

1. 命名事件(named event)

在行为代码中定义一个命名事件可以触发一个活动。命名事件不可综合。

module add_mult (out, a, b);
   input [2: 0]  a, b;
   output [3: 0] out;
   reg [3: 0] out;
 //***define events***
   event add, mult;
   always@ (a or b)
      if (a> b)
         -> add; // *** trigger event ***
      else
         -> mult; // *** trigger event ***
// *** respond to an   event trigger ***
   always @( add)
      out = a + b;
// *** respond to an event trigger ***
   always @( mult)
       out = a * b;
endmodule

在例子中,事件add和mult不是端口,但定义为事件,它们没有对应的硬件实现。

  • 是一种数据类型,能在过程块中触发一个使能。
  • 在引用前必须声明
  • 没有持续时间,也不具有任何值
  • 只能在过程块中触发一个事件。
  • ->操作符用来触发命名事件。
  1. a大于b,事件add被触发,控制传递到等待add的always块。
  2. 如果a小于或等于b,事件mult被触发,控制被传送到等待mult的always块。

2.行为描述举例

always wait (set)
begin
    @( posedge clk) #3  q = 1;
    #10 q = 0;
    wait (! set);
end

image
在上面的例子中发生下面顺序的事件:

  1. 等待set=1,忽略时刻10的clk的posedge。
  2. 等待下一个clk的posedge,它将在时刻30发生。
  3. 等待3个时间单位,在时刻33(30+3)置q=1。
  4. 等待10个时间单位,在时刻43(33+10)置q=0。
  5. 等待在时刻48发生的set=0。
  6. 等待在时刻70发生且与clk的上升沿同时发生的set=1。
  7. 等待下一个上升沿。时刻70的边沿被忽略,因为到达该语句时时间已经过去了,如例子所示,clk=1。

重要内容:在实际硬件设计中,事件6应该被视为一个竞争(race condition)。在仿真过程中,值的确定倚赖于顺序,所以是不可预测的。这是不推荐的建模类型。

3.RTL描述举例

下面的RTL例子中只使用单个边沿敏感时序控制。

module dff (q, qb, d, clk);
      output q, qb;
      input d, clk;
      reg q, qb;
   always @( posedge clk)
   begin
       q = d;
      qb = ~d;
   end
endmodule

微信公众号获取更多FPGA相关源码:
在这里插入图片描述

标签:clk,always,建模,add,verilog,行为,event,mult,事件
From: https://blog.csdn.net/xxqlover/article/details/140215322

相关文章

  • ToDesk云电脑实测!轻松应对游戏电竞、AIGC创作、设计建模等场景
    万物智联时代,现代社会对数字计算的需求呈指数级增长。当算力成为推动技术创新和应用发展的重要引擎,云电脑产业正在悄然占据国内算力应用的市场,成为新时代的数字经济发展方向。1云电脑,顾名思义,是一台随时运行在云上的“电脑”,操作系统、存储、运算都能在云端上进行,即使你的电脑是......
  • 2024年亚太中文赛数学建模竞赛B题 洪水灾害的数据分析与预测详细思路解析
    2024年亚太中文赛数学建模竞赛B题洪水灾害的数据分析与预测详细思路解析解题方法:首先就是对数据进行数据的预处理包括缺失值和异常值处理,之后就是分析哪些指标与洪水的发生有着密切的关联,可以使用相关性分析(建议使用斯皮尔曼相关系数法,斯皮尔曼相关系数是一种度量两个变量......
  • 2024 年第十四届 APMCM 亚太地区大学生数学建模A题 飞行器外形的优化问题--完整思路代
    飞行器是在大气层内或大气层外空间飞行的器。飞行器可以分为:航空器航天器、火箭和导弹。在大气层内飞行的称为航空器,如气球、飞艇、飞机等。它们靠空气的静浮力或空气相对运动产生的空气动力升空飞行。在太空飞行的称为航天器,如人造地球卫星、载人飞船、空间探测器、航天飞机......
  • 【国赛赛题详解】2024年数学建模国赛ABCDEF题(点个关注,后续会更新)
        您的点赞收藏是我继续更新的最大动力!一定要点击如下的蓝色字体链接,那是获取资料的入口!点击链接加入群聊【2024国赛资料合集】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=eQt5WRIvc5-fogZRrrahAhbqDa2nKfW8&authKey=%2BqQfThTxNnhw5LGJFRIcneF8JXBj1ufd2K01UpKPrpcg......
  • 2024 年亚太杯 APMCM 数学建模竞赛 B题 洪水灾害的数据分析与预测 详细思路+matlab代
    比赛期间24小时内半价,思路会结合chatgpt-4,都是个人比赛思路,可能不是很好,但是24年所有数学建模思路都会发布到这一个专栏内,只需订阅一次,感谢大家的一直支持!!!B题洪水灾害的数据分析与预测洪水是暴雨、急剧融冰化雪、风暴潮等自然因素引起的江河湖泊水量迅速增加,或者水位迅猛......
  • 2024 年第十四届 APMCM 亚太杯 数学建模 A题 飞行器外形的优化问题 详细代码+思路+mat
     比赛期间24小时内半价,思路会结合chatgpt-4,都是个人比赛思路,可能不是很好,但是24年所有数学建模思路都会发布到这一个专栏内,只需订阅一次,感谢大家的一直支持!!!A题飞行器外形的优化问题飞行器是在大气层内或大气层外空间飞行的器械。飞行器可以分为:航空器、航天器、火箭和导......
  • 2024年亚太杯数学建模竞赛 APMCM C题 基于量子计算的物流配送问 详细思路+matlab代码+
     比赛期间24小时内半价,思路会结合chatgpt-4,都是个人比赛思路,可能不是很好,但是24年所有数学建模思路都会发布到这一个专栏内,只需订阅一次,感谢大家的一直支持!!!        随着电子商务的迅猛发展,电商平台对物流配送的需求日益增长。为了确保货物能够按时、高效地送达消费......
  • 上网行为审计软件有哪些|好用的上网行为审计软件推荐
    上网行为审计成为了企业保障信息安全、提升工作效率的重要手段。一款优秀的上网行为审计软件,不仅能帮助企业监控员工的网络活动,预防数据泄露和不当行为,还能通过数据分析优化网络资源配置,提升整体运营效率。 今天,就为大家推荐几款好用且高效的上网行为审计软件,让您的企业管......
  • Verilog图片仿真
            今天给大家分享自己使用的一段仿真代码,是我调整好的,拿去就可以直接使用!!!        我们做fpga有时候会接触一些图像相关的算法,我们不能每一次都是编译成功下载验证看效果吧,我也是找了好久,终于找到一个没啥毛病的,我对于这个模块还是做了一些调整,满足我们......
  • HFSS中高效建模技巧分享(一)
    本文摘要(由AI生成):本文主要介绍了三种HFSS建模技巧,包括快速建立PCB层叠技巧、走线渐变技巧和快速生成绿油层技巧。这些技巧可以帮助用户更高效地建模,提高工作效率。1、快速建立PCB层叠技巧使用createobjectfromface+thickensheet通常建立PCB层叠,大家习惯于用多个矩......