随笔分类 - IC笔试面试
摘要:面试题 - 二输入比较器实现排序算法 @(数字集成电路基础) 1. 问题描述 给定8个数,以及若干二输入的比较器(可以将两个输入排序)。要求在单周期内实现8个数的排序,并使用最少的比较器个数。(乐鑫) (距离面试已经过了很久,抽空整理一下当时的题目) 2. 问题解析 乍一看,排序算法,这不是个算法题
阅读全文
摘要:Verilog -- 序列发生器的设计 @(verilog) 1. 题目 产生序列信号11010111至少需要几级触发器? 2. 思路1 - 状态机实现 最容易想到的就是采用状态机,每个状态输出序列中的一位,发送完一组序列后回到开始状态继续循环。需要注意的是状态变量的位宽,由于题目要求采用最少的触发
阅读全文
摘要:数字集成电路 -- 各种计数器简介 1. 环形计数器 https://wenku.baidu.com/view/73ec140bba1aa8114431d945.html N个寄存器构成的环形计数器,状态数:N 2. 扭环形计数器 https://wenku.baidu.com/view/73ec1
阅读全文
摘要:Verilog -- 并行2bit输入序列检测器 @(verilog) 乐鑫2020笔试题: 描述:模块输入口是并行的2bit,实现对$(1011001)_2$的序列检测,输入数据顺序为高位2bit先输入,当检测到序列时输出一拍高电平脉冲,用verilg描述。 方法一:状态机 采用状态机描述,先列出
阅读全文
摘要:Verilog 任意整数除以三求商和余数 @(verilog) [TOC] 1. 问题简介 问题:输入一个16bit的数,现在要求它除以3得到的商和余数,如何优化? 来源: "@笑着刻印在那一张泛黄" 提供,面试真题。 2. 思路 一开始联想到之前写过的另一篇博文 "序列模三检测器" ,但是这只能解
阅读全文
摘要:Verilog 改进的Booth乘法(基4) @(verilog) [TOC] 1. 背景 之前已经介绍过Booth乘法算法的基本原理以及代码,实际上之前的算法是 基2的booth 算法,每次对乘数编码都只考虑两位。因此在实际实现时往往效率不高,考虑最坏情况,使用基2的booth算法计算两个8位数据
阅读全文
摘要:Verilog -- 求两数最大公因数和最小公倍数 @(verilog) 1. 原理简介 1.1 辗转相除法求公因数 求最大公因数的常用算法为辗转相除法,又被称为欧几里德(Euclidean)算法, 是求最大公约数的算法。辗转相除法首次出现于欧几里得的《几何原本》(第VII卷,命题i和ii)中,而在
阅读全文
摘要:Verilog 无符号整数除法器(二) [TOC] 在 Verilog 任意整数除法器(一)中已经给出了一种除法器的组合逻辑实现,但是实际使用中可能还是需要讲组合逻辑插拍才能得到更好的性能。下面给出一种基于状态机的时序逻辑除法器实现。 这边先上一下算法流程图,跟之前的一样: 下面是verilog代码
阅读全文
摘要:专用集成电路 运算电路 [TOC] 1. 二进制加法器 二进制加法器接收加数A和B,以及进位Ci,输出和S,以及进位输出Co. 二进制加法器的真值表如下: 逻辑表达式: $$ S = A \oplus B \oplus C_i $$ $$ C_o = AB+BC_i+AC_i $$ 从实现的角度,可
阅读全文
摘要:Verilog 乘法器Booth算法 [TOC] 1. 原理 Booth算法的原理其实小学初中就学过,比如下面这道题: 简便计算 :$8754 \times 998 = ?$ 随便抓个娃娃来都知道应该这么算: $8754 \times 998 = 8754 \times 1000 8754 \tim
阅读全文
摘要:专用集成电路 CMOS组合逻辑设计 [TOC] 《数字集成电路 电路、系统与设计》第二版 复习笔记 1. 静态互补CMOS 实际上就是静态CMOS反相器扩展为具有多个输入。更反相器一样具有良好的稳定性,性能和功耗。 + 静态的概念 :每一时刻每个门的输出通过低阻抗路径连到VDD或VSS上。任何时候输
阅读全文
摘要:专用集成电路 反相器 @(知识点汇总) 《数字集成电路 电路、系统与设计》第二版 复习笔记 [TOC] Chapter 1 1.反相器的电压传输特性 (VTC) + $V_{OH}$: 额定高电压 + $V_{OL}$ : 额定低电压 + $V_{M}$ : 门阈值电压(开关阈值电压,非晶体管VT)
阅读全文
摘要:SV Coverage 覆盖率 本文内容来自: 1. http://www.asic world.com/systemverilog/coverage.html 2. https://verificationguide.com/systemverilog/systemverilog array ma
阅读全文
摘要:转自:https://www.cnblogs.com/qiweiwang/archive/2011/04/18/2019952.html Verilog 序列检测器(采用移位寄存器实现) 序列检测器就是将一个指定序列从数字码流中识别出来。本例中将设计一个“10010”序列的检测器。设X为数字码流的输
阅读全文
摘要:SV Randomization 随机化 @(SV) [TOC] 0. 基础 下面几种类型可以随机化: + 单个变量或整形数 + 数组 + 数组长度 + 对象句柄 语法: + 生成0 15的随机数 + 生成0 15的随机数,完全遍历完16个数之后才会开始开始下一轮,每一轮随机的数不重样 + 对象内变
阅读全文
摘要:SV Interprocess Communication (IPC 线程间通信) @(SV) [TOC] 1. Semaphore 旗语 + 旗语是sv内置的方法,可以用来做线程间的同步。 + 旗语就像一个桶,里面有很多键。使用旗语的进程必须首先从桶中获取一个密钥,然后才能继续执行,所有其他进程必
阅读全文
摘要:SV Class 类 [TOC] 0. 基础 定义: class name; 实例化: .new() 类中可以包含function, task + 当类内的成员函数的输入变量跟类内的成员变量同名时,会有歧义,可以使用this.来指定类的成员变量 1. static 可以指定类的成员变量或函数任务为静
阅读全文
摘要:Verilog 序列模三(整除3)检测器 描述:输入口是1bit,每次进来一位数据,检查当前序列是否能整除3,能则输出1,否则输出0. 例如 : 序列=1,out=0; 序列=11,out=1; 序列=110,out=1; 序列=1101,out=0; 首先需要找一下规律 ,一个数被三除,只可能会有
阅读全文
摘要:SV Array 整理下system verilog中数组的用法,备忘。 [TOC] 1.定宽数组 + 只在array名字之前定义位宽的是packed array,packed array的元素是单独的位 + array名字之后定义数组大小的是unpacked array; + 名字前后都有定义的是
阅读全文
摘要:SV Assertions 断言 [TOC] 1.简介 断言assertion被放在verilog设计中,方便在仿真时查看异常情况。当异常出现时,断言会报警。一般在数字电路设计中都要加入断言,断言占整个设计的比例应不少于30%。 断言的作用 : + 检查特定条件或事件序列的出现情况。 + 提供功能覆
阅读全文

浙公网安备 33010602011771号