学习笔记--Verilog HDL高级数字设计--第六章组合逻辑与时序逻辑的综合

2023-11-02

组合逻辑与时序逻辑的综合

综合引擎能够自动完成一组布尔函数的最简化,并将结果映射成能满足设计目标的硬件实现。(转换,优化,映射)
本章将介绍如何编写易于综合的Verilog模型
综合工具完成的工作:
(1)检测并消除冗余项
(2)查找组合反馈环路
(3)利用无关紧要条件
(4)检测出未使用状态
(5)查找并消除等价状态
(6)进行状态分配
(7)在满足物理工艺的面积和/速度限制下,综合出最优多级逻辑实现。(该步既包括了最优化技术,又有工艺映射内容)

综合简介

Y形图

在这里插入图片描述
在这里插入图片描述
三个轴代表看数字电路的三种角度。
同心圆代表不同的抽象程度。
行为描述角度:我们只关心电路和系统的功能,不关心它的具体实现。换句话说,设计被看作是一个black-box,通过产生一些输出符号来响应一些输入符号来处理信息。最重要的是过去输出和当前输入的依赖性,但是输入、输出数据和一些时钟信号之间的时序关系也很重要。
结构描述角度:用组成电路的构件以及它们之间的连接方式(connectivity)作为研究电子电路的结构化方法。行为描述与结构描述之间存在一对多的关系。结构方案通常在电路复杂性、性能、能源效率以及其他实用性方面有所不同。
物理描述角度:我们关心各种硬件组组件和线如何安排在可用的空间中。
不同的抽象层次
在这里插入图片描述
可以看出system和architecture抽象层次无时钟概念。

BFM

以下内容摘抄自我老师的微博:
http://blog.sina.com.cn/s/blog_5e9b181a0100y6lt.html
以做一个MAC的core为例(背板是PCI总线),那么我们需要一个MAC_BFM和PCI_BFM及PCI_BM(PCI behavior. model)。MAC_BFM的主要功能是产生以太网帧(激励源),随机的长度和帧头,内容也是随机的,在发送的同时也将其复制一份到PCI_BM中;PCI_BFM的功能则是仿PCI总线的行为,比如被测收到了一个正确帧后会向PCI总线发送一个请求,PCI_BFM则会去响应它,并将数据收进来;PCI_BM的主要功能是将MAC_BFM发送出来的东西与PCI_BFM接收到的东西做比较,由于它具有了MAC_BFM的发送信息和PCI_BFM的接收信息,只要设计合理,它总是可以自动地、完全地去测试被测是否工作正常,从而实现自动检测。
因此,BFM可以看作是总线接口的行为级模型,他用来测试接在总线上的module。因此,这个测试平台就是BFM。VMM测试模型和VCM模型也许里面就是这样的测试平台的功能集合还有对一些测试激励产生的模型

逻辑综合

综合过程中的转换一定要保证综合前后电路输入-输出的等效性,以及生成电路的可测性
综合过程中的优化是基于迭代搜索的,先逻辑优化再性能优化。
关键算法:分解(decomposition)、因式分解(factoring)、替代(substitution)和消去(elimination)。

分解

分解操作依据新节点来表示一个单一的布尔函数。这些节点对应多个布尔函数的公共因子,可以用来消除重复逻辑
F = abc + abd + a’c’d’ + b’c’d’
分解操作可以用两个附加内部节点——X = ab,Y = c + d——通过复用形成函数,从而减小硬件电路面积。在这里插入图片描述分解后电路

因式分解

在一组函数中寻找公共因子的过程叫因式分解。通过因式分解可产生一组和之积形式的函数,可以利用它将两级实现的电路转换为等效的多级实现。(使面积减小,但可能性能也变差)
假设F = ac + ad + bc + bd +e可因式分解为F = (a + b)(c + d) + e
在这里插入图片描述
在这里插入图片描述符号少逻辑单元便少

替代

