数字硬件建模SystemVerilog-时序逻辑建模(1)RTL时序逻辑的综合要求

news2025/2/23 22:33:19


dd99e9a20415fd16eb91f674920000cd.png

数字门级电路可分为两大类:组合逻辑和时序逻辑。锁存器是组合逻辑和时序逻辑的一个交叉点,在后面会作为单独的主题处理。

组合逻辑描述了门级电路,其中逻辑块的输出直接反映到该块的输入值的组合,例如,双输入AND门的输出是两个输入的逻辑与。如果输入值发生变化,输出值将反映这一变化,组合逻辑的RTL模型需要反映这种门级行为,这意味着逻辑块的输出必须始终反映该逻辑块当前输入值的组合。

SystemVerilog有三种在可综合RTL级别表示组合逻辑的方法:连续赋值语句、always程序块和函数。接下来几篇文章将探讨每种编码风格,并推荐最佳实践编码风格。

080ead568b115c46cf4477a7227a6337.png

时序逻辑概念

时序逻辑描述了一种重要的门级电路,其中输出反映了一个由门的内部状态存储的值。只有特定的输入变化,如时钟沿,才会导致存储的变化。对于D触发器,时钟输入的特定边沿将改变触发器的存储,但D输入值的变化并不直接改变存储。相反,特定的时钟沿会使触发器的内部存储更新为时钟沿的D输入值。

时序逻辑的RTL模型需要反映这种门级行为,也就是说,逻辑块的输出必须在一个或多个时钟周期内存储一个值,并且只为特定的输入变化而更新存储的值,而不是所有输入变化。在RTL层面,一个always或always_ff过程被用来模拟这种时序行为。本系列文章主要研究:

  • RTL时序逻辑的综合要求

  • always_ff  时序逻辑建模

  • 时序逻辑时钟到Q的传播和建立/保持时间

  • 使用非阻塞赋值来模拟时钟到Q的传播效应

  • 同步和异步复位

  • 多个时钟和时钟域交叉(CDC)。

  • 在时序逻辑RTL模型中使用单元延时

  • 建立有限状态机(FSM)模型

  • 对Mealy和Moore FSM架构进行建模

  • 状态解码器,并使用独热码的独特情况

  • 对内存设备进行建模,如RAM

触发器和寄存器的RTL模型

触发器和寄存器被用来在一段时间内存储信息。术语触发器和寄存器经常被当作同义词使用,尽管它们在加载和复位的方式上可能存在差异。触发器是一种存储元件,在时钟沿上改变存储的状态。各种各样的硬件应用都可以由触发器构建,如计数器、数据寄存器、控制寄存器、移位寄存器和状态寄存器。寄存器可以由任何类型的数据存储设备构建,包括触发器、锁存器和RAM。大多数硬件寄存器是由触发器建立的。

时序逻辑触发器和寄存器的RTL模型是用一个带有灵敏度列表的always或always_ff过程建模的,该过程使用时钟边沿来触发过程的评估。一个RTL触发器的例子是:

0da6501c1508e4f5697c97e86721b22b.png

一般来说,RTL模型被写成在时钟输入的正边沿触发触发器。所有的ASIC和FPGA器件都支持在时钟的上升沿(正边沿)触发的触发器。一些ASIC或FPGA器件还支持在时钟的下降沿触发的触发器。触发器和由触发器组成的寄存器可以是不可复位或可复位的。复位可以是同步的,也可以是与时钟触发不同步的。一些触发器也有一个异步复位输入。

在门级设计中,有几种类型的触发器,例如。SR, D,JK和T触发器。RTL模型可以从这个实现细节中抽象出来,并被写成通用的触发器。

在RTL建模中,重点是设计功能,而不是设计实现。综合编译器的作用是将抽象的RTL功能描述映射到具体的门级实现。大多数ASIC和FPGA器件使用D型触发器,所以本文假设综合编译器从RTL触发器中推断出的触发器类型。

RTL时序逻辑的综合要求

当always程序的敏感度列表包含关键字posedge或negedge时,综合编译器将尝试推断出一个触发器。然而,综合编译器还要求满足以下额外的代码限制,以便推断出一个触发器。

  • 程序灵敏度列表必须指定时钟的哪个边沿触发更新触发器的状态(posedge或negedge)。

  • 灵敏度列表必须指定任何异步设置或复位信号的前缘(posedge或negedge)(同步设置或复位不在灵敏度列表中列出)。

  • 除了时钟、异步设置或异步复位外,灵敏度列表不能包含任何其他信号,如D输入或使能输入。

  • 该过程应该在零仿真时间内执行。综合编译器会忽略#延迟,并且不允许@或等待时间控制。这条规则的一个例外是使用分配单元内的延迟(后续详解)。

  • 在时序逻辑程序中赋值的变量不能被任何其他程序或连续赋值所赋值(允许在同一程序中多次赋值)。

  • 在一个时序逻辑程序中,一个被赋值的变量不能有阻塞和非阻塞的混合赋值。例如,复位分支不能用阻塞赋值建模,而时钟分支则用非阻塞赋值建模。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/162563.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

N5247A网络分析仪

18320918653 N5247A Agilent N5247A 网络分析仪主要特性与技术指标 10 MHz 至 67 GHz2 端口或 4 端口,具有两个内置信号源可提供 4 端口 110 GHz 单次扫描解决方案110 dB 系统动态范围,32001 个点,32 个通道,5 MHz 中频带宽高输…

MySQL中深入浅出索引

文章目录前言一、索引的常见模型二、InnoDB的索引模型三、索引的维护四、索引的优化覆盖索引联合索引最左前缀原则索引下推前言 我们在看书的时候,打算回看某一个桥段的内容时。这是你肯定会是先翻看书的目录,从目录确定这段内容的位置,然后…

