- 博客(30)
- 收藏
- 关注
原创 Verilog抽象和语言功能
Verilog模型的不同级别抽象(1) 系统级(system-level)(2) 算法级(algorithm-level)(3) RTL级(register transfer level)以上三种属于行为描述,只有(3)才与逻辑电路有明确的对应关系(4) 门级(gate-level)(5) 开关级(switch-level)描述器件中三极管和存储节点以及他们之间连接的模型Verilog语言具备的功能1.可顺序执行,可并行执行2.用延时表达式/事件表达式来控制process的启动3.通过命
2020-12-27 22:26:20
502
原创 《Verilog数字系统设计教程》软核,硬核,固核
IP(Intellectual Property)行为(Behavior)、结构(Structure)和物理(Physical)三级。分别对应于软核(Soft IP Core)、完成结构描述的固核(Firm IP Core)和基于物理描述并经过工艺验证的硬核(Hard IP Core)。软核(HDL代码形式,无寄生参数)IP软核通常是用HDL文本形式提交给用户,它经过RTL级设计优化和功能验证,但其中不含有任何具体的物理信息。据此,用户可以综合出正确的门电路级设计网表,并可以进行后续的结构设计,具有很
2020-12-27 21:41:25
624
原创 《硬件架构的艺术》第3章精华梳理
多时钟处理技术1. 时钟关系2. 面临问题3. 处理技术3.1 时钟命名规则3.2 分模块设计4 跨时钟域信号传输5 跨同步时钟域问题5.1 同频0相位差clk(单时钟设计)5.2 同频恒定相位差clk(反相clk or 对上级clk相位移动)5.3 非同频、可变相位差clk(整数 or 有理数倍时钟)6.标准化传输数据技术6.1 握手信号方法6.2 FIFO6.2.1 同步FIFO6.2.1 异步FIFO
2020-05-18 16:27:26
624
转载 深入理解FIFO(包含有FIFO深度的解释)
目录1.什么是FIFO?2.什么情况下用FIFO?3.FIFO的一些重要参数4.FIFO的分类5.FIFO设计的难点先入先出队列(First Input First Output,FIFO)这是一种传统的按序执行方法,先进入的指令先完成并引退,跟着才执行第二条指令。1.什么是FIFO?FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别...
2020-05-18 16:19:36
2834
转载 IC前端设计使用的EDA软件
IC前端设计(逻辑设计)和后端设计(物理设计)的区分:以设计是否与工艺有关来区分二者;从设计程度上来讲,前端设计的结果就是得到了芯片的门级网表电路。前端设计的流程及使用的EDA工具如下:1.架构的设计与验证:按照要求,对整体的设计划分模块。架构模型的仿真可以使用Synopsys公司的CoCentric软件,它是基于System C的仿真工具。2.HDL设计输入:设计输入方法有:HDL语言(Verilog或VHDL)输入、电路图输入、状态转移图输入。使用的工具有:Active-HDL,而RTL分析检
2020-05-13 14:55:20
2248
转载 [面经] 英伟达后端面试过程(17年)
目录1. 英伟达的岗位分布2. 如何获得招聘信息?1. 英伟达的岗位分布英伟达IC方面的岗位主要有ASIC设计工程师、验证工程师、后端工程师。因为我面试的是后端职位,所以会详细谈谈这一块。在英伟达,后端工程师主要分布在两个部门——VLSI 部门和ASIC 部门,前者主要做PR的工作,是所有fabless 公司纯正的后端部门;后者主要做综合、timing 的工作,在IC流程中也称之为中端部分。因为两者分工不同,所以关于岗位的要求也有不同,而这两个岗位我都参加了面试。根据英伟达的招聘原则,在一个岗位没有被录
2020-05-12 16:55:37
8054
转载 CPU,GPU,TPU,NPU都是什么?
目录什么是CPU?什么是GPU?什么是TPU?什么是NPU?附:什么是CPU?中央处理器(CPU),是电子计算机的主要设备之一,电脑中的核心配件。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU是计算机中负责读取指令,对指令译码并执行指令的核心部件。中央处理器主要包括两个部分,即控制器、运算器,其中还包括高速及实现它们缓冲处理器之间联系的数据、控制的总线。电子计算机三大核心部件就是...
2020-04-27 12:58:03
1099
转载 低功耗FPGA设计技术
目录减少开关活动量的设计方法时钟门控防护技巧总线复用减少毛刺与流水作业降低频繁开关转换信号的逻辑深度选择功率低的数据通路元件状态机编码使用异步逻辑降低时钟速率对设计中给定的驱动器,动态功耗由下式计算p=CL×VDD2×fCL是电容负载,VDD是电源电压,f是开关频率。总功耗是每个驱动器功耗之总和。在VDD固定的情况下,降低内部功耗就要降低平均逻辑开关频率,减少每个时钟沿处的逻辑开关总数、...
2020-04-19 21:22:07
1606
转载 同步总线和异步总线
同步总线:指互联的部件或设备均通过统一的时钟进行同步,即所有的互联的部件或设备都必须使用同一个时钟(同步时钟),在规定的时钟节拍内进行规定的总线操作,来完成部件或设备之间的信息交换。异步总线:指没有统一的时钟而依靠各部件或设备内部定时操作,所有部件或设备是以信号握手的方式进行,即发送设备和接受设备互用请求(request)和确认(acknowledgement)信号来协调动作,总线操作时序不是固...
2020-04-02 20:27:22
11049
1
原创 华为IC岗笔试题(部分总结含答案解析
总结一下一部分不太熟悉的题目,顺便把答案和解析放在这里,主要的类型是一些好久没碰的数字电路题,和一些平时不太接触到的概念题,还有经典的异步同步问题文章目录1.形式验证技术2.竞争冒险现象3.时钟占空比4.业界常用的验证学方法5.分解测试点的关注6.modelsim命令在tb中的执行顺序7. 触发器8.门控时钟9.跨时钟域问题10.异步FIFO11.同步设计时序模型12. SRAM和DRAM13....
2020-04-02 20:11:20
23953
14
原创 SRAM和DRAM详解
文章目录1.SRAM和DRAM区别为什么DRAM需要不断的刷新寻址方式寻址方式2.ROM和RAMRAMDRAM原理FlashReference1.SRAM和DRAM区别DRAM用作内存比较多,SRAM用作cache比较多。从名字上看,SRAM与DRAM的区别只在于一个是静态一个是动态。SRAM不需要刷新电路就能够保存数据,所以具有静止存取数据的作用。而DRAM则需要不停地刷新电路,否则内部的...
2020-04-02 19:08:44
15459
原创 建立时间、保持时间、时钟输出延时、时钟偏斜、slack(公式整理)
文章目录一道华为笔试题1.tclk最小周期tclk_min2.时钟建立时间Tsu3. 时钟保持时间Thold4.时钟输出延时Tco5. slack6.时钟偏斜答案Reference一道华为笔试题1.tclk最小周期tclk_mintclk_min=Tsu_ff1+Thod_ff2+t_logic+t_net-时钟偏斜2.时钟建立时间TsuTsu理解为正确采样数据的时间,那肯定要加上T...
2020-04-01 20:54:44
8696
2
原创 经典的先加法还是先MUX的面积问题[IC]
目录一道华为笔试题1.先adder再mux(1bit)2.先mux再adder(1bit)3.单比特对比实验结果4.多比特对比实验答案一道华为笔试题最近总是看到这类题目,讨论如何在功能一样的情况下,面积最小,正好刷题碰到了如下的问题,如果不是选择题的话,我第一反应的答案是相同,2面积小。然后我就看到了选项D,说实话这个答案一看就有点对的样子,于是我就做了一下实验。1.先adder再mu...
2020-04-01 19:00:18
1373
原创 由一道笔试题引发的同源时钟、同相位时钟、同时钟域时钟、异步时钟总结
文章目录一道华为笔试题1、什么是同相位时钟2、同源时钟3、同时钟域时钟4、异步时钟5、笔试题答案Reference一道华为笔试题1、什么是同相位时钟同相位时钟可以频率不同,但是时钟跳变沿是对齐的。如图所示,clk0为慢时钟,clk1为快时钟,clk0的时钟沿始终与clk1的时钟沿对齐,两个时钟相位相同。2、同源时钟同源时钟,通常由一个PLL或者DLL产生,相位不需要相同,只要求相位固...
2020-04-01 17:25:27
4529
3
转载 Verilog状态机详述
目录1.序言2.设计思想3.状态机分类:4.Verilog描述状态机Reference1.序言众所周知FPGA以其并行性和可重构性为世人所知,而在当今的电子世界,基本所有的器件都是串行的,所以作为控制单元或者是可编程单元的FPGA需要进行并行转串行与外界进行通信、控制等,而有限状态机以其简单实用、结构清晰而恰如其分的充当着这个角色。FSM承担着并行和外部串行之间沟通的桥梁有限状态机是由寄存...
2020-03-30 11:38:20
2384
转载 亚稳态全述及同步器说明
目录1. 亚稳态问题描述2.亚稳态和工艺相关3.亚稳态的危害/传播4.MTBF5.减少亚稳态的方法6. 同步器7. 同步器的输入:源时钟寄存补充:异步FIFO格雷码原理Reference1. 亚稳态问题描述亚稳态是指在设计的正常运行过程中,信号在一定时间内不能达到稳定的0或者1的现象。在多时钟设计中,亚稳态是不可避免的,我们可以减少亚稳态发生和传播,消除亚稳态的有害影响。下面是一个亚稳态的例子...
2020-03-29 21:02:15
2565
2
原创 通用脉动阵列systolic array及矩阵乘法Matrix Multiplication
目录脉动阵列的特点Matrix Multiplication矩阵乘法通用SA(systolic array)发展趋势SIMD和SA处理器的比较Reference脉动阵列的特点优点:结构简单,规整,控制方便计算并行度高,吞吐量高缺点:具有一定的专用性Matrix Multiplication矩阵乘法下图原文有个小错误,A[J,K]应该是A[I,K]为了得到3*3的C矩阵,要取6...
2020-03-28 12:11:29
3856
4
原创 有符号二进制乘法及MATLAB有符号数16进制到2进制的转换问题
在搭建乘法器,验证波形时,多比特二进制数手算比较麻烦,所以导入matlab计算正确的输出结果。此时要注意乘法器的特性,举个例子吧5 × 5 = 25也就是4‘b0101(+5) * 4’b0101(+5) = 0011001(+25)那 -5 × 5 = -25该怎么做呢,应该把符号位单独拿出来异或,然后余数进行乘操作,...
2020-03-17 09:53:55
3709
原创 HDLbits代码答案(3.1 Combinational Logic)持更
HDLbits代码答案(3.1 Combinational Logic)持更,代码均通过波形认证,可放心使用。
2020-03-12 23:07:15
1266
原创 HDLbits代码答案(2.4 Procedures & 2.5 More Verilog Features)持更
HDLbits代码答案(2.3Procedures & 2.4More Verilog Features)持更,代码均通过波形认证,可放心使用。
2020-03-10 09:13:08
1449
原创 HDLbits代码记录一(1.Getting started & 2.1Basics)
此博用于学习记录,如果有错误,欢迎指正。Problem sets①getting started//输出1module top_module( output one ); assign one = 1;endmodule②output zero //输出0module top_module( output zero); assign zero = 0;e...
2020-03-03 18:34:28
480
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人