随笔分类 -  工作学习

摘要:## 0 前言 这段时间在整合一个小ip,因为要验证每个feature是否可行,需要用testbench + C语言的方式进行仿真验证,由于每种feature不仅要在C语言中修改寄存器配置,还要再testbench修改寄存器的配置,这导致每验证一种feature既需要修改C语言,也需要修改testb 阅读全文
posted @ 2023-08-06 21:25 行走的BUG永动机 阅读(184) 评论(0) 推荐(0) 编辑
摘要:### 0 前言 这段时间涉及到了IO-PAD,在IO-PAD的RTL的时候注意到了pullup和pulldown,对这个知识比较好奇,就研究了一下,顺便记录下来,IO-PAD的内容等我再研究研究再考虑记录吧 >_ NMOS`,这个过程叫`挽` 当`IN = 0`时,NMOS截止,PMOS导通,最终 阅读全文
posted @ 2023-06-10 22:24 行走的BUG永动机 阅读(195) 评论(0) 推荐(0) 编辑
摘要:## 0 前言 有时候因为要跑很多rtl的仿真,而现有的资源比较有限,每次都需要等一批rtl仿真结束后,才可以执行下一批,尤其是碰到最末的时候,一批rtl仿真结束,要是在打开电脑去run下一批,确实挺不方便的 一度想着要是有个脚本就好了,奈何自己Python确实不行,刚好最近有大火的ChatGPT, 阅读全文
posted @ 2023-05-27 17:59 行走的BUG永动机 阅读(94) 评论(0) 推荐(0) 编辑
摘要:历史文章 0 前言 这几天看到一个有趣的结构体,之前没有见过,稍微了解了一下,顺便记录一下 ==以下例子均在32位操作系统操作== 1 结构体简单介绍 在C语言中,每种类型的变量都会占用一定的字节数,以下面几种为例 | char | 1B | | | | | int | 4B | | double 阅读全文
posted @ 2023-04-28 09:39 行走的BUG永动机 阅读(127) 评论(0) 推荐(0) 编辑
摘要:0 前言 这段时间例化了挺多mem,过程中也了解到了一些新的东西,在这里记录一下 1 for循环方式例化方法 先给出 sub_module module sub( input [7:0] din, output logic [7:0] dout ); assign dout = din; endmo 阅读全文
posted @ 2023-04-14 00:38 行走的BUG永动机 阅读(293) 评论(0) 推荐(0) 编辑
摘要:@ 1 输入路径约束 由于STA不能检查不受约束路径上的时序约束,因此需要约束所有路径来进行时序分析 当然,如果存在一些输入控制信号,我们并不关心其信号时序,可能并不需要进行时序检查 如下图是一个待分析设计(DUA),UFF0是外部设计,其输出是UFF0的输入,并且UFF0在设计内部,二者的数据通过 阅读全文
posted @ 2022-11-17 22:09 行走的BUG永动机 阅读(80) 评论(0) 推荐(0) 编辑
摘要:STA的准备工作包括:设定时钟、指定IO时序特性、指定false path和multicycle path 1 什么是STA环境 看下面这张图,假定Design Under Analysis(DUA)会与其他同步设计交互,这意味着DUA会从前一级触发器接收数据,并将数据发送到DUA后一级触发器 为了 阅读全文
posted @ 2022-10-10 21:56 行走的BUG永动机 阅读(300) 评论(0) 推荐(0) 编辑
摘要:静态时序分析学习记录 阅读全文
posted @ 2022-10-07 09:57 行走的BUG永动机 阅读(124) 评论(0) 推荐(0) 编辑
摘要:0 为什么要有事件调度 我们知道Verilog是一种并行编程语言,然而Verilog是通过计算机执行的,那么必然要遵循计算机顺序执行的逻辑 当多条语句都被触发时,我们如何确定语句的执行顺序就需要一种规则来做出限定 1 几个关键信息 仿真的代码是由一个个离散事件组成,运行Verilog也就是执行一个个 阅读全文
posted @ 2022-08-14 08:59 行走的BUG永动机 阅读(101) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示