![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
知识杂谈
文章平均质量分 67
Brad.Ji
这个作者很懒,什么都没留下…
展开
-
握手信号出现时序违例怎么办
如果你参加过IC校招面试,自然会被问到“setup/hold的概念,以及setup/hold违例怎么办?”这时候,你肯定会立马在脑海中从打拍或者插buffer两个答案中选一个。但是在实际项目中,往往没有这么简单。举一个实际的场景:AXI master和AXI slave这一簇信号出现setup时序违例怎么办?1、从AXI master 到AXI slave 出现setup违例;2、从AXI slave 到AXI master出现setup违例;3、两者都出现setup时序违例。.转载 2022-05-10 14:55:03 · 752 阅读 · 0 评论 -
流水线设计艺术(一)
由于对ASIC速度要求的不断提高,推动了在每个时钟周期计算方面电路数据吞吐量的要求,故而采用流水线的方法对数据处理进程进行流水切割,提高时钟频率增加处理速度,但是这样处理的代价就是系统的延迟和面积的增加。 流水线切割就是通过在长组合逻辑中加入寄存器,减少整体的组合延迟,从而提高时钟频率提高性能。 由上述可知,增加流水线切割就是加入寄存器,但是新加入的寄存器除了增添了整体的系统延迟之外也添加了额外资源消耗。 下图即为加入寄存器流水切割前的电...原创 2022-04-05 20:04:09 · 154 阅读 · 0 评论 -
Serdes数据流
图中蓝色背景子模块为PCS层,是标准的可综合CMOS数字逻辑,可以硬逻辑实现,也可以使用FPGA软逻辑实现,相对比较容易被理解。褐色背景的子模块是PMA层,是数模混合CML/CMOS电路,是理解SerDes去别于并行接口的关键。发送方向(Tx)信号的流向: FPGA软逻辑(fabric)送过来的并行信号,通过接口FIFO(Interface FIFO), 送给8B/10B编码器(8B/10B encoder)或扰码器(scambler),以避免数据含有过长连零或者连1。之后送给串行器(Serial...原创 2022-03-17 16:26:07 · 305 阅读 · 0 评论 -
低功耗设计(三)
晶体管级的功率降低优化 工艺进步会引起功耗降低这是必然的1.布局优化直连的模块,或者说数据输入输出比较复杂的模块应该处于硅上非常接近的位置,因为走线的长度会引起不必要的功耗,甚至是时序上的不可靠性,走线延时会明显影响时序性能,甚至出书Slack。2.衬底偏压泄露电流是Vth的函数,适当的提高反向偏置电压或者提高晶体管的阈值就会减少泄漏电流,从而降低静态功耗。设计Vth动态变换的电压模式,在比较活跃的状态下,反向偏置较小,而在待机状态下反向偏置较高,这就涉及到低功耗一...原创 2021-12-19 22:34:51 · 292 阅读 · 0 评论 -
低功耗设计(二)
实际上对ASIC设计而言,在架构和RTL基本上完成的时候,功耗已经决定了80%,后端或者EDA工具对功耗的影响也只是在上述预留的功耗中修修补补,但是最终占大头的也是那80%,而且对于现在的IC设计工程师而言,必须学会一些低功耗的编码技术。 1.状态机的编码与分解 就是使用格雷码编码状态机,减少翻转率。而且状态机的状态大部分也是先使用组合逻辑实现N_state的变换,然后再到时钟有效沿进行state的转变,而使用格雷码编码会减小使用组合逻...原创 2021-12-19 22:00:16 · 862 阅读 · 0 评论 -
低功耗设计(一)
要进行低功耗设计,首先就要清楚设备的低功耗出现在哪里,都有什么形式的低功耗,这方面看过一些论文或者一些博文的已经非常清楚了,首次启动的驱动电流,静态功耗,动态功耗三种。 首次启动的驱动电流就是大型设备第一次上电时那股巨大的浪涌电流,这会造成很大的功耗,但是对于数字的IC设计而言,这部分我们是难以解决的,一般是这个做这个设备的底层解决的。 静态功耗就是因为MOS管由于泄露电流造成的功耗,这方面的功耗随着工艺的进步越来越大。动态功耗或者开关功率是门输出切换时由...原创 2021-12-18 11:09:06 · 1874 阅读 · 0 评论 -
ASIC设计中的分频时钟
通常在一个SOC设计当中,或者任何一个工程项目当中,一般是很少用到单频时钟的,经常会用到分频时钟处理,经典的面试题中也有占比50%的三分频时钟设计;奇数分频时钟,50%占空比时钟处理方法:对使用奇数分频整除得到50%占空比的波形图如下图所示:其步骤就是:1.创建一个计数器,计数器从0到N-1,并且时钟在时钟的上升沿计时。2.采用两个切换触发器,按如下方式启动:tff_1en:使能在当计数器为0时;tff_2en:使能在当计数器为(N+1)/2,比如在3的时候就是...原创 2021-12-17 15:25:41 · 863 阅读 · 0 评论 -
多时钟处理问题
在具体的工程项目中,使用单个时钟固然能够减少违例情况的存在,但是基本上很少存在一种时钟存在的情况。 面对多时钟处理问题时遵循两个指导原则,时钟命名法和设计分区; 时钟命名是对不同处理区域的时钟进行不同区域的命名,比如系统时钟命名为SYS_clk; 发送时钟命名为Tx_clk,接收时钟命名为Rx_clk;某一个时钟域下的信号明明也就遵循这种原则,比如系统时钟下的信号:sys_rom_addr;sys_rom_data,这样一看就知道......原创 2021-12-16 17:22:04 · 827 阅读 · 0 评论 -
门控时钟与复位问题
门控时钟是降低功耗的一个有效技术,它能够在寄存器不工作时,直接让寄存器休眠,从而降低动态功耗及静态功耗,在时钟被门控时,时钟网络和及驱动的寄存器都停止工作,但是门控时钟也会导致时钟产生偏差,毕竟过了一个组合逻辑,如果时钟特别紧的话,可能会导致设计失败; 传统设计中,系统时钟连接到DFF的时钟引脚,这也就导致了功耗的三个主要组成部分: 1.组合逻辑消耗的功耗,组合逻辑的值在每个时钟边缘上都在变化,从而产生功耗; 2.触发器产生功耗,即使触发...原创 2021-12-14 16:37:59 · 3334 阅读 · 0 评论 -
db,dbc,dbm
db db即分贝,是用来计算衡量信号相对值的单位,一贝尔=10分贝,db其实也就是两个量比值的大小,倍数越大db也就越大,dB是功率增益的单位db,表示一个相对值。当计算A的功率相比于B大或小多少个dB时,可按公式10lgA/B计算。例如:A功率比B功率大一倍,那么10lgA/B=10lg2=3dB。也就是说,A的功率比B的功率大3dB;如果A的功率为46dBm,B的功率为40dBm,则可以说,A比B大6dB;如果A天线为12dBd,B天线为14dBd,...原创 2021-11-08 16:46:35 · 4281 阅读 · 0 评论