自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 竞争冒险亚稳态

竞争冒险亚稳态竞争冒险亚稳态

2023-09-10 20:43:17 105

原创 APB总线协议详解(附APB_SRAM RTL)

APB2 :AMBA 2 APB,基本APB协议;APB3 :AMBA 3 APB,比 APB2 多两个信号(PREADY , PSLVERR);APB4 :AMBA 4 APB,比 APB3 多两个信号(PPROT , PSTRB );APB(Advanced Peripheral Bus),高级外设总线。APB总线协议是ARM公司提出的AMBA总线结构之一,是一种片上总线结构。

2023-08-28 16:58:48 2399

原创 (十二)STA——练习题

课程来源

2023-08-25 20:25:51 102

原创 (十一)STA——门控时钟

功耗优化力度等级setup检查:hold检查:setup检查:hold 检查:setup检查:hold检查:setup检查:hold检查:setup检查:hold检查:

2023-08-25 20:09:32 74

原创 (十)STA——Data to Data check

课程来源

2023-08-25 16:33:59 277

原创 (九)STA——Time Borrowing

课程来源opening edge:边沿跳变之后是有效沿closing edge:边沿跳变之后是无效沿

2023-08-25 16:17:52 33

原创 (八)STA——鲁棒性验证

课程来源 以下是没有考虑OCV情况下: 考虑OCV:set_timing_derate -early

2023-08-25 15:21:56 33

原创 (七)STA——多时钟

课程来源capture 时钟时对原时钟的四分频。 ① 慢时钟到快时钟当然前面讲了,对于分频得到的时钟也可以定义成一个生成时钟。 setup检查: hold检查: 如果按照上面加约束,那对于满时钟来说过于严格,为了更加准确的约束,针对setup设multicycle。setup检查: hold检查: ② 快时钟到慢时钟 setup检查: hold检查: ① 整数倍时钟 ② 非整数倍时钟 ③ 相位移动

2023-08-25 13:00:00 62

原创 (六)STA——多周期半周期违路径

通常来讲,用半周期将A电路的数据打入B电路,半周期的建立时间非常紧,此时保持时间非常松,这样做是因为在一般情况电路的建立时间后期好修(插流水线等方法),而保持时间违例在后期是非常难解决的,因此用半周期这中方法放宽了对保持时间的要求,来保证电路处理起来相对容易。告诉工具在这些路径里就没有必要去检查时序,一方面可以提高STA的准确性,另外还可以降低整个STA的计算空间,让STA跑的更快。当下降沿launch,下一个上升沿capture时,那么这个时候中间的组合逻辑就只剩下半个周期了。

2023-08-25 11:01:35 103

原创 (五)STA——建立时间与保持时间检查

设output delay;设input delay。相比建立时间,保持时间违例一般比较好解决。

2023-08-24 22:49:42 153

原创 (四)STA——环境

包含标准单元(门、触发器等)的时序特性信息,如传播延迟、引脚到达时间等。这些文件定义了电路中各个元件的时序要求,如输入到输出的最大传播延迟、时钟频率等。这些工具能够基于时序库和约束文件,对电路进行时序分析,以估计信号传播的延迟,识别潜在的时序问题,并生成时序报告。这些报告提供了关于电路中各个路径的时序信息,包括路径延迟、时序违规等。工程师可以根据这些报告来调整设计,以满足时序要求。时钟属性:时钟源点;时钟周期;占空比;边沿翻转时间;时钟命名:-name SYSCLK(名字可自定义,随机取);

2023-08-24 16:35:01 73

原创 (三)STA——标准单元库

回转减额涉及调整信号随时间变化的速率(回转率),以确保可靠运行,防止不良效应,如信号失真或过度噪声。在高速数字系统或模拟电路中,电压的快速变化可能导致各种问题,如信号振铃、过冲、欠冲和电磁干扰(EMI)。阈值规范是指信号在被设备或电路正确解释或处理之前所需的最小或最大电压水平。换句话说,它们定义了不同信号状态之间的边界。:在给定的查找表中输入一个input transition time 和output load capacitance之后,发现坐标不在查找表规定的值上,如何处理?

2023-08-24 10:39:32 90

原创 (二)STA——基本概念

