
数字电路基础
文章平均质量分 89
摆渡沧桑
芯片算法架构师
算法设计/硬件设计/公钥密码/对称密码/抗量子前沿密码(抗攻击/同态/格密码)
展开
-
SoC芯片设计——为什么使用assign语句,来避免使用if-else或者case来设计电路。
0.介绍对于一块芯片的设计,尤其是芯片CPU内核,为什么你写的代码,别人不敢用,功能正确,验证通过,综合,编译通过,为什么还是没有人会使用?答案很简单,一个主要原因是,你写出的code,性能不高,风险较高,不满足严谨的工业级的开发标准。下面介绍一下,一个最基本的RTL编写原则——尽量使用阶梯式的assign语句来编写,代替if-else,case的编写。虽然if-else,case有很多优势,如:有优先级顺序;件覆盖率容易debug,这点对于验证来说,能够更快的debug出条件的覆盖率等1.原创 2020-09-27 14:25:38 · 8313 阅读 · 4 评论 -
如何选择正确值的上拉电阻和下拉电阻?
经常看到芯片设计手册时,芯片外围会有上拉或者下拉电阻还有一些无源器件。如何选择正确值的上拉电阻和下拉电阻?上拉电阻和下拉电阻是如何确定?还是在选择此类电阻的时候,有个特定的范围?对上拉电阻和下拉电阻的选择应结合开关管特性和下级电路的输入特性进行设定,主要需要考虑以下几个因素:驱动能力与功耗的平衡。 以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但功耗越大,设计是应注意两者之间的均衡。下级电路的驱动需求。同样以上拉电阻为例,当输出高电平时,开关管断开,上拉电阻应适当选择以能够向下级电路原创 2020-08-28 22:23:17 · 2724 阅读 · 0 评论 -
SOC RTC时钟——为什么实时时钟的晶振都是32.768KHZ呢?
SOC RTC时钟——为什么实时时钟的晶振都是32.768KHZ呢?0. 实时时钟(RTC,Real Time Clock)实时时钟的缩写是RTC(Real_Time Clock)。RTC 是集成电路,通常称为时钟芯片1. 晶振晶振一般叫做晶体谐振器,是一种机电器件,晶振是石英振荡器的简称,英文名为Crystal是用电损耗很小的石英晶体经精密切割磨削并镀上电极焊上引线做成。晶振的作用:提供基准频率。2. RTC的晶振:任何实时时钟的核心都是晶振,晶振频率为32768 Hz 。它为分频计数器提供原创 2020-07-23 11:36:12 · 16410 阅读 · 7 评论 -
数字IC设计——滤波器(一)
数字IC设计——FIR滤波器(一)一、滤波器凡是可以使信号中特定的频率成分通过,而极大地衰减或抑制其他频率成分的装置或系统都称之为滤波器。频率滤出。基本公式:y(t)=x(t).h(t)Y(w)=x(w).h(w)二、滤波器的分类1.按频率特性低通滤波器和高通滤波器是滤波器的两种最基本的形式,其它的滤波器都可以分解为这两种类型的滤波器例如:低通滤波器与高通滤波器的串联为带通滤...原创 2020-01-30 17:03:23 · 2009 阅读 · 0 评论 -
数字IC设计中的三态门原理
数字电路中的三态门可参考另外一篇博客数字电路基础知识——CMOS门电路 (与非门、或非、非门、OD门、传输门、三态门)三态门除了高低电平,还有第三个状态——高阻态。三态门(Three-state gate)是一种重要的总线接口电路。也常常出现在芯片的引脚上,在**设计DFT/边界扫描(Boundary scan)的情况下**需要了解芯片的pin脚的几种形式,其中就包括三态输出三态门常用...原创 2020-01-09 09:52:03 · 6131 阅读 · 1 评论 -
数字电路中的buffer一般作用
数字电路中的buffer一般有两个作用:1.提高驱动能力buffer是一种宽高比很大的mos管,宽高比大意味着电流大,驱动能力高。在扇出很大的wire中插入buffer可以提高带负载能力,常见于时钟树中。2.确保信号时序正确当一条wire很长时,延迟很大(delay正比于长度的平方,设长度为1,delay为1),这时在中间插入buffer,wire delay变为1/4+1/4=1/2,...转载 2020-01-07 19:55:31 · 36377 阅读 · 1 评论 -
数字电路基础知识——格雷码和二进制码的转换的算法和Verilog实现
这篇博客会再次详细分析一下数字IC设计中关于 **格雷码(Gray Code)** 的问题一、什么是格雷码二、为什么要用格雷码三、用格雷码实现FIFO指针四、 将格雷码转换为二进制1. 将格雷码转换为二进制2. 根据条件递增二进制值3. 将二进制转换为格雷码4. 将计数器的最终格雷码保存至寄存器中 四、由格雷码转换为二进制公式例:将格雷码转换为相等的二进制数Verilog 语言描述格雷码 五、由二进制码转换为格雷码六、格雷码计数逻辑的实现下图显示格雷码计数器的逻辑原理图:原创 2019-12-03 19:27:18 · 10687 阅读 · 1 评论 -
数字电路基础知识——时序逻辑电路之存储器(SRAM、DRAM、ROM)
数字电路基础知识——时序逻辑电路之存储器RAM:Random Access Memory,随机存取存储器,手机、计算机的运行内存。一、静态随机存储器(SRAM)二、动态随机存储器(DRAM)三、只读存储器(ROM)四、存储器容量的扩展原创 2019-10-10 21:56:50 · 28128 阅读 · 1 评论 -
数字电路基础知识——时序逻辑电路之时序逻辑分析方法
数字电路基础知识——时序逻辑电路之一、时序逻辑电路1. 组合电路喝时序电路的区别2. 时序电路的结构框图3. 描述时序逻辑电路的方程组二、时序逻辑电路分类同步时序电路、异步时序电路MooreMealy三、时序电路的分析方法1)在时序电路中写出存储电路中每个触发器的驱动方程(输入的逻辑关系式),得到整个电路的驱动方程。2)将驱动方程代入触发器的特性方程,得到状态方程。3)写出输出方程原创 2019-10-08 18:38:33 · 14745 阅读 · 0 评论 -
数字电路基础知识——锁存器与触发器的建立时间和保存时间(二)
数字电路基础知识——锁存器与触发器的建立时间和保存时间(二)一、建立时间和保持时间的计算时钟周期为T,触发器D1的建立时间最大为T1max,最小为T1min。组合逻辑电路最大延迟为T2max,最小为T2min。二、实际电路的Setup和Hold公式及violation分析原创 2019-10-02 19:43:51 · 3914 阅读 · 0 评论 -
数字电路基础知识——锁存器与触发器的建立时间和保存时间(一)
数字电路基础知识——锁存器与触发器的建立时间和保存时间本节主要介绍关于数字IC设计的基本时序分析问题,分析其建立时间和保持时间尤为重要。一、D触发器的建立时间与保持时间建立时间Tsu(setup):触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时间。保持时间T... 二、Latch的建立时间与保持时间。锁存器的建立和保持时间是以最后CLK高电平消失时间点为基准的三、建立时间裕量和保持时间裕量。四 、一个最简单的例子(面试中经常遇到的问题)原创 2019-10-01 21:08:45 · 10599 阅读 · 0 评论 -
数字电路基础知识——锁存器与触发器在Verilog中使用问题
一、 锁存器(latch)和触发器 (Flip-Flop,FF) 的区别锁存器与触发器总结下锁存器的主要缺点二、 在使用verilog 语言时描述触发器应注意的问题因此在使用Verilog中极易产生锁存器的情况有如下几种:always@(敏感列表)if 语句的使用中缺少 else 语句case缺少default语句即使if-else 语句完整并且是组合逻辑电路一定不会生成锁存器吗?三、使用Verilog避免生成锁存器应注意的事项原创 2019-09-29 15:42:46 · 4809 阅读 · 0 评论 -
数字电路基础知识——时序逻辑电路之半导体存储器(触发器、锁存器(D、RS、JK、T))
数字电路基础知识——时序逻辑电路之半导体存储器(触发器、锁存器(D、RS、JK、T))数字电路中有关半导体存储器件的主要是触发器、锁存器、存储器等。主要用来存储数据。用于存储一位数据的存储电路称为**寄存器**,而可以存储大量数据的称为**存储器**。寄存器主要由一组触发器组成,n个触发器组成的寄存器可以存储n位的二进制值数据。二、电平触发的触发器(SR、D 电平触发器二、脉冲触发的触发器 (主从SR触发器、主从JK触发器)三、边沿触发的触发器 (边沿D触发器)四、触发器的逻辑功能和描述方式原创 2019-09-28 18:40:49 · 14908 阅读 · 0 评论 -
数字电路基础知识——组合逻辑电路实现一些简单逻辑电路 (二)(用Verilog实现:统计序列1的个数,求三个数的最大值)
数字电路基础知识——组合逻辑电路实现一些简单逻辑电路 (二)(用Verilog实现:统计序列1的个数,求三个数的最大值)一、统计序列1的个数二、求三个数的最大值:原创 2019-09-27 20:14:06 · 6545 阅读 · 1 评论 -
数字电路基础知识——乘法器的设计(二)( 串行、流水线、有符号数八位乘法器)
数字电路基础知识——乘法器的设计(二)( 串行、流水线乘法器)前面一节关于乘法器的具体实现方式有很多种方法,均有各自的优缺点。本节将再介绍一下两种乘法器的设计,分别用Verilog语言实现串行和流水线乘法器。一、串行乘法器两个N位二进制数x、y的乘积用简单的方法计算就是利用移位操作来实现。二、流水线乘法器4位流水线乘法器的实现原创 2019-09-26 17:56:41 · 13886 阅读 · 2 评论 -
数字电路基础知识——组合逻辑电路之乘法器的设计(一)—— 并行、移位相加、加法树、查找表乘法器
数字电路基础知识——组合逻辑电路(乘法器的设计)乘法器的设计主要应用在数字信号处理和数字通信,本节主要介绍乘法器的四种实现方法。使用并行乘法器、移位相加乘法器、查找表乘法器、加法数乘法器。部分会涉及到寄存器时序逻辑电路。并介绍各自的优缺点。一、并行乘法器二、移位相加乘法器三、查找表乘法器四、加法器乘法器五、乘累加器原创 2019-09-24 22:34:33 · 38320 阅读 · 5 评论 -
数字电路基础知识——组合逻辑电路实现一些简单逻辑电路 (一)(用Verilog实现:绝对值函数运算(补码问题),取对数函数(移位寄存器),取整函数)
在数字逻辑设计中,本节介绍绝对值运算函数如何用Verilog硬件描述语言来实现,本质上是补码的问题。而取对数问题,可以归结为移位寄存器的问题。最后介绍一下取整函数的实现。一、用Verilog硬件描述语言来实现 取绝对值函数算法思路:function [7:0] abs; input [8:0] data_in; if(data_in[8]) abs=1+(~data[7:0]); else 二、取对数函数(求log以2为低的整数) 三、取整函数原创 2019-09-18 20:45:25 · 6450 阅读 · 1 评论 -
数字电路基础知识——组合逻辑电路(数据选择器MUX、多路复用器)
数字电路基础知识——组合逻辑电路(数据选择器MUX、多路复用器)数据选择器(MUX)二选一数据选择器用 2输入mux,实现与,或,非,异或三、 四选一选择器四、用选择器设计组合逻辑电路五、例:用Verilog描述一个多路复用器,输入的通道数目N,每一路的位宽为M。求log以2为低的整数的方法(使用移位寄存器、数据比较器)原创 2019-09-11 20:23:04 · 87126 阅读 · 3 评论 -
数字电路基础知识——组合逻辑电路(奇偶校验电路、数据比较器的设计)
数字电路基础知识——组合逻辑电路(奇偶校验器、比较器的Verilog设计)本次主要介绍组合逻辑电路中的奇偶校验电路以及比较器的设计,以及相干的实例来熟悉这两种电路。一、奇偶校验电路奇偶校验码奇偶校验码是比较简单的数据校验码,可以检测出一位错误,但是并不能确定错误的位置。如果数据中发生多位数据错误就可能检测不出来,更检测不到错误发生在哪一位;二、数据比较器原创 2019-09-09 12:40:18 · 25651 阅读 · 0 评论 -
数字电路基础知识——组合逻辑电路(译码器的设计、BCD译码器、3-8译码器)
数字电路基础知识——组合逻辑电路(译码器、数据选择器)数字电路中有很多基本常用的组合逻辑电路,如编码器、译码器、数据选择器、加法器、比较器。本次主要介绍译码器、数据选择器。并用Verilog语言设计简单的组合逻辑电路。一、译码器使用Verilog语言设计一个简单的组合逻辑电路(2-4译码器)设计BCD译码器,输入0~9。采用Verilog描述并画出门级电路图。(4线-10线译码器)原创 2019-09-07 15:44:07 · 11245 阅读 · 0 评论 -
数字电路基础知识——数字逻辑代数(逻辑代数基本定理及常用公式,最大项、最小项,公式法、卡洛图法及Q-M法化简(列表法)化简逻辑函数)
数字电路基础知识——数字逻辑代数(逻辑代数公式、卡洛图的运用、Q-M法化简(列表法))本节主要介绍逻辑代数的公式、及逻辑函数的化简、包括公式法化简、卡洛图化简、Q-M列表法化简。一、逻辑代数的三个基本运算二、逻辑代数的基本定律三、逻辑函数的两种标准式四、逻辑函数的卡洛图化简五、Q-M法化简逻辑函数(奎恩-麦克拉斯基),也叫列表化简法原创 2019-09-05 16:51:15 · 49790 阅读 · 2 评论 -
数字电路基础知识——CMOS门电路 (与非门、或非、非门、OD门、传输门、三态门)
数字电路基础知识——CMOS门电路 (与非门、或非、非门、OD门、传输门、三态门)一、二极管门电路二、CMOS 门电路反相器(非门)常用的逻辑门:或非门、与非门相同面积的cmos与非门和或非门哪个更快——与非门会更优OD门(漏极开路的门电路)传输门三态门原创 2019-09-01 20:51:59 · 184446 阅读 · 8 评论 -
数字电路基础知识——组合逻辑电路中的竞争与冒险问题(竞争与冒险、检验方法、及消除方法)
数字电路基础知识—— 数字电路中的竞争与冒险(竞争与冒险、检验方法、及消除方法)一、由于经由不同路径传输达到某一汇合点的时间有先有后的现象,就称之为竞争,由于竞争现象所引起的电路输出发生瞬间错误的现象,就称之为冒险。二、竞争冒险的影响因素:三、 检查竞争冒险的常用方法:五、消除冒险竞争加滤波电容,消除毛刺的影响加选通信号,避开毛刺增加冗余项,消除逻辑冒险原创 2019-08-30 17:24:54 · 18733 阅读 · 7 评论 -
数字电路基础知识——数字IC中的进制问题(原码,反码,补码以及各进制的转换)
数字电路基础知识——数字IC中的进制问题(原码,反码,补码以及各进制的转换)一、原码,反码,补码,符号-数值码。以4bit为例,给出各自表示的数值范围。原码:符号位+真值,最高位表示符号位。0表示正数,1表示负数[+3]原 = 0011[-3]原 = 1011原码中0000和1000都表示0。一个n bit位的有符号数,他表示的范围是 -2n-1~2n-1反码:正数的...原创 2019-08-28 09:24:25 · 3792 阅读 · 2 评论 -
数字电路基础知识——反相器的相关知识(噪声容限、VTC、转换时间、速度的影响因素、传播延时等)
数字电路基础知识——反相器的相关知识(噪声容限、VTC、转换时间、速度的影响因素、延时等)反相器是数字电路中最基本的门电路之一,由NMOS和PMOS组成。学过半导体器件的都对此结构比较清楚。下面我总结了一些反相器相关的知识:一、反相器的结构二、反相器的噪声容限(VTC曲线)2. 噪声容限定义:三、反相器的亚稳态四、反相器的工作速度影响因素原创 2019-08-27 16:48:38 · 65469 阅读 · 0 评论 -
数字电路基础知识—— IO外设之GPIO介绍
数字电路基础知识—— IO外设之GPIO介绍一、GPIO 原理GPIO,英文全称为General-Purpose IO ports,也就是通用IO口。两个寄存器,即 通用IO控制寄存器与通用IO数据寄存器。二、GPIO相关的寄存器三、zynq GPIO 结构原创 2019-08-06 17:07:09 · 12189 阅读 · 0 评论 -
数字IC设计的一些英语术语总结
数字IC设计的一些英语术语总结(持续更新。。。)AXI (Advanced eXtensible Interface )AMBA (Advanced Microcontroller Bus Architecture)DMA(Direct Memory Acess)FPGA (Filed Programmble Gate Array) 现场可编程门阵列GPIO (General Propo...原创 2019-08-01 11:23:29 · 4381 阅读 · 1 评论 -
数字电路基础知识(七) ——Vivado使用Chipscope在线逻辑分析仪Debug
数字电路基础知识七) ——Vivado使用Chipscope在线逻辑分析仪Debug在 https://blog.csdn.net/vivid117/article/details/96508986 和 https://blog.csdn.net/vivid117/article/details/96753878 这两篇文章中提到了使用两种在线逻辑分析进行在线debug的方法。由于RTL仿真后...原创 2019-07-27 20:22:17 · 6055 阅读 · 1 评论 -
数字电路基础知识(六) FPGA的逻辑实现——结构和原理
FPGA的逻辑实现 可编程技术FPGA的逻辑实现——结构和原理目前FPGA使用最广泛的逻辑实现方式是查找表的实现方式(LUT)。看网上的资料一大堆讲FPGA的逻辑实现的,讲的云里雾里。看完之后还不是很了解,于是自己买了本FPGA原理的书,总结一下FPGA的逻辑实现的原理和方法。...原创 2019-06-24 00:08:58 · 8640 阅读 · 5 评论 -
数字电路基础知识(五) 组合电路
数字电路基础知识(五) 组合电路组合电路:任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关电路的描述方式:1)真值表描述方式知道电路的真值表,描述事用case语句逐条描述即可2)逻辑表达式描述方式写出电路的逻辑表达式,用卡洛图化简成最简逻辑,然后用数据流的方式描述。3)结构性描述方式使用块语句调用方式。4)抽象描述方式直接从电路的功能出发进行描述,但是注意并不是所有...原创 2019-06-15 10:28:24 · 1360 阅读 · 0 评论 -
数字电路基础知识(四) 加法器-半加器、全加器与超前进位加法器
数字电路基础知识(四) 加法器-半加器与全加器与超前进位加法器半加器+半加法和全加法是算术运算电路中的基本单元,它们是完成1位二进制相加的一种组合逻辑电路。原创 2019-06-14 23:12:37 · 67342 阅读 · 7 评论 -
数字电路基础知识(三) 复位设计-异步复位,同步释放
数字电路基础知识(二) 复位设计-异步复位,同步释放基本电路原理vivado软件用verilog实现异步复位,同步释放原创 2019-06-09 11:37:07 · 3021 阅读 · 0 评论 -
数字电路基础知识(二) 复位设计-亚稳态的产生与影响
数字电路基础知识(二) 复位设计-异步复位同步释放上一节介绍了基本的同步复位和异步复位的基本设计。两种方法各有优缺点,本节介绍一下触发器产生亚稳态的原因即亚稳态的影响和评估以及一些建议。建立时间与保持时间。原创 2019-06-07 23:27:28 · 1860 阅读 · 0 评论 -
数字电路基础知识(一) 复位设计-同步复位与异步复位
基于D触发器介绍复位设计思想。一、 同步复位同步复位,指的是同步复位信号就是复位信号只在所需时钟边沿到来时才有效,其他时刻则无效,一般复位信号持续时间大于一个时钟周期。verilog代码实现:module d_ff_1(input clk_i,rst_n_i,D,output Q_o );reg Q;//module d_ffalways@(posedge clk_i)...原创 2019-06-05 12:21:31 · 12119 阅读 · 4 评论