IC笔试
文章平均质量分 79
love小酒窝
东大电子本硕,菜鸡一枚
展开
-
面试题 - 二输入比较器实现排序算法
面试题 - 二输入比较器实现排序算法@(数字集成电路基础)1. 问题描述给定8个数,以及若干二输入的比较器(可以将两个输入排序)。要求在单周期内实现8个数的排序,并使用最少的比较器个数。(乐鑫)(距离面试已经过了很久,抽空整理一下当时的题目)2. 问题解析乍一看,排序算法,这不是个算法题么,将8个数排下序,脑子里最先出来的是什么冒泡,选择,插入排序…赶紧打住,我们现在在讨论电路,不要走错片场了。实际上题目限定了二输入的比较器,所以方向很明确,现在已经有二输入排序模块,我们要用这个二输入的模块原创 2020-07-27 15:43:49 · 3416 阅读 · 6 评论 -
Verilog -- 序列发生器的设计
Verilog – 序列发生器的设计@(verilog)文章目录Verilog -- 序列发生器的设计1. 题目2. 思路1 - 状态机实现3. 思路2 - 移位寄存器实现4. 思路3 -- 计数器+组合逻辑1. 题目产生序列信号11010111至少需要几级触发器?2. 思路1 - 状态机实现最容易想到的就是采用状态机,每个状态输出序列中的一位,发送完一组序列后回到开始状态继续循环。需要注意的是状态变量的位宽,由于题目要求采用最少的触发器,因此至少需要log2(序列长度)log_2(序列长度原创 2020-06-21 12:59:10 · 5588 阅读 · 0 评论 -
数字集成电路 -- 各种计数器简介
数字集成电路 – 各种计数器简介@(知识点汇总)文章目录数字集成电路 -- 各种计数器简介1. 环形计数器2. 扭环形计数器3. 线性反馈移位寄存器4. 行波计数器1. 环形计数器https://wenku.baidu.com/view/73ec140bba1aa8114431d945.html N个寄存器构成的环形计数器,状态数:N 2. 扭环形计数器https://wenku.baidu.com/view/73ec140bba1aa8114431d945.htmlN个寄存器构原创 2020-06-07 22:33:32 · 2676 阅读 · 0 评论 -
Verilog -- 并行2bit输入序列检测器
Verilog – 并行2bit输入序列检测器@(verilog)乐鑫2020笔试题:描述:模块输入口是并行的2bit,实现对(1011001)2(1011001)_2(1011001)2的序列检测,输入数据顺序为高位2bit先输入,当检测到序列时输出一拍高电平脉冲,用verilg描述。方法一:状态机采用状态机描述,先列出状态转移表,跟单bit输入不同的是,这里的输入是并行的2bit:state\input0001101100110110101原创 2020-06-02 11:40:15 · 1893 阅读 · 0 评论 -
Verilog -- 任意整数除以三求商和余数
Verilog – 任意整数除以三求商和余数@(verilog)文章目录Verilog -- 任意整数除以三求商和余数1. 问题简介2. 思路3. 代码1. 问题简介问题:输入一个16bit的数,现在要求它除以3得到的商和余数,如何优化?来源:@笑着刻印在那一张泛黄 提供,面试真题。2. 思路一开始联想到之前写过的另一篇博文序列模三检测器,但是这只能解决余数的问题,没法得到商。后面的想法是直接使用任意整数除法器来实现,由于除数是3,比较特殊,实际上除3只需要考虑三个序列,也就是11,10原创 2020-05-19 20:46:52 · 6735 阅读 · 0 评论 -
Verilog -- 改进的Booth乘法(基4)
Verilog – 改进的Booth乘法(基4)@(verilog)文章目录Verilog -- 改进的Booth乘法(基4)1. 背景2. 原理3. 算法实现4. Verilog 代码1. 背景之前已经介绍过Booth乘法算法的基本原理以及代码,实际上之前的算法是基2的booth算法,每次对乘数编码都只考虑两位。因此在实际实现时往往效率不高,考虑最坏情况,使用基2的booth算法计算两个8位数据的乘法,除了编码复杂,计算时需要累加8个部分积,可见最坏情况跟普通阵列乘法器需要累加的部分积个数一样,因原创 2020-05-14 17:32:29 · 6952 阅读 · 7 评论 -
Verilog -- 求两数最大公因数(gcd)和最小公倍数(lcm)
Verilog – 求两数最大公因数和最小公倍数@(verilog)文章目录Verilog -- 求两数最大公因数和最小公倍数1. 原理简介1.1 辗转相除法求公因数1.2 最小公倍数求法2. 代码实现1. 原理简介1.1 辗转相除法求公因数求最大公因数的常用算法为辗转相除法,又被称为欧几里德(Euclidean)算法, 是求最大公约数的算法。辗转相除法首次出现于欧几里得的《几何原本》(第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的《九章算术》。两个数的最大公约数是指能同时整除它们原创 2020-05-11 10:02:41 · 2612 阅读 · 3 评论 -
Verilog -- 无符号整数除法器(二)
Verilog – 任意整数除法器(二)文章目录Verilog -- 任意整数除法器(二)在 Verilog – 任意整数除法器(一)中已经给出了一种除法器的组合逻辑实现,但是实际使用中可能还是需要讲组合逻辑插拍才能得到更好的性能。下面给出一种基于状态机的时序逻辑除法器实现。这边先上一下算法流程图,跟之前的一样:是否是否32位整数a除以ba的高位扩展32位b的低位扩展32位a左移一位a>=b?a = a-b+1移位次数<32输出a下面是verilog代码:`timescale 1n原创 2020-05-10 20:51:14 · 2449 阅读 · 1 评论 -
专用集成电路 -- 运算电路 (加法器,乘法器,移位器)
专用集成电路 – 运算电路@(知识点汇总)文章目录专用集成电路 -- 运算电路1. 二进制加法器1.1 逐位进位加法器1.2 静态CMOS加法器1.3 镜像加法器(mirror adder)1.4 传输门型加法器1.5 曼彻斯特进位链加法器1.6 进位旁路加法器(Carry-Bypass Adder)1.7 线性进位选择加法器(Linera Cary-Select Adder)1.8 平方根进位选择加法器(Square-Root Carry-Select Adder)1.9 超前进位加法器(Carry-原创 2020-05-09 17:46:55 · 8509 阅读 · 0 评论 -
Verilog -- 乘法器Booth算法
乘法器 – Booth算法@(知识点汇总)文章目录乘法器 -- Booth算法1. 原理2. 一般化推论3. 实际算法1. 原理Booth算法的原理其实小学初中就学过,比如下面这道题:简便计算:8754×998=?8754 \times 998 = ?8754×998=?随便抓个娃娃来都知道应该这么算:8754×998=8754×1000−8754×28754 \times 998 ...原创 2020-05-07 13:12:53 · 6659 阅读 · 10 评论 -
专用集成电路 -- CMOS组合逻辑设计
专用集成电路 – CMOS组合逻辑设计文章目录专用集成电路 -- CMOS组合逻辑设计1. 静态互补CMOS1.1 阈值损失1.2 两输入与非门实例1.3 延时与扇入的关系1.4 解决大扇入的方法2. 组合逻辑性能优化2.1 逻辑努力,门努力2.2 组合逻辑链最小延迟计算3. CMOS逻辑门中的功耗3.1 开关活动性的静态部分3.2 开关活动性的动态虚假翻转3.3 降低组合逻辑的开关活动性4. ...原创 2020-05-05 19:16:46 · 6970 阅读 · 1 评论 -
专用集成电路 -- 反相器
专用集成电路 – 反相器@(知识点汇总)《数字集成电路–电路、系统与设计》第二版 复习笔记[TOC]Chapter 11.反相器的电压传输特性 (VTC) VOHV_{OH}VOH: 额定高电压VOLV_{OL}VOL : 额定低电压VMV_{M}VM : 门阈值电压(开关阈值电压,非晶体管VT)是Vout=VinV_{out}=V_{in}Vout=Vin的...原创 2020-05-01 16:51:35 · 10907 阅读 · 7 评论 -
SV -- Coverage 覆盖率
SV – Coverage 覆盖率本文内容来自:http://www.asic-world.com/systemverilog/coverage.htmlhttps://verificationguide.com/systemverilog/systemverilog-array-manipulation-methods/https://blog.csdn.net/bleauchat/...转载 2020-04-29 13:18:49 · 5227 阅读 · 0 评论 -
Verilog -- 序列检测器(采用移位寄存器实现)
转自:https://www.cnblogs.com/qiweiwang/archive/2011/04/18/2019952.htmlVerilog --序列检测器(采用移位寄存器实现)序列检测器就是将一个指定序列从数字码流中识别出来。本例中将设计一个“10010”序列的检测器。设X为数字码流的输入,Z为检测出标记输出,高电平表示发现指定的序列10010.考虑码流为11001001000...转载 2020-04-29 10:39:51 · 5649 阅读 · 1 评论 -
SV -- Randomization 随机化
SV – Randomization 随机化@(SV)文章目录SV -- Randomization 随机化0. 基础1. 随机化方法2. Constraint3. inside4. dist5. 条件约束6. foreach 约束7. disable constraint7. static constraint8. inline constraint9. soft constraint10....翻译 2020-04-28 20:41:24 · 1645 阅读 · 0 评论 -
SV -- Interprocess Communication (IPC 线程间通信)
SV – Interprocess Communication (IPC 线程间通信)@(SV)文章目录SV -- Interprocess Communication (IPC 线程间通信)1. Semaphore 旗语2. Mailbox 信箱3. Event 事件1. Semaphore 旗语旗语是sv内置的方法,可以用来做线程间的同步。旗语就像一个桶,里面有很多键。使用旗语的进...翻译 2020-04-28 20:40:19 · 411 阅读 · 0 评论 -
SV -- Class 类
SV – Class 类文章目录SV -- Class 类0. 基础1. static2. shallow copy3. deep copy5. parameterized class6. 继承7. 多态(polymorphism)8. 修改成员函数9. super10. casting11. 公有和私有12. 抽象类(abstract class)12. 域分辨符::13. External1...翻译 2020-04-27 17:40:20 · 649 阅读 · 0 评论 -
Verilog -- 序列模三(整除3)检测器
Verilog – 序列模三(整除3)检测器描述:输入口是1bit,每次进来一位数据,检查当前序列是否能整除3,能则输出1,否则输出0.例如:序列=1,out=0;序列=11,out=1;序列=110,out=1;序列=1101,out=0;首先需要找一下规律,一个数被三除,只可能会有三种情况:1.余数为0;2.余数为1;3.余数为2;假设当前序列表示的数是x,商为a,余数为...原创 2020-04-24 16:31:14 · 5086 阅读 · 0 评论 -
SV -- Array 数组
SV – Array整理下system verilog中数组的用法,备忘。文章目录SV -- Array1.定宽数组1.1 Packed array1.2 Unpacked array2. 动态数组(new)2.1 重新定义动态数组大小3. 关联数组(字典)4. 队列(Queue,$)1.定宽数组int array1 [6]; //fixed size singl...翻译 2020-04-18 14:51:43 · 7534 阅读 · 0 评论 -
SV -- Assertions 断言
SV – Assertions 断言文章目录SV -- Assertions 断言1.简介1.1 立即断言2.SVA (system verilog assertion)2.1 Sequence2.2 Property2.2.1 implication2.2.2 repetition 重复操作2.2.3 go to repetition 跟随重复2.2.4 Nonconsecutive repe...翻译 2020-04-17 10:55:36 · 7612 阅读 · 1 评论 -
Verilog -- 阻塞与非阻塞的仿真与综合
Verilog – 阻塞与非阻塞的仿真与综合文章目录Verilog -- 阻塞与非阻塞的仿真与综合基本概念Verilog层积事件列(stratified event queue)示例:自触发的always块阻塞和非阻塞的综合问题非阻塞赋值和$display0延时建议参考 Clifford E. Cummings, Sunburst Design, Inc. “Nonblocking Assi...原创 2020-04-14 23:43:48 · 1179 阅读 · 0 评论 -
Design-for-Testability(DFT)的基本知识点
Design-for-Testability(DFT)的基本知识点文章目录Design-for-Testability(DFT)的基本知识点基础知识1. CP和FT2. 测试工程师需要考虑什么3. 什么是DFTFault ModelFault class hierarchyDFT MethodsAd-hocScan:逻辑BISTBoundary ScanDFT-ScanD算法:Scannable...原创 2020-04-14 15:37:27 · 6333 阅读 · 0 评论 -
利用latch进行 Timing borrow 改善setup/hold violation
Timing borrowhttp://www.mamicode.com/info-detail-2296344.htmlhttps://blog.csdn.net/cy413026/article/details/89404998http://bbs.eetop.cn/thread-488834-1-1.html?_dsign=5c11920d相关的原理和解释可以看下面两个文章:前...原创 2020-04-11 17:05:03 · 4358 阅读 · 0 评论 -
总线协议 -- AXI总线
> https://zhuanlan.zhihu.com/p/44766356转载 2020-04-10 21:38:45 · 342 阅读 · 0 评论 -
总线协议 -- AMBA总线(二)
AMBA总线(二)文章目录AMBA总线(二)AHB总线总线传输AHB仲裁信号仲裁 - 没有等待状态的grant(授权)仲裁 - 有等待状态的grant仲裁 - Burst传输之后移交总线总线主设备的Grant信号Split传输过程防止死锁(deadlock)AHB接口主设备接口从设备接口仲裁器地址译码器AHB连接示例AHB-LiteAHB总结APBAPB信号地址解码的分级APB互联APB读写AH...转载 2020-04-10 17:05:56 · 954 阅读 · 1 评论 -
Verilog -- SPI协议
Verilog – SPI协议简介SPI是一种全双工通信,并且是一种同步传输方式(slave的接收clk需要master给出)SPI总线是一种4线总线,因其硬件功能很强,所以与SPI有关的软件就相当简单,使中央处理器(Central Processing Unit,CPU)有更多的时间处理其他事务。正是因为这种简单易用的特性,越来越多的芯片集成了这种通信协议,比如AT91RM9200。S...原创 2020-04-03 22:28:38 · 1101 阅读 · 1 评论 -
Verilog -- 无glitch时钟切换电路
Verilog – 无glitch时钟切换电路https://blog.csdn.net/bleauchat/article/details/96180815题目:用Verilog实现glitch free时钟切换电路。输入sel,clka,clkb,sel为1输出clka,sel为0输出clkb第一种纯组合逻辑 module clk_select1(input ...原创 2020-04-03 16:34:02 · 946 阅读 · 0 评论 -
Verilog -- 奇数分频器
Verilog – 奇数分频器偶数分频的原理就是计数到N/2-1后对分频输出取反。而如果分频数N为基数,则需要:clk_out1 在clk 上升沿计数到 (N-1)/2-1后取反, 计数到N-1以后再取反clk_out2 在clk 下降沿计数到 (N-1)/2-1后取反, 计数到N-1以后再取反clk_out 取clk_out1 和 clk_out2的或。代码:module clk_d...原创 2020-04-03 14:15:24 · 880 阅读 · 3 评论 -
Verilog -- initial块中阻塞与非阻塞赋值问题
Verilog initial块中阻塞与非阻塞赋值问题问题描述在testbench的编写中经常要做的就是在initial块中对一些信号变化进行描述。比如希望信号start在仿真开始后第10个周期上升沿置为高电平。对于仿真时钟一般都会这么写: always #1 clk = ~clk;如果初始化clk = 0,那么实际上start应该在 #21;start=1; 也就是十个半周期后置...原创 2020-04-02 16:54:24 · 4977 阅读 · 0 评论 -
跨时钟域处理--最终详尽版
跨时钟域处理–最终详尽版文章目录跨时钟域处理--最终详尽版1. 异步时序定义2. 亚稳态3. 单比特同步策略方法一:双锁存器注意问题1注意问题2注意问题34.多比特同步策略控制信号多比特同步同步变化的控制信号控制信号多比特之间有一定时钟相位差数据多比特同步方法一:脉冲同步法(开环的结绳法)方法二:闭环结绳法方法三:异步双口RAM+格雷码(异步FIFO)格雷码简介异步FIFO方法四:二深度FIFO......原创 2020-03-27 23:30:40 · 7974 阅读 · 6 评论 -
奇偶校验电路、数据比较器
https://blog.csdn.net/vivid117/article/details/100653875转载 2020-03-27 17:47:47 · 971 阅读 · 0 评论 -
数字IC笔试题 ——Cadence前端设计2018
数字IC笔试题 ——Cadence前端设计2018文章目录数字IC笔试题 ——Cadence前端设计2018补充知识1-fork join/join_any/join_none补充知识2-DFT比较好的题 第一题感觉有问题,用mearly状态机描述只需要8个状态。第二题:SV知识bit可以用于合并数组的定义,合并数组的存储都是连续的,所以只能定义bit类型; 补充知识1-fork j...转载 2020-03-27 16:13:27 · 570 阅读 · 0 评论 -
Verilog -- 序列检测器及其最小状态数
Verilog – 序列检测器笔试题:序列检测器检测11011001序列,最少需要几个状态?Mearly 型:State\Input01IDLE0\01\000\01\010\011\011110\011\01100\01101\011010\011011\011011110110\011\011...原创 2020-03-27 14:48:33 · 1747 阅读 · 2 评论 -
Verilog -- 状态机
Verilog – 状态机文章目录Verilog -- 状态机MOORE 与 MEALEY 状态机的特征?一段式状态机二段式状态机三段式状态机参考:https://blog.csdn.net/woshiyuzhoushizhe/article/details/95866063https://blog.csdn.net/qq_34070723/article/details/1007372...原创 2020-03-27 13:51:00 · 392 阅读 · 0 评论 -
数字IC笔试 -- 汇顶设计验证2018
文章目录数字IC笔试 -- 汇顶设计验证2018补充知识:线性反馈移位寄存器(LFSR)卡诺图化简格雷码和二进制码互相转换verilog运算优先级verilog组合逻辑产生锁存器待补充数字IC笔试 – 汇顶设计验证2018https://blog.csdn.net/bleauchat/article/details/91387188?depth_1-utm_source=distribute...转载 2020-03-25 14:09:11 · 817 阅读 · 0 评论 -
IC笔试 -- 复杂电阻网络计算
复杂电阻网络计算大疆2020 IC工程师 笔试真题:这两题都是同一类型的题,考的时复杂电阻网络的化简和计算。解决这类问题只要记住如下几点:电路的平衡对称面上的节点电势相等。电路的传递对称面上的节点电势相等。电势相等的节点可以直接用短路线连接,或者使他们断路所谓的平衡对称面就是:传递对称面就是电流传递过程中电势相等的面,平衡对称面一定是传递对称面,常见的传递对称面...原创 2020-03-21 15:50:00 · 980 阅读 · 0 评论 -
Verilog -- 无符号整数除法器(一)
参考: https://blog.csdn.net/rill_zhen/article/details/7961937https://www.cnblogs.com/moranhuishou0315/p/11344725.htmlVerilog -- 任意整数除法器在不使用除法的前提下,如何设计一个快速高效的除法器?在Verilog HDL语言中虽然有除的运算指令,但是除运算...原创 2020-03-18 11:48:00 · 3242 阅读 · 1 评论 -
FIFO -- 深度计算
FIFO深度的计算公式参考 https://www.cnblogs.com/dxs959229640/p/8144656.html求FIFO的最小深度主要有以下要点:在求解之前需要验证一下在允许的最大时间长度内写入的数据量是否等于读出的数据量,保证有解;求FIFO深度需要考虑最坏的情形,读写的速率应该相差最大,也就是说需要找出最大的写速率和最小的读速率;不管什么场景,要确...原创 2020-03-16 22:12:00 · 514 阅读 · 0 评论 -
跨时钟域处理方法总结
目录 跨时钟域处理 1. 异步时序定义 2. 亚稳态 3. 同步策略 方法一:双锁存器 方法二:握手信号(结绳法) 方法三:异步双口RAM+格雷码 跨时钟域处理为了彻底理...原创 2020-03-08 10:54:00 · 8399 阅读 · 2 评论 -
异步复位和同步释放电路的详细解释
转载自:http://blog.csdn.net/gtatcs/article/details/8931123https://www.cnblogs.com/qidaiymm/p/4959445.htmlhttp://www.xue5.com/Developer/Software/665219.html1、首先给出异步复位信号亚稳态的原因: 复位结束也就是释放的时刻恰在时钟上...原创 2020-03-05 13:46:00 · 391 阅读 · 0 评论