转换延迟是指数字信号从一种逻辑状态转换到另一种逻辑状态所需的时间。:这是信号从低逻辑状态('0')转变到高逻辑状态('1')所需的时间。:这是信号从高逻辑状态('1')转变到低逻辑状态('0')所需的时间。逻辑门延迟是指逻辑门的输出在其输入发生变化后,输出发生变化所需的时间。:单元的输入端口到单元的输出端口之间的延迟信息。:单元输出端口和扇出网络负载之间的延迟信息。:描述两个节点延迟信息的数据,分为。一般系统中都是全局异步,局部同步。

2023-08-23 21:32:25 127

原创 (一)STA——概述

明确设计的目标和需求,包括性能、功耗、面积、功能等方面的要求。与客户或项目负责人进行沟通,确保对设计目标有清晰的理解。

2023-08-23 20:44:05 115

原创 牛客网——VL4移位运算与乘法

提示:右移实现×2功能。

2023-08-01 14:20:10 45 1

原创 牛客网——VL3奇偶校验

奇校验码在数据发送前,「检查」1的个数,「奇数」个1就在头部填充0,「偶数」个1就在头部填充1,使数据整体保持奇数个1;,重新检查1的个数:​ 「奇数」个则判定数据正常,去掉头部的填充符;​ 「偶数」个则判定数据出错,重新发送数据帧。偶校验码在数据发送前,也会「检查」1的个数,「偶数」个1就在头部填充0,「奇数」个1就在头部填充1,使数据整体保持偶数个1;,重新检查1的个数:​「偶数」个1则判定数据正常,去掉头部的填充符;​「奇数」个1则判定数据异常,重新发送数据帧。

2023-08-01 12:39:25 67 1

原创 牛客网——VL2 异步复位的串联T触发器

T触发器逻辑功能为:当T=0时,触发器状态不变Qn+1=Qn;而当T=1时,在脉冲有效边沿到来时翻转。思路:例化两个T触发器。

2023-07-25 20:35:35 53

原创 牛客网——VL1 四选一多路器

两种实现方式:case 和if-else-if。testbench加入了固定测试和随机测试。

2023-07-25 13:33:40 43

原创 Makefile 脚本(附Makefile+VCS+Verdi)

变量名=变量值 递归变量展开(几个变量共享一个值) //替换变量名:=变量值 简单变量展开 //恒等于。

2023-07-24 21:09:21 883

原创 TCL语言学习笔记——Synopsys Tcl

语法:get_attribute [get_pins 单元/引脚] owner_net。语法:get_attribute [get_ports 单元名] direction。语法:get_attribute [get_cells 单元名] ref_name。语法:get_attribute [get_nets 网表名] full_name。get_ports *1:返回所有的以1结尾的端口名称。命令:get_nets -of [get_ports 端口名]get_ports * : 返回所有的端口名称。

2023-04-06 17:06:13 371

原创 TCL语言学习笔记(二)

注意:Tcl 将 (1,1)、(1,2)、(2,1)、等整体视为元素名,并不是和数学上矩阵的索引相同。含义:将指定的变量名加上对应的整数,整数可以为负整数、正整数、0,也可以不指定,默认是1。含义:获取指定数组名的元素名列表(返回的元素没有特定顺序)语法:array unset 数组名1 数组名2 数组名3(元素名1)……含义:判断指定的数组名存不存在 (1:存在,0:不存在)。(变量可以是:简单变量、数组元素、数组名)语法:set 数组名(元素名) 元素取值。含义:获取 指定数组名的元素个数。

2023-04-06 16:25:44 1062

原创 TCL语言学习笔记(一)

语法格式:lsort 开关 列表。

2023-04-06 15:38:45 1052

原创 同步FIFO设计

【代码】同步FIFO设计。

2023-03-31 14:55:58 31

原创 CDC处理——异步FIFO

异步FIFO的关键就在于读写指针跨时钟域传输的问题,保证每次跳变仅 有1bit变化,这样无论是变化前还是变化后的读写指针被同步到另一个时钟域,都不会发生“FIFO空时继续读”、“FIFO满时继续写”这样的逻辑错误。事实上格雷码可以取2N个进行环回,例如取格雷码个数为12,在2^4=16的基础上,掐头去尾,取中间的12个格雷码,这样从0011到最大值1011中间任意两个相邻数之间只有1bit位的跳变。,但事实上,选择这个2^N的原因也是因为格雷码这么取的时候,最大值+1回到最小值时,跳变还是只有1bit。

2023-03-31 14:19:38 951

原创 《硬件架构的艺术》笔记(八)

