摘要: 5.1 介绍 能量以热量形式消耗,温度升高芯片失效率也会增加,增加散热片或风扇会增加整体重量和成本,在SoC级别对功耗进行控制就可以减少甚至可能消除掉这些开支,产品也更小更便宜更可靠。本章描述了减少动态功耗和静态功耗的各种技术。 5.2 功耗源 三个主要的功耗源:浪涌、静态功耗、动态功耗。 浪涌电流 阅读全文
posted @ 2022-12-13 10:43 Magnolia666 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 4.1 介绍 偶数时钟分频很好实现,使用一个计数器累加到一定值再清零,同时翻转电平就可以了。本章主要讲的是奇数分频和小数分频。 4.2 同步整数分频器 使用Moore状态机可以轻松的实现同步整数分频,需要几分频就有几种状态,但是如果是奇数分频,那么输出就不可能为50%占空比。 如图使用了一个七个状态 阅读全文
posted @ 2022-12-11 18:00 Magnolia666 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 3.8 异步FIFO(双时钟FIFO) 如上图,X通过xclk将数据写入FIFO,Y通过yclk将数据读出。注意这里写满标志信号在写时钟域,空信号在读时钟域。 对比握手信号,异步FIFO用于对性能要求较高的设计中,尤其是时钟延迟比系统资源更重要的环境中。 异步FIFO主要需要注意信号亚稳态的问题。 阅读全文
posted @ 2022-12-06 22:53 Magnolia666 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 3.6 握手信号方法 1)X将数放在数据总线上兵发出xreq信号,表示有效数据已经发到接收器Y的数据总线上。 2)xreq信号同步到接收器时钟域ylk上。 3)Y在识别xreq同步的信号yreq2后,锁存数据总线上信号。 4)Y发出确认信号yack,表示其已经接收了数据。 5)yack同步到发送时钟 阅读全文
posted @ 2022-11-23 17:50 Magnolia666 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 3.1 介绍 单时钟设计更易于实现,也更少出现亚稳态、建立和保持时间违例方面的问题。但在实践中,很少有设计只在一个时钟下运行。 3.2 多时钟域 多个始终可以有以下一种或多种时钟关系: 1、时钟频率不同。 2、时钟频率相同,但相位不同。 3.3 多时钟域设计的难题 1、建立时间和保持时间的违背。 2 阅读全文
posted @ 2022-11-21 23:02 Magnolia666 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 2.6.1 用同步复位进行设计 上面两个电路功能一样,但是下面的电路如果load信号为X,触发器便会停在不定态。可以使用编译指令告诉指定的信号为复位信号,综合工具就会使该信号尽可能接近触发器,防止初始化的问题发生。(将这些指令加入RTL代码中以避免重新综合) 2.6.1.1 使用同步复位的优点。 保 阅读全文
posted @ 2022-11-19 19:03 Magnolia666 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 2.4 时钟方案 2.4.1 内部产生的时钟 应尽量避免內部产生时钟。 组合逻辑产生时钟会引入毛刺,也会引起时序方面的问题。同步时序电路数据的毛刺不会引起任何问题,而毛刺出现在时钟输入端或异步输入端就会产生明显的影响。 毛刺到达时钟输入端如果数据变化,会违背建立和保持时间。即使没有违背时序要求,寄存 阅读全文
posted @ 2022-11-16 23:35 Magnolia666 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 2.1 概述 这章主要内容是ASIC设计时的一些建议,这些建议独立于EDA和工艺,主要针对模块设计和存储器接口。 2.2 同步设计 同步设计特点:单个主时钟和单个主置位/复位信号驱动设计中所有时序器件。 同步设计:ASIC设计时域控制最安全的方法。 2.2.1 避免使用使用行波计数器。 行波计数器: 阅读全文
posted @ 2022-11-13 18:43 Magnolia666 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 听说这本书对数字IC设计中的常见问题讲的非常清楚易懂,看了目录感觉确实都是数字设计中一些关键问题,而且一共才217页,争取这个月看完吧。 书的PDF资源: 链接:https://pan.baidu.com/s/1b981albw_aZwLOhBvlHqpw 提取码:80zc 1.1简介 同步系统中如 阅读全文
posted @ 2022-11-12 22:34 Magnolia666 阅读(553) 评论(2) 推荐(1) 编辑
摘要: Tb/clock 这题要求给dut模块一个时钟。 module top_module ( ); reg clk; always #5 clk=~clk; initial begin clk = 0; end dut u0(clk); endmodule Tb/tb1 产生指定的波形,使用延时语句给信 阅读全文
posted @ 2022-11-08 19:58 Magnolia666 阅读(269) 评论(0) 推荐(0) 编辑