爬虫利用多线程快速爬取数据

一般单线程爬数据太慢了话,就采用多线程。 一般要根据两种情形来选择 自定义线程线程池 往往最关键的地方在,多个线程并发执行后,是否需要线性的返回结果。也就是先调用的线程,返回的结果要在前面。 或者说,某个对…

mysql简单数据查询——数采数据电量与耗料的日统计

目录 前言 步骤1:date_format函数 步骤2:concat函数 步骤3、4:查询中使用变量 完整代码 前言 在数采数据已写入mysql数据库中后,进行数据处理,统计电量与耗料数据 由于数据库版本较低,无法使用较新的…

华为策略路由实验配置

配置接口相关的IP地址,并配置IGP路由协议使得全网互通 AR1配置接口策略路由 对经过本地转发的路由生效,对本地始发的路由不生效 配置nqa检测下一跳状态 nqa test-instance PC1 icmptrace nqa的管理者为PC1,NQA的测试例名为icmptrace test-…

全国青少年软件编程(Scratch)等级考试二级考试真题2022年12月——持续更新.....

1.一个骰子,从3个不同角度看过去的点数如图所示,请问5的对面是什么点数?( ) A.1 B.3 C.4 D.6 正确答案:A 答案解析: 根据图三,用右手定则,大拇指朝上指向6所对的方向,其余四指握起来表示旋转方向,可以看到先5后2,然后把这个姿势对应到图1中,就知道1的对面是5…

C语言进阶(8)——动态内存空间管理

前言 文章目录前言1.为什么存在动态内存分配2.动态内存函数的介绍2.1 malloc函数2.2 free函数2.3 calloc2.4realloc3 常见的动态内存错误4.经典笔试题题目 1:题目 2:题目 3:题目 4:5.C/C程序的内存开辟6.柔性数组6.1 定义6.2 柔性…

1.5、中断和异常

整体框架 1、中断的概念和作用 当中断发生时,CPU 立即进入核心态\color{red}核心态核心态 当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理 对于不同的中断信号,会进行不同的处理 发生了中断&#xff0c…

记录--“非主流” 的纯前端性能优化

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 性能优化一直是前端研究的主要课题之一,因为不仅直接影响用户体验,对于商业性公司,网页性能的优劣更关乎流量变现效率的高低。例如 DoubleClick by Google 发现&…

MD5加密

MD5加密 md5加密 明文 加密变成 128位二进制 --> 32位16进制字符串的密文 MD5特征: 明文一样, 得到密文一样密文一样, 推出明文一样明文不一样, 得到密文不一样 缺点: 现在网上有很多暴力破解的网址,直接使用md5加密还是不太安全 为了提高安全性&am…

Linux常用命令——vmstat命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) vmstat 显示虚拟内存状态 补充说明 vmstat命令的含义为显示虚拟内存状态(“Viryual Memor Statics”),但是它可以报告关于进程、内存、I/O等系统整体运行状态。 语法 vmst…

Java高并发编程实战,异步注解@Async自定义线程池

一、Async注解 Async的作用就是异步处理任务。 在方法上添加Async,表示此方法是异步方法; 在类上添加Async,表示类中的所有方法都是异步方法; 使用此注解的类,必须是Spring管理的类; 需要在启动类或配置类…

ELK日志(1)

Elasticsearch开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful 风格接口,多数据源,自动搜索负载等。RESTFUL特点包括&#xf…

MES系统之工控

MES系统之工控 要控制MES系统首先要对他有个了解。MES系统最早由1990年,由美国先进制造研究中心AMR提出的,当时中文意思叫制造执行系统概念。直到1997年,MESA(制造执行系统协会)提出了MES功能组件和继承模型,到20世纪90年代初期&a…

动态内存管”家“

🐋动态内存管理🦖动态内存分配存在的意义🦖动态内存函数的介绍🐤malloc和free🐤calloc🐤realloc🦖常见动态内存错误🐤对空指针的解引用操作🐤对动态开辟空间的越界访问&a…

springMVC的响应

SpringMVC接收到请求和数据后,进行一些了的处理,当然这个处理可以是转发给Service,Service层再调用Dao层完成的,不管怎样,处理完以后,都需要将结果告知给用户。 对于响应,主要就包含两部分内容&…

关于 sensor hdr 模式下不出图/出图异常的排查方法

1、问题背景:有项目调试过 ov02k10(1920*1080)和 sc301IoT(2048*1536)两款 sensor, 都有出现 hdr 模式下出图异常或者不出图的问题,总结下排查过程及注意事项;2、问题现象:a、ov02k1…

Odoo 16 企业版手册 - 库存管理之寄售

寄售 使用“「设置」”菜单下提供的「寄售」选项,可以对库存中储存的产品设置所有者。产品将由零售商销售,但产品的实际所有权将由供应商持有,直到产品出售给客户。通过这种方法,您可以轻松地将未售出的产品退还给供应商。在寄售的…

java对接阿里云短信服务详解(验证码,推广短信,通知短信)

前言 小前提: - java:springboot框架,maven版本管理。 - 阿里云:有账号,已经进行实名认证。 java对接阿里云短信服务详解(验证码,推广短信,通知短信)前言1. 登录阿里云进…

基于servlet+mysql+jsp实现体育用品商城

基于servletmysqljsp实现体育用品商城一、系统介绍1、系统主要功能:2、环境配置二、功能展示1.主页(客户)2.登陆(管理员)3.主页(管理员)4.订单管理(管理员)5.客户管理(管理员&#x…