自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 《深入理解计算机系统》(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 3617 2

原创 Verilog语法和典型电路

Verilog语法知识1.Verilog数据类型Net型变量,相当于硬件电路中的各种物理连接,其特点是输出的值紧跟输入值的变化而变化,一般为wire型Variable型变量,可以保存上次写入的数据,一般对应硬件上的一个触发器或者锁存器等存储单元,综合时会感觉被赋值情况来具体确定映射成连线还是存储单元,有reg型2.向量有两种:标量类向量(scalared)和向量类向量(vectored)3. ==和===的区别:两者都是相等或比较运算符。==测检查二值逻辑相等,而===运算符测试四值逻辑相等。

2020-12-21 12:46:45 4138 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 5672

原创 数字IC必备知识汇总

1、数字电路基础2、计算机体系结构3、脚本语言4、Verilog5、SystemVerilog6、UVM7、EDA工具

2020-09-07 10:48:48 3948

原创 数字电路基础

1、基本逻辑运算、仅用与非或仅用与或非、最小项之和、最大项之积、卡诺图化简、逻辑门的mos管组成,笔试常出现2、setup、hold time分析,需深入理解,而不是简单会计算,笔试甚至可能出几道问答题3、FSM(二段三段式),百度面试中问过4、CDC(快到慢及慢到快): 两级触发器,FIFO(同步异步),握手,笔试会考,面试基本都会问,问得很深,需彻底弄懂,要能写出代码5、串并转换6、分频电路(奇数分频,偶数分频),非常基础,华为面试中出现过,不会基本直接挂7、乒乓buffer8、超前进位加

2020-09-06 17:15:41 10610

原创 数字IC基础

目录Q:什么是时钟抖动?Q:如何解决亚稳态?Q:跨时钟域数据传输Q:建立时间、保持时间Q:有关setup,hold时间的题目Q:锁存器、触发器、寄存器三者的区别?Q:说说静态、动态时序模拟的优缺点?Q:什么是时钟抖动?时钟抖动是指芯片的某一个给定点上时钟周期发生暂时性变化,也就是说时钟周期在不同的周期上可能加长或缩短。它是一个平均值为0的平均变量。Q:如何解决亚稳态?亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才

2020-09-06 17:07:58 1933

原创 Xilinx FPGA时钟资源的使用

赛灵思FPGA时钟资源的类型:DCM、PLL、PMCD、MMCMDCM:数字时钟管理器PLL:锁相环PMCD:相位匹配时钟分频器MMCM:混合模式时钟管理器DCM实际上就是一个DLL(延迟锁相环),可以对输入时钟进行相位移动,补偿,产生倍频和分频时钟,但是5以及以后的产品不用了。DCM适用于实现延迟锁相环(DLL)、数字频率综合器、数字移相器或数字频谱扩展器。 DCM还是镜像、发送或再缓冲时钟信号的理想选择。PLL相对于DCM,除了不能相移时钟,其它的都一样,但是PLL产生时钟的频率比DCM更加

2020-06-02 23:59:30 3934 2

原创 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 3854 1

原创 Vivado使用Tips

1、安装时解压后的安装包路径不要包含中文2、如果安装Vivado时没有选择链接Matlab,解决办法是:安装完成之后双击打开System Generator 20xx.x,手动添加MATLAB3、将Text Editor更改为Notepad++:(1)Tools -> Settings ->Text Editor,在弹出的众多文本编辑器中选择“Customer Editor”,注意不是Notepad++;(2)在弹出的页面填入Notepad++的安装路径,并将右斜杠(\)改为左斜杠(/)

2020-05-27 15:46:24 589

原创 SystemVerilog绿皮书疑难点解析

8.7 回调(callback)当你的testbench写好后,如果想在一个task里面添点东西怎么办? 前面添点?后面添点?你可以将该task定义为一个虚方法,然后在可能的扩展类中覆盖其行为。这样做的缺点是如果你想增加新的行为,可能需要在扩展类的新方法中重复原方法的所有代码。而且一旦对基类做了修改,需要将它传播到所有派生类中。那么有没有更好的办法?解决方法就是使用回调,在写testbench时,预留几个virtual的task在你想添程序的地方,这些virtual的task放在一个类里面去实现,我们

2020-05-24 17:16:21 2910 1

原创 用ModelSim编写单个systemverilog程序并运行

初学者可能有困惑,编写一个简单的打印某句话的Verilog或者SV程序,并不涉及电路设计,纯粹为了学习语言基础,那么该怎么运行程序呢?利用ModelSim运行调试程序,就像学习大多数其它语言一样,开始总有第一个程序 Hello World!Hello.sv如下module Hello_World; // define variables initial begin $disp...

2020-04-05 23:05:45 4741

原创 Git原理快速入门

Git,一种分布式版本管理工具

2019-11-16 17:16:38 270

原创 《深入理解计算机系统》(CSAPP)浮点数习题:对于一种具有n位小数的浮点格式,给出不能准确描述的最小正整数的公式?

题目:对于一种具有n位小数的浮点格式,给出不能准确描述的最小正整数的公式(因为想要准确表示它可能需要n+1位小数)。假设阶码字段长度k足够大,可以表示的阶码范围不会限制这个问题。思路一:首先可以排除非规格化里的数值范围,因为这些值全部都小于1。在考虑规格化的数值范围里,倘若需要n+1位小数表示,并且是最小的小数的话,则应该是由n个0和最低位的1个1组成。也就是此时的尾数M = 1 + f = 1...

2019-04-14 22:28:47 2288 4

空空如也

空空如也

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

TA关注的人

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