在电子设备内两个金属触点随着触点的断开闭合便产生了多个信号,当触点撞击在一起,惯性和弹性形成抖动,导致产生一个快速的脉冲电流而不是从0电流到全电流的转换。这个影响在交流电源线路不明显,由于抖动太快不至于影响大多数设备。但在某些模拟和逻辑电路中可能产生问题(如数字计时器、个人计算机或微处理器等设备的输入)。

2023-03-30 22:56:00 57

原创 《 硬件架构的艺术》笔记(七)

字节顺序定义数据在计算机系统中的存储格式。它描述存储器中地址的最高有效位MSB和最低有效位LSB的位置。大端模式(Big Endian):将MSB保存在最低存储器地址处小端模式(Little Endian):将LSB保存在最低存储器地址处。

2023-03-30 22:20:38 39

原创 《硬件架构的艺术》笔记(六)

对于ASIC,可以通过流水线提高吞吐量,但是也会带来系统延时和面积的增加。组合路径延迟为X个时间单位,在下图中通过插入三个寄存器被分割为多个小块,寄存器间的延迟为Y个时间单位,Y<X;

2023-03-30 21:45:01 215

原创 《硬件架构的艺术》笔记(五)

能量以热量形式消耗。保持低温操作环境意味着使用散热片或风扇来散热一这会增加整体的重量和成本。如果能在 SoC 级对功耗进行控制,就可以减少甚至可能消除掉这些开支,也就可以得到更小、更便宜和更可靠的最终产品。

2023-03-30 20:56:12 311

原创 《硬件架构的艺术》笔记(四)

产生具有50%占空比的奇数分频时钟最简单的方式是以输出频率的一半生成两个正交相位时钟(两个时钟之间有90度相位差),然后将两个波形异或得到输出时钟(以N=3为例)。tff2_en:TFF2在计数值为 (N+1)/2 时使能(2对应3分频,3对应5分频,依此类推),如图4.2所示。步骤1: 创建由时钟上升沿触发的0到(N-1)的计数器,N自然数,用于对参数时钟进行分频(N不等于偶数)(2)产生4.5倍分频的第一个脉冲,将在半周期移位第1位并将之与第1位与第2位进行或操作(占空比40%)

2023-03-30 16:37:38 70

原创 《硬件架构的艺术》笔记(三)

3.1 单时钟域 单时钟设计(即同步设计)。易于实现,并且更少产生与亚稳态、建立和保持时间违背方面的问题。3.2 多时钟域时钟的频率不同; 时钟频率相同,但是相位不同。3.3 多时钟域设计的难题多时钟域设计面临问题:1. 建立时间和保持时间的违背2. 亚稳态3.3.1 违背建立时间和保持时间建立时间:在时钟脉冲到来前,输入数据需要保持稳定的时间。保持时间:在时钟脉冲到达后,

2023-03-28 21:18:11 298

原创 《硬件架构的艺术》笔记(二)

产生内部时钟的组合逻辑也会增加时钟线上的延时,如果时钟偏移大于数据延迟,则违背寄存器的时序要求。由于时钟网络仍然在不停翻转,因此同步时钟使能的时钟方案不能像门控时钟那样从源头减少功耗,但是通过使某些寄存器失效,可以实现与门控时钟同样的功能。3、组合逻辑会设计软件进入无尽的计算中,为了完成计算,一些EDA工具会将环路割断,而不同的EDA软件对环路割断处理的过程是不尽相同的,这种过程不但使电路的实现偏离了最初的设计意图,而且使电路的实现呈现不确定性。用来产生内部时钟的组合逻辑也会增加时钟线上的延迟。

2023-03-28 00:00:35 442

原创 《硬件架构的艺术》笔记(一)

但是,在异步系统中,由于数据和时钟的关系不是固定的,因此有时会出现违反建立和保持时间的现象。如图1.1所示,当触发器处在亚稳态时,输出会在高低电平之间波动,这会导致延迟输出转换过程,并超出所规定的时钟到输出的延迟值(t。设计中任何个触发器都有特定的建立和保持时间,在时钟上升沿前后的这段时间窗口内,数据输入信号必须保持稳定。当异步信号输入时,两个互补的信号传入FFb,FFc,无论FFa什么时候发生亚稳态,异或门的输出都会变成高电平,触发器FFd输出端捕捉到高电平表示检测到亚稳态发生。

2023-03-23 10:00:09 137

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除