草庐IT

【《硬件架构的艺术》读书笔记】02 时钟和复位(3)

2.6.1用同步复位进行设计  上面两个电路功能一样,但是下面的电路如果load信号为X,触发器便会停在不定态。可以使用编译指令告诉指定的信号为复位信号,综合工具就会使该信号尽可能接近触发器,防止初始化的问题发生。(将这些指令加入RTL代码中以避免重新综合)2.6.1.1使用同步复位的优点。保证电路100%同步。同步复位会综合为更小的触发器,特别是复位信号被触发器输入逻辑门控(如上图)。确保复位只发生在有效时钟沿,过滤掉毛刺。一些设计中复位由内部产生,这样的设计中使用同步复位信号,可以将时钟间的复位毛刺过滤掉。 2.6.1.2缺点不是所有ASIC库中都带有内置的同步复位触发器,很容易把复位逻辑

【《硬件架构的艺术》读书笔记】02 时钟和复位(2)

2.4时钟方案2.4.1内部产生的时钟应尽量避免內部产生时钟。组合逻辑产生时钟会引入毛刺,也会引起时序方面的问题。同步时序电路数据的毛刺不会引起任何问题,而毛刺出现在时钟输入端或异步输入端就会产生明显的影响。毛刺到达时钟输入端如果数据变化,会违背建立和保持时间。即使没有违背时序要求,寄存器也可能输出意料外的值。毛刺可能导致计数器增加额外的计数值,如图。  解决方法:组合逻辑输出增加一个寄存器输出,这个寄存器可以阻止组合逻辑产生的毛刺。 组合逻辑时钟也会增加时钟延迟,可能导致违背时序要求。 图中由于时钟偏移导致违背了建立时间。(这里应该也有问题,这图上CLK往左移dlycombo不也违背建立时间

【《硬件架构的艺术》读书笔记】02 时钟和复位(1)

2.1概述这章主要内容是ASIC设计时的一些建议,这些建议独立于EDA和工艺,主要针对模块设计和存储器接口。2.2同步设计同步设计特点:单个主时钟和单个主置位/复位信号驱动设计中所有时序器件。同步设计:ASIC设计时域控制最安全的方法。2.2.1避免使用使用行波计数器。行波计数器:将触发器输出作为其他触发器的时钟输入端,由于数据相对时钟会有延迟,所以不推荐这种使用方式。2.2.2门控时钟门控单元会导致时钟偏移,并会引入尖峰脉冲单元作用于触发器。可能仿真正常,综合出问题。 2.2.3双边沿或混合边沿时钟 缺点:为使用同步复位和使用插入扫描链这样的测试方法带来麻烦,增加了确认关键信号路径的难度。不

【《硬件架构的艺术》读书笔记】01 亚稳态的世界

听说这本书对数字IC设计中的常见问题讲的非常清楚易懂,看了目录感觉确实都是数字设计中一些关键问题,而且一共才217页,争取这个月看完吧。书的PDF资源:链接:https://pan.baidu.com/s/1b981albw_aZwLOhBvlHqpw提取码:80zc1.1简介同步系统中如果数据和时钟满足建立保持时间的要求,不会发生亚稳态(meastable)。异步系统中数据和时钟关系不固定,可能违反建立保持时间,就会输出介于两个有效状态之间的中间级电平,且无法确定停留在中间状态的时间,或者过了一定的延迟后才能正常转换,这就是亚稳态。1.2亚稳态理论亚稳态产生原因:违背了触发器的建立时间或保持

【《硬件架构的艺术》读书笔记】09 电磁兼容性能设计指南(3)

9.6.3微控制器级技术解决噪声问题的最佳途径在源头。9.6.3.1多时钟和接地去耦电容:1、容量应足够大以在转换时间内提供所需的电流。2、应足够小以使时钟频率小于电容的谐振频率。还应遵守:1、所有电源/地线对中尽可能是均衡电流。2、除ESD保护外,应避免在内部连接电源引脚和接地引脚。3、芯片上使用独立的电源-地线对来把有噪声的电路和敏感电路隔离开。9.6.3.2消除竞态条件竞态条件定义了一种条件,即:器件输出取决于输入端两个或多个事件,导致设备输出的转换。这就额外增加了系统噪声。9.6.3.3降低系统速度降低系统工作频率至绝对值最小值。9.6.3.4驱动器规格驱动器对于负载充电的速度快于负载

【《硬件架构的艺术》读书笔记】09 电磁兼容性能设计指南(2)

这一节就大致浏览一下,不细看了。9.6减少EMC/EMI的技术三个方法:1、在源头抑制发射。2、耦合路径尽可能低效。3、受体几乎不受发射影响。9.6.1系统级技术9.6.1.1展频时钟技术(SSC)在数字系统内。周期性的时钟信号是EMI辐射的主要原因。此外,控制与计时信号、地址和数据总线、互连电缆和连接器都会产生EMI发射。屏蔽是通过覆盖发射位置来减少EMI发射的一种简单方式,但额外增加了重量、空间和费用。低通滤波器减少EMI也有自身层面的问题,如对高速系统无效,另一个问题是技术不是系统性的,在任意一个指定节点降低EMI并不能减少在其他节点的发射。更有效的方法:展频时钟技术。将辐射传播到更宽频

【《硬件架构的艺术》读书笔记】08 消抖技术

8.1简介在电子设备中两个金属触点随着触点的断开闭合便产生了多个信号,这就是抖动。消抖使用来确保每一次断开或闭合触点时只有一个信号起作用的硬件设备或软件。(说人话就是每次断开闭合只对应一个操作)。抖动在某些模拟和逻辑电路中可能产生问题,因为这些电路反应太快会将开关脉冲误当作数据流。时序逻辑数字电路特别容易收到触点抖动的影响。开关抖动产生的电压波形干扰正常逻辑电路的振幅和时序规格要求。结果是亚稳定性、竞争、小脉冲和故障等问题导致电路失效。8.2开关行为   若开关用于开灯或启动风扇马达,则触点抖动基本没有影响,但是用作数字计数器、个人计算器或微处理器等设备的输入,由于触点抖动就会产生问题。计数器

【《硬件架构的艺术》读书笔记】07 处理字节顺序

7.1介绍 本章主要介绍字节顺序的的基本规则。(感觉偏软件了,不知道为啥那么会放进《硬件架构的艺术》这本书)。7.2定义 字节顺序定义数据在计算机系统中的存储格式,描述存储器中的MSB和LSB的位置。对于数据始终以32位形式保存在存储器中的真32位系统,字节顺序没有实际意义,若要将字节或16位半字映射到存储器中32位字的系统,字节顺序不匹配就会影响数据的完整性。大端模式:将MSB保存在最低存储器地址处。小端模式:把LSB保存在最低存储器地址处。下面是将0xAABBCCDD分别以大端和小端模式保存在存储器中。字节0表示最低存储器地址。  下面是两种模式对应存储器地址:  上面的是按字节形式处理数

【《硬件架构的艺术》读书笔记】06 流水线的艺术(3)

6.9流水线冒险冒险会干扰流水线并阻止下一条指令在目标时钟周期内的执行。冒险会降低流水线在理想情况下所能带来的速度提升。冒险分类:1、结构冒险:资源冲突导致硬件无法支持所有可能的指令组合同时执行。2、数据冒险:指令执行需要之前指令计算结果,而这个结果还在流水线中没计算出来。3、控制冒险:分支的流水线的其他指令改变程序计数器的值。通用方法:停止流水线直至风险消除,在流水线中插入多个“气泡”。6.9.1结构冒险  如图,MEM在一个周期内被两个指令使用,产生冲突。解决方法:如图,停一个周期,待对MEM的冲突解除后再恢复流水线。另一种方法:IF和MEM阶段使用不同的存储器来避免同时访问同一块存储器。

【《硬件架构的艺术》读书笔记】06 流水线的艺术(2)

6.6DLX指令集的实现这节开始将指令集相关内容,没学过相关知识,看不太懂,就快速浏览一下好了。DLX指令集包括五个部分:1、指令获取(IF)IRNPC从存储器中获取指令(PC为指针)并放入指令寄存器(IR),IR保存下个时钟周期所需指令,PC值递增4,指向下个指令地址。2、指令解码/寄存器获取(ID)   指令格式是固定的,所以读寄存器和解码可以同时进行。这称为固定域译码。3、执行/有效地址周期(EX)根据指令类型执行下面4个功能之一:a)访问存储器   b)寄存器——寄存器ALU指令   c)寄存器——立即数ALU指令d)分支指令   4、访问存储器/分支完成周期(MEM)a)访问寄存器