摘要:
# 什么是建立时间,保持时间 1. 建立时间是指,对于D Flipflop来说,在时钟上升沿到来之前,数据输入端保持不变的最小时间 2. 保持时间是指,对于D Flipflop来说,在时钟上升沿到来之后,数据输入端保持不变的最小时间 * 一旦数据输入端违反了建立时间和保持时间的要求,那么D Flip 阅读全文
摘要:
# 什么是建立时间,保持时间 1. 建立时间是指,对于D Flipflop来说,在时钟上升沿到来之前,数据输入端保持不变的最小时间 2. 保持时间是指,对于D Flipflop来说,在时钟上升沿到来之后,数据输入端保持不变的最小时间 * 一旦数据输入端违反了建立时间和保持时间的要求,那么D Flip 阅读全文
摘要:
## RTL设计的两点原则 1. 大道至简 2. 考虑物理后端的实现 ## 如何遵循原则去执行 ### 大道至简 1. 大道至简的意思是我们设计的电路,要保证功能正确性的同时,电路要尽可能简洁。 2. 大道至简的好处是,更少的资源,更低的功耗,更容易实现的高时钟频率。 3. 这就需要我们对各种微架构 阅读全文
摘要:
完成了昨晚的IC设计的笔试之后,认识到自己遗忘了很多设计方面的知识。而设计和验证的笔试题风格又完全不一样。 特此开一个系列来整理IC设计相关的知识,设计的题目需要掌握:数电基础(甚至是晶体管级的门电路和晶体管的特性),Verilog熟练程度,常见电路设计,时序优化,计算slack和相关计算。这样自己 阅读全文
摘要:
为了更好地利用Perl,下面为实现对xxx.log的日志,检查当中是否存在fail的字段的目的,逐段给出代码,然后分析 # 实验材料 * xxx.log日志文件 * check_fail.pl脚本 # 读取文件 ``` # check_fail.pl $value; $value = open(fi 阅读全文
摘要:
## Perl 介绍 Perl是一个强大的脚本语言,主要用于文本处理。由于其强大的文字处理能力,Perl成为了IC行业中常用的脚本语言。 ### Perl变量 * Perl变量只有三种:变量,数组,哈希表,使用时分别对应三个符号$,@,% ``` $var = "str01"; #字符型变量 $va 阅读全文
摘要:
因为芯片前端涉及到很多脚本的使用,目的是调用脚本对文本的操作。常用的脚本文件有makefile, perl, tcl, python. 而了解到grep是一个linux下强大的文本搜索工具。这个命令能帮我们按照正则表达式搜索文本,然后打印出来。 ## 命令格式 ``` grep "match_pat 阅读全文
摘要:
* 单周期是指,处理器在一个cycle内,完成从取指到执行一条指令。所以处理的性能要受到指令周期最长的那条指令的约束。 * 多周期是指,把指令的执行分为多个阶段,处理器每个cycle都只会执行一个阶段,所以指令的完成需要多个cycle。 * 在多周期的概念上,加入D Flipflop缓存每一个阶段的 阅读全文
摘要:
想到什么说什么 # 首先先总结System Verilog一些约定俗成的规定: 1. 硬件中的端口用logic来表示,而在软件中就可以使用二值变量int # 在验证平台中常用的数据结构分为这以下四种 1. 定宽数组,也就是数组的长度是确定的。 * 遍历时,最好用foreach,这样阅读性很高,但也可 阅读全文
摘要:
UVM中的RAL寄存器模型的意义:让开发者能够方便,快速地配置dut的寄存器。 RAL寄存器模型的实质:仍然是UVM中的一个类,但不是作为组件,而是和sequence一样,在basetest中被实例化和使用。本质上,RAL模型与DUT的通信还是依赖于agent的,其顺序是RAL模型通过发起seque 阅读全文
|