替代操作就是用原有的输入和其他函数表示布尔方程的过程。(减少重复逻辑
假设*G = a + b, F = a + b + c *
替换之后:F = G + c
在这里插入图片描述
a图需要三个加法器,b图需要两个。

消去

消去过程可去除函数中的某个节点并简化电路结构,这一步也称为电路展平。(创建一个更快速的两级结构)
假设F = Ga + G’b, G = c + d
消去之后:F = ac + ad + bc’d’
在这里插入图片描述

高级综合

又称为“行为综合”和“结构综合”。高级综合是从一个不包含具体实现细节的输入-输出算法开始的。
执行的两个主要步骤:资源分配和资源调度,以产生一个包含数据通路单元、控制通路单元和存储器的电路结构。
一个假象算法如图:
一个假象算法
数据流图(b)显示了数据之间的依赖关系。
资源分配标识出算法中所用的运算符(逻辑单元),并且推断出用于保存算法顺序执行过程中产生的数据所需的存储资源,还将操作符(运算资源)以及存储资源绑定到数据通路资源中。
资源调度将行为描述中的操作分配到特定的时钟周期(隐含状态),以实现算法设定的操作顺序。
这将最终确定在一个给定时钟周期中将要使用的,以及不同时钟周期之间共享的计算单元(操作符)数量。

组合逻辑的综合

利用无关紧要项

在综合时caseif语句中使用x的赋值将被处理成无关紧要项。即在此输入下,不关心case中的赋值情况,以减少实现电路所需的逻辑。

带锁存器的时序逻辑综合

综合要点
(1)含反馈的组合原语网表和一组连续赋值语句描述可能会被标为一个错误条件,且不可综合。但连续复制语句中使用带反馈的条件操作符时,综合工具会判定这是一种有意生成锁存器的方法(这种情况会用组合逻辑实现,不会在单元库中寻找单元去实现)。
(2)在电平敏感周期性行为中,如果if和case语句只是条件不完整则综合出锁存器;如果条件完备,但出现变量将其指显示地赋给它自身的情况,则综合出带反馈的多路复用器(类似带反馈的使用条件操作符的assign)。

带有触发器的时序逻辑综合

触发器仅有边沿敏感的行为综合而来,但并不是在边沿敏感的行为中赋值的每一个寄存器变量都会综合成触发器。那么就需要考虑一下几个问题。
(1)综合工具如何推导出对触发器的需求的?
(2)边沿敏感行为中被赋值的寄存器变量,什么时候会自动综合成一个触发器?
(3)触发器是由一个时钟信号进行同步的——综合工具如何从其他信号中区分出同步信号来?或者它必须要用特定的标识符来识别么(如clock)?
(4)如果一个设计中包含多级触发器,那么应该怎样描述模型才能确保它们能够并行工作?

综合工具如何推导出对触发器的需求的? && 边沿敏感行为中被赋值的寄存器变量,什么时候会自动综合成一个触发器?

在边沿敏感行为中:
(1)如果该寄存器变量在进行行为描述的范围外被使用。
(2)如果该寄存器变量在未被赋值前就已在行为描述中被用到。(反馈)
(3)如果该寄存器变量仅在行为描述动作的某些分支上被赋值。
综合要点
当一个变量在被内部行为(而不是外部行为)引用前就被周期性行为赋值,综合过程将消除这个变量。
例:
在这里插入图片描述
寄存器变量k仅在内部使用(对应第一条)
它被赋值前未被引用(对应第二条),所以变量k仅仅用来支持算法,并不需要实际的硬件存储器,因此它将在综合时被消除。
综合要点:
由边沿敏感行为赋值并在该行为之外会用到的变量会被综合为一个触发器输出。
例:
在这里插入图片描述
D_out会被消除,但如果将D_out定义为输出端口,则它将被综合为一个触发器输出。

触发器是由一个时钟信号进行同步的——综合工具如何从其他信号中区分出同步信号来?或者它必须要用特定的标识符来识别么(如clock)?

在一个边沿敏感周期性行为的事件控制表达式中,边沿敏感信号由译码的顺序决定哪些是控制信号,哪一个是时钟信号(同步信号)。
如果事件控制表达式对多个信号都是边沿敏感的,那么在该行为描述中必须首先声明if条件语句。
该事件控制表达式的控制信号必须在if条件分支中优先进行译码(例如。首先对复位信号进行译码)。
同步信号不会在if语句条件中被明确地写出,但默认情况下,if语句中最后一个分支的动作必须进行同步操作。

显示状态级的综合

在介绍该内容之前,先来学习一下人工设计状态级的方法,这对后续内容的理解会有帮助。

人工方法设计

设计步骤:
(1)构建状态机的STG
(2)消去等价状态
(3)选取状态码(如二进制码)
(4)对状态编码
(5)求解描述D触发器输入的布尔方程
(6)利用卡诺图化简布尔方程
假设要设计一个将串行发送的BCD码Bin转换为一个余3码的串行比特流Bout的转换器。且Bin和Bout都是先从LSB发送。
在这里插入图片描述
(1)构建状态机的STG
在这里插入图片描述
假设Bin[0]为LSB,如果Bin[0]做完加法运算有进位则跳转到S_2,否则跳转到S_1;若Bin[1]有进位则跳转到S_4……
(2)分配码字
在这里插入图片描述
(3)求解并化简布尔方程
在这里插入图片描述
将q2+和Bout转换为与非门结构得
在这里插入图片描述
在这里插入图片描述
可以得到原理图为:
在这里插入图片描述

状态编码

状态编码决定了保存状态所需要的触发器数量,它会影响状态机的下一状态和输出逻辑复杂度。综合工具内嵌了各种算法以寻找优化的状态分配方案,设计者也可以采取手动方式进行状态编码的分配。
手动分配原则:
(1)如果对于某个给定输入,两个状态会跳转到相同的下一状态,则给它们分配相邻的码字。
(2)对相邻的状态分配相邻的码字。
(3)对于某个给定的输入具有相同的输出的状态,分配相邻的码字。
常见的状态分配编码
在这里插入图片描述
Gray码和Johson码特点是相邻编码仅有一个位不同,可以减少相邻物理信号线信号同时变化的情况,从而减少串扰的可能。而且在实际硬件操作中发生状态变化时,该类编码可减少通过中间状态的过度时间
One-Hot编码使用的触发器数目相对较多,但其状态级中只需要对寄存器中的个位进行译码,所以它的译码逻辑比较简单。因此One-Hot编码速度更快,且额外的触发器面积可被译码电路节省的面积抵消。而且使用case语句来描述的One-Hot编码可能与if语句描述产生不同的结果(case是对所有bit进行判断,if可检测单一bit)。
注意,如果一个状态编码没有覆盖所有码值,那么需要附加的逻辑来检查无效状态,并从无效状态中恢复(不会跳转进入无效状态,而可能由噪声将状态级带入无效状态)。这种附加逻辑会影响实现设计所需的面积。

综合要点

一般来说,应避免输入的变化与状态的变化同步进行,除非输入对于跳变沿来说是无关紧要状态。

寄存器逻辑

利用时钟进行同步赋值的变量称为寄存器类型变量。Moore状态机的输出不是寄存器类型变量,但当输入端变化时它不会产生毛刺。

寄存输出的状态机

在这里插入图片描述
其中c和d的结构满足寄存器的输出与状态级当前时钟周期的状态相对应。
但是我认为Mealy型状态级的状态转移和输入是相同沿同步时,即使使用c的结构也还是会延迟一个周期输出,因为Mealy输出与当前输入有关,即使能预测下一周期状态也无法预测下一周期的输入信号。

隐式状态机综合

在这里插入图片描述
隐式状态机在一个行为中具有一个或多个时钟同步的(边沿敏感的)时间控制表达式。显式状态机的同步行为只能有一个这样的事件控制表达式。隐式状态机中的多个事件表达式将行为动作分配到状态机的不同时钟周期。
隐式状态机不使用明确的reg来表示状态值,而是由周期性 行为中的动作变化来隐性地定义状态。
隐式状态机的限制:每一状态只能由其他一种状态进入,因为状态是由一个时钟周期进入下一时钟周期时行为的进展情况决定的,而一个时钟周期只能从他紧邻的前一个时钟周期进入。

预测综合结果

运算符的综合:①通过综合工具中的专用映射器以某种特殊的方式来处理;②综合工具将会把这些运算符转换成等效的布尔方程组并进行优化。
综合结果的结构将会反映出编译器的语法分析过程(从左到右)和运算符的优先级,设计者可以是用括号来形成子表达式,以影响综合结果。

循环的综合

在这里插入图片描述

带内嵌定时控制的静态循环

如果一个静态循环包含内嵌的边沿敏感事件控制表达式,该循环的计算行为会被同步,且会分布到一个或多个时钟周期上执行。因此该行为就是循环的每次迭代都在时钟沿之后进行的隐式状态机
在这里插入图片描述
在这里插入图片描述

带内嵌定时控制的非静态循环

非静态循环可以实现多周期操作。因为可以将循环的动作分配到多个时钟周期去执行。为了综合,非静态循环的迭代操作必须通过一个同步的边沿敏感的事件控制表达式来分割。

不带内嵌定时控制的非静态循环

我认为语义就是一个带反馈的组合逻辑,能够仿真但不能综合。

状态机替代不可综合循环

循环结构可由等效的可综合时序行为来代替。替代的关键是用显示有限状态机来描述这种行为。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学习笔记--Verilog HDL高级数字设计--第六章组合逻辑与时序逻辑的综合 的相关文章

  • 【HDLBits 刷题 10】Circuits(6)Finite State Manchines 10-17

    目录 写在前面 Finite State Manchines Lemmings1 Lemmings2 Lemmings3 Lemmings4 Fsm onehot Fsm ps2 Fsm ps2data Fsm serial 写在前面 HD
  • 【数字 IC】从底层重新认识 D 触发器、建立时间和保持时间

    目录 1 NMOS 和 PMOS 2 MOS 管搭建逻辑门 3 锁存器和触发器 3 1 交叉耦合反相器 3 2 SR 锁存器 3 3 D 锁存器 3 4 D 触发器 4 D 触发器的建立 保持时间 1 NMOS 和 PMOS MOSFET
  • ARM架构和x86架构有什么区别?

    X86结构和ARM架构是主流的两种CPU架构 X86架构的CPU是PC服务器行业的老大 ARM架构的CPU则是移动端的老大 X86架构和arm架构实际上就是CISC与RISC之间的区别 很多用户不理解他们两个之间到底有那些区别 实际就是他们
  • chisel快速入门(二)

    上一篇见此 chisel快速入门 一 沧海一升的博客 CSDN博客简单介绍了chisel 使硬件开发者能快速上手chisel https blog csdn net qq 21842097 article details 121415341
  • FPGA数字IC刷题58道Verilog题解代码及视频讲解【FPGA探索者】【同步/异步FIFO】【跨时钟】

    牛客 Verilog 刷题入门篇1 24 进阶篇1 34 题解代码 所有代码均能通过测试 配合视频讲解效果更佳 为避免内容冗余 本文只给出代码 部分题目给出必要说明 很多题目本身出题有些问题 着重理解题目 没必要钻牛角尖 本文作者 FPGA
  • 【硬件架构的艺术】学习笔记(2)同步和复位

    目录 写在前面 2 同步和复位 2 1 同步设计 2 1 1 避免使用行波计数器 2 1 2 门控时钟 2 1 3 双边沿或混合边沿时钟 2 1 4 用触发器驱动另一个触发器的异步复位端 2 2 推荐的设计技术 2 2 1 避免在设计中出现
  • 【流水线】FPGA中流水线的原因和方法

    目录 写在前面 什么是流水线 无流水线设计 流水线设计 流水线的后果 结论 写在前面 对 FPGA 现场可编程门阵列 进行编程是一个定制其资源以实现确定逻辑功能的过程 这涉及使用FPGA的基本构建模块 如可编程逻辑模块 CLB 专用多路复用
  • 逻辑综合——优化电路

    对进行时序路径 工作环境 设计规则等进行约束完成之后 DC就可以进行综合 优化时序了 DC在优化过程中主要的策略将在下面进行说明 然而 当普通模式下不能进行优化的 就需要我们进行编写脚本来改进DC的优化来达到时序要求 DC进行优化的目的是权
  • 【HDLBits 刷题 5】Circuits(1)Combinational Logic

    目录 写在前面 Combinational Logic Basic Gates Wire GND NOR Another gate Two gates More logic gates 7420 chips Truth table Two
  • (一)低功耗设计目的与功耗的类型

    一 低功耗设计的目的 1 便携性设备等需求 电子产品在我们生活中扮演了极其重要的作用 便携性的电子设备便是其中一种 便携性设备需要电池供电 需要消耗电池的能量 在同等电能提供下 低功耗设计的产品就能够工作更长的时间 时间的就是生命 因此低功
  • 数字IC设计学习笔记_静态时序分析STA_ PrimeTime 基本概述

    数字IC设计学习笔记 PrimeTime 基本概述 1 PrimeTime 基本概述 2 运行模式 1 PrimeTime 基本概述 PrimeTime Synopsys公司提出的 针对于复杂的 全芯片的 门级静态时序分析的工具 可集成在逻
  • 【Verilog 常见设计】(0)二进制码和格雷码互转 Verilog 实现

    目录 格雷码介绍 转化原理 Verilog 实现 testbench 测试代码 仿真波形 格雷码介绍 在一组数的编码中 若任意两个相邻的代码只有一位二进制数不同 则称这种编码为格雷码 Gray Code 另外由于最大数与最小数之间也仅一位数
  • 芯片面积估计方法

    一 概念 芯片面积的主要涵盖部分分为三部分 IO 芯片的信号及电源pad等 Standard cell 实现芯片的功能逻辑 Macro block 第三方IP PLL DAC POR Memory etc 芯片面积估计就是通过目标工艺的库信
  • 电力电子转战数字IC——我的IC面试(2022.10.14更新)

    目录 感谢信 HKWS10 14面试 25mins JXC10 13面试 30mins JDSK9 23面试 42mins 快速的自我介绍 介绍一下这个MCDF的项目 你这里写SV搭建的验证环境 和UVM搭建的有什么区别吗 你这里写了覆盖率
  • 【EDA Tools】Spyglass 检查 Verilog 和 SystemVerilog 混合语言及 Lint 检查

    目录 写在前面 读入设计 发现问题并解决 Lint 检查 写在前面 Spyglass可以用于检查混合设计中的语言互操作性和一致性问题 对于设计中包含多种硬件描述语言的情况 Spyglass 能够识别并解析其中的模块及其互连 并对其进行验证
  • STA——multicycle path

    目录 0 多周期路径 1 发射时钟和捕获时钟相同 2 发射时钟和捕获时钟不同 3 examples 之前去地平线面试的时候被问到了multicycle path的一点问题 其实这个问题我应该知道 看过 Constraining Design
  • 【HDLBits 刷题 11】Circuits(7)Finite State Manchines 18-26

    目录 写在前面 Finite State Manchines Fsm serialdata Fsm serialdp Fsm hdlc Design a Mealy FSM ece241 2014 q5a ece241 2014 q5b 2
  • IC封装——从基本概念到TSV

    一 IC封装 在之前文章中有大致提过封装 这里展开讲讲 芯片生产流程 沧海一升的博客 CSDN博客每个半导体产品的制造都需要数百个工艺 泛林集团将整个制造过程分为八个步骤 晶圆加工 氧化 光刻 刻蚀 薄膜沉积 互连 测试 封装 芯片生产流程
  • 逻辑综合——工艺库

    一 库文件的设置 运行DC时需要用到的库文件有 目标库 target library 链接库 link library 符号库 symbol library 算术运算库 synthetic library 1 目标库 目标库是综合后电路网表
  • 数字后端知识点扫盲——CTS (上)

    后端和前端一样在IC设计中扮演着非常重要的角色 甚至可以说入门的前端设计工程师对timing的理解远不如一个后端设计工程师 因此想要更好的理解电路的timing在后端P R之后或者说在大规模的设计中后端如何实现clock对DFF的驱动 就需

随机推荐

  • Python学习——作图plt.cm.Set()用法

    https blog csdn net qq 41938858 article details 87705470
  • 解决Springboot 'jmsMessagingTemplate' not loaded because Ancestor org.springframework.boot.autoconfig

    问题来源 SpringBoot集成Activemq 报错内容 Description Field jmsTemplate in com xihuanyuye Producer required a bean of type org spri
  • Android爬取网页JSON数据详细教程【新手向】

    这几天做一个Android获取Json的任务 发现Jsoup只能获取静态页面 无法获取动态页面的Json数据 有同学给我更正 Jsoup可以爬取动态页面 但必须要加请求头 data 以下为正确例子 String url 你的网页接口 Map
  • PAT题库代码(个人版本)~~持续更新,持续改进!

    引言 之前在网上看到浙江大学的题目系统PAT 想要刷一刷玩 目前是乙级题库 题目不多 持续更新 努力 话不多说 上代码 题目以及运行效果这里就不给出了 与PAT网站上的相同 1002 写出这个数 include
  • CMOS到触发器(一)

    1 MOS晶体管结构与工作原理简述 我们或多或少知道 晶体管在数字电路中的主要作用就是一个电子开关 通过电压或者电流 控制这个 开关 开还是关 晶体管大概有两种分类 一种是双极性晶体管 BJT bipolar junction transi
  • AJAX模拟Form表单上传

    当前端上传图片的时候 需要传递给后端的是一个file对象 而不是一个路径 而files就是包含了图片的所有设置 包括大小 类型 内容等等 var xxx this container find xxx 0 files 将jquery转换成d
  • IDEA主菜单栏不小心按消失了的解决方法

    如图所示 这两行的消失解决方法如下 第一行 在代码区按两下shift键 出现搜索栏 在搜索栏里输入view 如下 这里没有找到Main Menu 点击左下方的很小的more 显示如下 找到Main Menu 点击使其变为ON即可 第二行 点
  • 【C++】map/multimap容器

    1 map基本概念 2 map构造和赋值 include
  • numpy如何将数组元素全部输出,不折叠展示!

    在print之前添加 np set printoptions threshold np inf 将数组的元素全部打印出来 添加前 添加后
  • 本网站服务器。。。。。。。。这句话是什么意思呢?

    网站一般是建立在服务器中 服务器一般是由中央机房管理 所以中央机房在哪个国家地区 一般是由当地的政府进行管理 其他的地方暂时无法管理 今天我们在分享一些写真壁纸 更多写真壁纸 可以关注公众号 优星馆
  • python导入模块的变量,使用python中的变量导入模块

    本问题已经有最佳答案 请猛点这里访问 我有一个即时导入模块的脚本 由于模块名称会在新版本出现时立即更改 因此很难检查脚本中的特定模块名称是否也发生了更改 因此 我将模块名保存在脚本顶部的变量中 如本例中所示 var1 moduleName1
  • 我接手前同事写的烂Java代码,不小心搞出了一个内存泄露事故

    V xin ruyuanhadeng获得600 页原创精品文章汇总PDF 目录 String 字符串在内存里是如何存储的 String intern 方法 String 字符串是如何引发内存泄漏呢 总结 今天给大家聊聊咱们平时写代码的时候
  • 【python】12.比较运算符与逻辑运算符

    比较运算符 运算符 描述 示例 判断相等 如果两个操作数的结果相等 则条件结果为真 True 否则条件结果为假 False a 3 b 3 则 a b 为True 不相等 如果两个操作数的结果不相等 则条件结果为真 True 否则条件结果为
  • Springbot启动报错-类文件具有错误的版本 61.0, 应为 52.0

    这是由于Spring6以及SprinBoot3 0开始最低支持JDK17 所以如果springboot版本设置过高 而jdk过低的话 就会报该错误 可以降低springboot或是提高jdk版本 降低springboot方式如下 打开pom
  • 【xshell】xshell 自动换行设置

    1 概述 linux连接终端使用从putty切换到xshell时 发现xshell中在显示长文本时不会自动换行 甚是郁闷 查看官方文档 解决方法为启用xshell中VT模式下的Auto Wrap Mode 搞定 如下图 初始VT模式 Aut
  • RTThread中falut定位方法

    RTThread中fault定位方法 在 RTThread中HardFault Handler分析 一文中已经分析了RTThread中对于fault中断的处理方法 接下来讲解如何根据错误输出信息对程序出现fault的位置进行定位 rtthr
  • Python基础(list列表的扩展方式和dict的用法)

    一 list列表扩展的方式有几种 或者说添加元素的方法 1 append 将对象追加到列表中最后一个元素的末尾 2 extend 通过从可选对象追加元素来扩展列表 3 insert 在索引前插入对象 以此来扩展列表 二 对 cherry l
  • 车与羊的选择

    电影 决胜21点 开始部分 课堂上教授问了这样一个问题 假设你正在参加一个电视游戏节目 被要求在三扇门中选择一扇 其中一扇后面有一辆车 其余两扇后面则是羊 你选择了一扇门 假设是1号门 这时候不知什么原因 主持人 他知道各个门后面都有什么
  • Typec协议之PD通信消息详解一

    Messages 消息由消息头和可变长度 包括零 数据部分组成 消息 头 数据 格式如下图 1 只包含头消息 其它为PHY Layer 2 包含消息头和数据消息 3 包含消息头和数据消息 和扩展的消息 Message Header 从表中可
  • 学习笔记--Verilog HDL高级数字设计--第六章组合逻辑与时序逻辑的综合

    组合逻辑与时序逻辑的综合 综合引擎能够自动完成一组布尔函数的最简化 并将结果映射成能满足设计目标的硬件实现 转换 优化 映射 本章将介绍如何编写易于综合的Verilog模型 综合工具完成的工作 1 检测并消除冗余项 2 查找组合反馈环路 3