学习笔记
Energy_Zheng
我的名字叫Energy_Zheng,年龄24岁,立志成为一位牛逼的数字电路工程师,为我国芯片事业作出微薄贡献。我住在太白南路北部的老校区一带,未婚。我在西电通院搬砖,每天都要加班到晚上10点才能回家。我不抽烟,不喝酒,不烫头。晚上
11点睡,每天要睡足8个小时。为了拥有八块腹肌,睡前,我会练习20分钟的仰卧起坐。上了床,马上熟睡,一觉到天亮,决不把疲劳和压力,留到第二天。医生说我很正常。
展开
-
数字IC必备知识汇总
1、数字电路基础2、计算机体系结构3、脚本语言4、Verilog5、SystemVerilog6、UVM7、EDA工具原创 2020-09-07 10:48:48 · 4171 阅读 · 0 评论 -
数字IC基础
目录Q:什么是时钟抖动?Q:如何解决亚稳态?Q:跨时钟域数据传输Q:建立时间、保持时间Q:有关setup,hold时间的题目Q:锁存器、触发器、寄存器三者的区别?Q:说说静态、动态时序模拟的优缺点?Q:什么是时钟抖动?时钟抖动是指芯片的某一个给定点上时钟周期发生暂时性变化,也就是说时钟周期在不同的周期上可能加长或缩短。它是一个平均值为0的平均变量。Q:如何解决亚稳态?亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才原创 2020-09-06 17:07:58 · 2033 阅读 · 0 评论 -
Verilog语法和典型电路
Verilog语法知识1.Verilog数据类型Net型变量,相当于硬件电路中的各种物理连接,其特点是输出的值紧跟输入值的变化而变化,一般为wire型Variable型变量,可以保存上次写入的数据,一般对应硬件上的一个触发器或者锁存器等存储单元,综合时会感觉被赋值情况来具体确定映射成连线还是存储单元,有reg型2.向量有两种:标量类向量(scalared)和向量类向量(vectored)3. ==和===的区别:两者都是相等或比较运算符。==测检查二值逻辑相等,而===运算符测试四值逻辑相等。原创 2020-12-21 12:46:45 · 4353 阅读 · 3 评论 -
SystemVerilog语法知识
目录Q:logic和wire、reg的区别Q:数组、队列的常用方法Q:program 和 module 的区别Q:为什么program中不允许使用always块?Q:fork...join创建线程Q:线程间通信事件——实现线程的同步旗语——实现对同一资源的访问控制信箱——实现线程间信息的传递Q:DPI传入类型?Q:logic和wire、reg的区别Verilog中 wire 和 reg 的区别:wire表示导线结构,reg表示存储结构。wire使用assign赋值,reg赋值定义在always、i原创 2020-10-26 10:51:34 · 5861 阅读 · 0 评论 -
数字电路基础
1、基本逻辑运算、仅用与非或仅用与或非、最小项之和、最大项之积、卡诺图化简、逻辑门的mos管组成,笔试常出现2、setup、hold time分析,需深入理解,而不是简单会计算,笔试甚至可能出几道问答题3、FSM(二段三段式),百度面试中问过4、CDC(快到慢及慢到快): 两级触发器,FIFO(同步异步),握手,笔试会考,面试基本都会问,问得很深,需彻底弄懂,要能写出代码5、串并转换6、分频电路(奇数分频,偶数分频),非常基础,华为面试中出现过,不会基本直接挂7、乒乓buffer8、超前进位加原创 2020-09-06 17:15:41 · 12224 阅读 · 0 评论 -
Verilog HDL代码优化技巧
1、资源共享资源共享主要是指在互斥(Mutually-Exclusive) 条件下(即不能同时运行)共享算术逻辑单元(Arithmetic Logic Unit)。module test(a, b, c, sel, result); //相同运算符没有资源共享input [7:0) a, b, c;input sel;output [8:0] result;reg [8:0] result;always @ (a or b or sel)beginif (sel) result = a原创 2020-05-27 17:46:58 · 3998 阅读 · 1 评论 -
SystemVerilog绿皮书疑难点解析
8.7 回调(callback)当你的testbench写好后,如果想在一个task里面添点东西怎么办? 前面添点?后面添点?你可以将该task定义为一个虚方法,然后在可能的扩展类中覆盖其行为。这样做的缺点是如果你想增加新的行为,可能需要在扩展类的新方法中重复原方法的所有代码。而且一旦对基类做了修改,需要将它传播到所有派生类中。那么有没有更好的办法?解决方法就是使用回调,在写testbench时,预留几个virtual的task在你想添程序的地方,这些virtual的task放在一个类里面去实现,我们原创 2020-05-24 17:16:21 · 3051 阅读 · 1 评论 -
用ModelSim编写单个systemverilog程序并运行
初学者可能有困惑,编写一个简单的打印某句话的Verilog或者SV程序,并不涉及电路设计,纯粹为了学习语言基础,那么该怎么运行程序呢?利用ModelSim运行调试程序,就像学习大多数其它语言一样,开始总有第一个程序 Hello World!Hello.sv如下module Hello_World; // define variables initial begin $disp...原创 2020-04-05 23:05:45 · 4901 阅读 · 0 评论 -
Git原理快速入门
Git,一种分布式版本管理工具原创 2019-11-16 17:16:38 · 297 阅读 · 0 评论 -
《深入理解计算机系统》(CSAPP)浮点数习题:对于一种具有n位小数的浮点格式,给出不能准确描述的最小正整数的公式?
题目:对于一种具有n位小数的浮点格式,给出不能准确描述的最小正整数的公式(因为想要准确表示它可能需要n+1位小数)。假设阶码字段长度k足够大,可以表示的阶码范围不会限制这个问题。思路一:首先可以排除非规格化里的数值范围,因为这些值全部都小于1。在考虑规格化的数值范围里,倘若需要n+1位小数表示,并且是最小的小数的话,则应该是由n个0和最低位的1个1组成。也就是此时的尾数M = 1 + f = 1...原创 2019-04-14 22:28:47 · 2361 阅读 · 4 评论 -
《深入理解计算机系统》(CSAPP)学习笔记
第3章point1练习3.3里有题是这样的movl %eax,%rdx这个代码是错 答案上写是因为 “destination operand incorrect size” 目的操作数大小错误刚开始理解的是这个代码中 movl 的作用不就是把一个32位寄存器%eax的数据移动到64位寄存器%rdx上吗,然后高4位全变成0 这对一个64位的寄存器有什么影响?后来对照了书上其他的习题和代码...原创 2019-04-14 22:20:40 · 3677 阅读 · 2 评论