数字IC知识点总结
非得写点儿啥,那我就写点儿,好了。
崽象肚里能撑船
万事万物,不外乎--量变引起质变。
展开
-
工艺升级的意义
工艺升级的意义概括现在(2020年),市场上用的手机等高端设备大部分都是采用的已经成熟的7nm工艺,5nm工艺还在走向成熟的路上。为什么现在的手机厂商都在迫不及待地采用最新的工艺,已经到了不计较流片成本的地步,工艺升级有那些吸引人的地方?沟道长度越短速度越快电容更小 功耗更低体积更小 集成度可以做到更高缺点就是工艺复杂了 难度更大 工艺参数波动也会更大,漏电流变大,稳定性变差升级的影响集成电路和其他产业一样,追求的是两种东西: 高性能、低功耗和低成本。高性能当然涵盖很多方面,但是最主要的是原创 2020-06-30 23:29:07 · 977 阅读 · 0 评论 -
流水线设计
流水线设计前言:本文从四部分对流水线设计进行分析,具体如下:第一部分什么是流水线第二部分什么时候用流水线设计第三部分使用流水线的优缺点第四部分流水线加法器举例第一 什么是流水线流水线设计就是将组合逻辑系统地分割,并在各个部分(分级)之间插入寄存器,并暂存中间数据的方法。目的是将一个大操作分解成若干的小操作,每一步小操作的时间较小,所以能提高频率,各小操作能并行执行,所以能提高数据吞吐率(提高处理速度)。第二 什么时候用流水线设计使用流水线一般是时序比较紧张,对电路工作频率较高的时候。转载 2020-08-04 10:21:36 · 2046 阅读 · 0 评论 -
总线,仲裁
总线,仲裁总线,英文叫作“BUS”,即我们中文的“公共车”,这是非常形象的比喻。公共车走的路线是一定的,我们任何人都可以坐公共车去该条公共车路线的任意一个站点。如果把我们人比作是电子信号,这就是为什么英文叫它为“BUS”而不是“CAR”的真正用意。当然,从专业上来说,总线是一种描述电子信号传输线路的结构形式,是一类信号线的集合,是子系统间传输信息的公共通道。通过总线能使整个系统内各部件之间的信息进行传输、交换、共享和逻辑控制等功能。如在计算机系统中,它是CPU、内存、输入、输出设备传递信息的公用通道,原创 2020-08-04 10:17:43 · 829 阅读 · 0 评论 -
setup&hold time概念及违约修复
setup&hold time概念及违约修复从D触发器的构成来认识setup&hold time众所周知,setup和hold作为timing分析与验证中最重要的概念之一,是时序电路正常工作必须满足的条件。但是很多初学者甚至某些工作数年的工程师,对时序电路需要验证setup和hold背后的原理可能并不清楚。下图是上升沿触发的D触发器的一种典型的基于传输门的设计原理:上升沿D触发器原理图首先我们先把注意力集中在电路的前半部分。假设CLK的初始状态为0,此时第一个传输门导通,信号走向为:D原创 2020-08-04 10:18:48 · 12768 阅读 · 5 评论 -
AXI4总线协议好文
AXI4总线协议好文基础深入 AXI4 总线(一)握手机制深入 AXI4 总线(二)架构深入 AXI4 总线(三)传输事务结构深入 AXI4总线 (四):RAM 读取实战深入 AXI4总线 (五):AXI4 的兄弟协议深入 AXI4总线 (六):制作一个 AXI 接口 IP扩展深入 AXI4 总线(A)附录·术语表深入 AXI4 总线(B)附录·一次从〇开始的 AXI 总线入门研讨深入 AXI4 总线(C0)旧版存档:突发传输机制深入 AXI4 总线(E0)实战:平台搭建深入 AX原创 2020-06-13 20:53:45 · 1953 阅读 · 0 评论 -
AXI4总线协议总结
AXI4总线协议总结0.绪论AXI是高级扩展接口,在AMBA3.0中提出,AMBA4.0将其修改升级为AXI4.0。AMBA4.0 包括AXI4.0、AXI4.0-lite、ACE4.0、AXI4.0-streamAXI4.0-lite是AXI的简化版本,ACE4.0 是AXI缓存一致性扩展接口,AXI4.0-stream是ARM公司和Xilinx公司一起提出,主要用在FPGA进行以数据为主导的大量数据的传输应用。1.简介1.1 关于AXI协议AMBA AXI协议支持支持高性能、高频率系统设计。原创 2020-06-13 20:35:03 · 1828 阅读 · 0 评论 -
UDP和TCP
UDP和TCP1、TCP与UDP区别总结:1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。3、UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。4.转载 2020-06-12 23:09:22 · 262 阅读 · 0 评论 -
TCP/IP框架总结
TCP/IP框架总结TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。TCP/IP 协议采用4层结构,分别是应用层、传输层、网络层和链路层,其实链路层后面还有一层叫物理层,不过通常称之为物理介质,每一层都呼叫它的下一层所提供的协议来完成自己的需求。由于我们大部分时间都工作在应用层,下层的事情不用我们操心;其次网络协议体系本身就很复杂庞大,入门门槛高,因此很难搞清楚TCP/IP的工作原理,通俗一点讲就是,一个主机的数据要经过原创 2020-06-12 22:22:10 · 1708 阅读 · 0 评论 -
乘法器,也不过如此!
乘法器,也不过如此!写在前面:在微处理器芯片中,乘法器是进行数字信号处理的核心,同时也是微处理器中进行数据处理的关键部件。乘法器完成一次操作的周期基本上决定了微处理器的主频。乘法器的速度和面积优化对于整个CPU的性能来说是非常重要的。为了加快乘法器的执行速度,减少乘法器的面积,有必要对乘法器的算法、结构及电路的具体实现做深入的研究。逐位进位并行乘法器:设两个 n 位二进制正数 X 和 Y:X : X n-1···X1 X0Y : Y n-1··· Y1Y0则 X和 Y的乘积 Z有 2原创 2020-06-06 09:54:43 · 5962 阅读 · 1 评论 -
无毛刺的时钟切换
无毛刺的时钟切换前言:在设计多时钟系统中,需要切换时钟源,这两个时钟可能是没有关联的(相位、频率),或者他们为倍数关系。这两种情况都有可能在开关时产生毛刺(glitch),而系统上的毛刺对系统来说是危险的,他可能能够被一些寄存器捕获为触发边沿,而其他寄存器忽略此毛刺。无毛刺的时钟切:Glitch-free clock switching circuit,不要混淆了Clock Domain Conversion为跨时钟域传输问题,就是最常考也是经常听到的CDC问题。参考文章:李锐博恩正确的无毛刺时钟原创 2020-06-06 09:54:26 · 2762 阅读 · 1 评论 -
序列求非0序号,你学会了吗?
序列求非0序号题目:解法,如果说位宽比较小,比如8位,那么其实这就是一个8-3优先级编码!如果这么说:有一个8bit位,求从最低位开始的第一个非零bit的序号,其实就是a0是最高优先级的8-3编码器,输出对应的最高优先级的编码就是地址序号。xxxx_xxx1 000xxxx_xx10 001xxxx_x100 010xxxx_1000 011xxx1_0000 100xx10_0000 101x100_0000 11010原创 2020-06-06 09:50:01 · 635 阅读 · 0 评论 -
FIFO深度计算
FIFO深度计算,参考了时间的诗的博文:参考文章数据突发长度(burst length)在讲解如何去计算FIFO深度之前,我们来理解一个术语burst length。要理解数据的突发长度,首先我们来考虑一种场景,假如模块A不间断的往FIFO中写数据,模块B同样不间断的从FIFO中读数据,不同的是模块A写数据的时钟频率要大于模块B读数据的时钟频率,那么在一段时间内总是有一些数据没来得及被读走,如果系统一直在工作,那么那些没有被读走的数据会越累积越多,那么FIFO的深度需要是无穷大的,因此只有在突发数据原创 2020-06-06 09:53:15 · 2643 阅读 · 2 评论 -
异步FIFO
异步FIFO深入理解FIFOFIFOFirst In First Out是一种先进先出的数据缓存器,与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据, 其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。用途1:异步FIFO读写分别采用相互异步的不同时钟。在现代集成电路芯片中,随着设计规模的不断扩大,一个系统中往往含有数个时钟,多时钟域带来的一个问题就是,如何设计异步时钟之间的接口电路。异步FI原创 2020-06-06 09:55:56 · 542 阅读 · 0 评论 -
CDC
CDCCDC(clock domain crossing)思维导图:跨时钟域处理方法总结如下:1、有关系的时钟之间传单bit数据,理论上只需要源数据保持足够长的时间(clk2的两个周期)即可;2、无关系的时钟之间传单bit数据,必须要使用同步器;3、不管有无关系的时钟进行单bit传输,脉冲同步器都可以解决这个问题;4、多bit传输只能使用握手机制或者异步fifo;跨时钟域传输多bit数据,采用握手协议或者异步FIFO,握手信号的缺点在于传输单次数据的延迟比FIFO要大很多。双口RAM搭配格原创 2020-06-06 09:54:04 · 5625 阅读 · 2 评论 -
同步器
同步器我们先来认识同步与异步1:同步电路与异步电路同步时序电路:用各种触发器实现,主要信号与OUT都是一个时钟沿经过各种触发器触发的。所以只有时钟脉冲到来才能改变电路的状态,所以不论IN如何变化,状态表中的每个状态都是稳定的。异步时序电路:用组合逻辑电路(与非门)实现,电路中没有统一的时钟,典型的有FIFO/RAM读写信号、地址译码器等。主要信号与OUT 不是某个时钟信号驱动FF产生的。核心区别在于是否所有触发器都与唯一时钟脉冲同步。always后面是变量还是沿。比如一个触发器的输出连接到另一个原创 2020-06-06 09:51:48 · 2528 阅读 · 3 评论 -
时钟与复位,是块儿硬骨头
时钟与复位,是块儿硬骨头思维导图:做的比较简陋,让您见笑了。时钟:时钟,即clock信号,是由晶体经过激发产生的振荡电路。时钟参与着系统的启动、休眠,数据的读取、写入,信号的调制、解调,微波的发射、接收等一系列的工作。如果说电源是系统的血液,那么时钟就是经脉,把整个身体打通,让所有组织联系在一起。分类时钟可以分为有源时钟和无源时钟两类。所谓有源,就是在外供电源情况下,生成震荡信号,可以作为一个独立的模块。而无源的则是只有单独一个晶体,需要什么电路来产生震荡,是需要外部搭出来的。通常原创 2020-06-06 09:52:41 · 6010 阅读 · 1 评论 -
亚稳态清除计划
亚稳态简单介绍:有建立和保持时间要求的所有寄存器允许在输入端口捕获数据。最后传送到寄存器输出端口的捕获数据是高或者低电平信号取决于输入端口信号的捕获。然而,如果数据违反了建立保持时间要求,将会导致寄存器的输出值出现亚稳态。在这个状态下,寄存器的输出数据值将会盘旋在高低电平之间。当这个值传播到电路中,寄存器将锁存错误值,最终导致系统运行失败。只要系统中有异步元件,亚稳态就是无法避免的,亚稳态主要发生在异步信号检测、跨时钟域信号传输以及复位电路等常用设计中。亚稳态问题通常发生在信号传输于两个不相关时钟原创 2020-06-06 09:51:07 · 467 阅读 · 0 评论 -
实际设计中基本电路单元
实际设计中基本电路单元思维导图:相关基本电路的介绍请看我的博文:LFSR扰码器/解扰器检错与纠错格雷编码/解码译码器编码/解码数据转换器同步技术移位寄存器定时器波形整形电路...原创 2020-06-06 09:56:37 · 368 阅读 · 0 评论 -
分频,搞定只需分分钟
分频,搞定只需分分钟通常我们说对原时钟进行N分频,即分频后的时钟的一个周期是原时钟周期的N倍。N可以为偶数、奇数、分数(小数)。思维导图:偶数分频Verilog实现:N为偶数,使用一个计数器循环0-(N-1)进行计数,在N/2-1与N-1分别将输出取反,即完成了N分频,注意,当计数到N-1时,需要对计数器复位,如果需要得到占空比不是50%的分频时钟,则需要修改输出时钟信号发送翻转时候的计数值,此时就不是在N/2-1处翻转了。若采用D触发器画出分频器,单个D触发器的反向输出到输入就构成了一个简单的原创 2020-05-27 16:58:43 · 865 阅读 · 0 评论 -
能加offer的加法器你会吗?
能加offer的加法器你会吗?一位加法器半加器如果不考虑来自低位的进位将两个1二进制数相加,称为半加。实现半加运算的逻辑电路称为半加器。逻辑表达式:s=ab′+a′bco=ab全加器在将两位多位二进制数相加时,除了最低位以外,每位都应该考虑来自低位的进位,即将两个对应位的加数和来自低位的进位3个数相加。这种运算称为全加,所用的电路称为全加器。逻辑表达式s=(a′b′ci′+ab′ci+a′bci+abci′)′co=(a′b′+b′ci′+a′ci′)′全加器可以用两个半原创 2020-05-26 22:48:07 · 544 阅读 · 1 评论 -
计数器也有三姑六婆
计数器也有三姑六婆六种常用计数器的verilog实现(binary、gray、one-hot、LFSR、环形、扭环形)看着这位老哥总结的挺好的,就转载了,原文在这里binary(二进制)计数器很简单,可根据需要完成同步或异步复位、置数、使能的功能。在ISE的language template中有各种计数器,可进行参考。下面给出一个带有同步复位、使能、置数端的计数器。8bit二进制计数器的代码: 1 module binary_counter( 2转载 2020-05-27 11:41:10 · 615 阅读 · 0 评论 -
编码与解码,存在即合理
编码与解码,存在即合理首先我们先来科普一下计算机领域里的编码与解码:人类先有了自己的语言,然后才出现了计算机。可惜计算机只认0和1,人类只能认文字,双方都不能妥协,那就必须要有一个从文字到0、1的映射了。从文字到0、1的映射称为编码,反过来从0、1到文字叫解码。 具体什么 是编码?先来咬文嚼字一下吧。编就是将某样东西按照一定的规则放到一起,码在这里是数字的意思。编码就是将某东西编成数字。比如邮政编码,就是将不同范围 内的邮局编成不同的数字。计算机里只有0和1,编码就是将文本字符编成一系列的0和1,原创 2020-05-26 19:21:39 · 964 阅读 · 0 评论 -
检错码与纠错码,一码归一码
检错码与纠错码,一码归一码写在前面:为什么需要差错处理任何信道,即使是光纤,也会出错。差错的类型单个错误:分散在各块中突发错误:集中在某个块中注:突发错误比单个错误更加难于处理,通常利用处理单个处理的方法来应对突发错误。差错的处理纠错码:发现错误,从错误中恢复出正确的来。因其需要太多的冗余位,纠错开销太大,在有线网络中极少使用,主要用于无线网络中。检错码:只能发现错误,不能从错误中恢复,但可采用重传两种不同的处理方法适用于不同的环境检错码为什么要用检错码?纠错需要较多的冗余位原创 2020-05-25 22:37:04 · 7423 阅读 · 0 评论 -
LFSR(斐波那契大战伽罗瓦)
LFSR线性反馈移位寄存器线性反馈移位寄存器(LFSR):通常由移位寄存器和异或门逻辑组成。其主要应用在:伪随机数,伪噪声序列,计数器,BIST,数据的加密和CRC校验等。Part.1线性反馈移位寄存器(LFSR)主要包括两大类:斐波那契(外部LFSR),又称many-to-one;伽罗瓦(内部LFSR),又称one-to-many。如下图(模2的多项式:x8+x6+x4+1):Part.2抽头(tap):影响线性反馈寄存器下一个状态的比特位叫做抽头,抽头的设定会决定线性反馈寄存器最大的输出序原创 2020-05-25 20:51:54 · 8806 阅读 · 4 评论 -
集成电路设计,入学通行证
集成电路设计基础篇思维导图:这里简单介绍一下德摩根定律:数学方式:(A || B)’ = (A’) && (B’)(A && B)’ = (A’) || (B’)或者(我喜欢你或者你喜欢我)都不成立=(我不喜欢你)而且(你不喜欢我)(我喜欢你而且你喜欢我)都不成立=(我不喜欢你)或(你不喜欢我)这真是一个悲伤的故事其它知识或许会出现在其它博文里的某个角落哈姆雷特,请保持前行!...原创 2020-05-24 21:42:13 · 334 阅读 · 0 评论 -
Verilog可综合与不可综合之disable(纠结)
Verilog综合与不可综合思维导图:可综合与不可综合语句汇总:(1)所有综合工具都支持的结构:always,assign,begin,end,case,wire,tri,aupply0,supply1,reg,integer,default,for,function,and,nand,or,nor,xor,xnor,buf,not,bufif0,bufif1,notif0,notif1,if,inout,input,instantitation,module,negedge,posedge,原创 2020-05-24 21:41:24 · 2209 阅读 · 0 评论 -
欢迎来到芯(de)片(lai)设(lian)计(meng)!
芯片设计知识框架知识框架图设计和开发一个复杂的SOC/ASIC,与学习一种新的语言类似,需要从基本的语法和简单的语句学起来,通过不断的积累经验,加上想象力和创造力才能最终创造出杰出的作品。上面不同的环代表了芯片设计的不同层面的知识,如果我们需要熟悉不同环上的知识,需要通过自身的实践,学习和研究,以及团队交流与合作。下面转载一位名叫KellenWang总结的一篇《一个合格数字IC设计工程师的知识结构》的文章I. 技能清单作为一个真正合格的数字IC设计工程师,你永远都需要去不断学习更加先进的知原创 2020-05-24 20:28:21 · 731 阅读 · 0 评论 -
回字有四种写法,阶乘verilog实现有几种方法?
verilog两种函数调用方式实现阶乘计算方式一:普通方式实现阶乘计算:verilog代码:module tryfact;function[31:0]factorial;input[3:0]operand;reg[3:0]index;beginfactorial = 1; // 0的阶乘为1, 1的阶乘也为1for(index=2; index<=operand;...原创 2020-03-16 23:34:50 · 1852 阅读 · 0 评论 -
verilog中function的自我介绍
verilog中function介绍及举例函数的定义函数 定义不允许输出端口声明(包括输出和双向端口) ,但可以有多个输入端口。函数定义的语法如下:function [range] function_id; input_declaration other_declarations procedural_statementendfunction[range]参数指...原创 2020-03-16 23:05:18 · 453 阅读 · 0 评论 -
tesk在Verilog中能有多随意?
Verilog中task用法及举例任务就是封装在task-endtask之间的一段语句。通过调用来实现其功能有输入端和返回数据的输出端任务可以彼此调用,任务还可以调用函数任务定义task task-id;[declaration]procedural-statementendtasktask-id是任务名;可选项declaration是端口声明语句和变量声明语句;proce...原创 2020-03-16 13:22:04 · 1002 阅读 · 0 评论 -
计算机内部的IO世界
计算机内部的IO世界目录:1.总线2.北桥芯片3.南桥芯片4.IO案例分析1、总线:IO是通过共享一条总线的方式来实现的,总线也就是一条或者多条物理上的导线,每个部件都接到这些导线上,导线上的电位每个时刻都是相等的(这个地方需要注意下,之前没有考虑这个问题),这样总线上的所有部件都会受到相同的信号。也就是说,这条总线是共享的,同一个时刻只能有一个部件在接收或者发送,是全单工的...转载 2019-07-17 21:40:24 · 499 阅读 · 0 评论 -
幂等性
幂等性目录:1.分布式的复杂性2.幂等3.幂等举例4.幂等场景5.幂等性适用领域现在稍具规模的网站和大型应用都不再是单机模式,而是分布式应用,基于多机的集群构建的应用,这样服务能力就可以基本实现横向扩容(scale out),不会像单机模式下的纵向扩容(scale up)会受到单机服务能力上限的限制。另外,随着“微服务”概念的火爆,很多应用在构建之初就已经走在了分布式的路线...原创 2019-07-17 21:26:01 · 293 阅读 · 0 评论