标签 VLSI 下的文章 - 我的学记|刘航宇的博客
首页
📊归档
⏳时光机
📬留言
🐾友链
资助名单
推荐
🎓843课程班
🎵音乐
🏞️壁纸
搜 索
1
【NPN/PNP三极管】放大电路饱和失真和截止失真的区别
12,710 阅读
2
论文写作中如何把word里面所有数字和字母替换为新罗马字体
7,155 阅读
3
【高数】形心计算公式讲解大全
6,638 阅读
4
【1】基于STM32CubeMX-STM32GPIO端口开发
5,149 阅读
5
如何判断运放是工作在线性区还是非线性区
4,995 阅读
🌻微语&随笔
励志美文
我的随笔
写作办公
📖电子&通信
嵌入式&系统
通信&信息处理
编程&脚本笔记
🗜️IC&系统
FPGA&ASIC
VLSI&IC验证
EDA&虚拟机
💻电子&计算机
IP&SOC设计
机器学习
软硬件算法
登录
搜 索
标签搜索
嵌入式
ASIC/FPGA
VLSI
SOC设计
机器学习
天线设计
C/C++
EDA&虚拟机
软件算法
小实验
信号处理
电子线路
通信&射频
随笔
笔试面试
硬件算法
Verilog
软件无线电
Python
DL/ML
刘航宇
嵌入式系统&数字IC爱好者博客
累计撰写
302
篇文章
累计收到
527
条评论
首页
栏目
🌻微语&随笔
励志美文
我的随笔
写作办公
📖电子&通信
嵌入式&系统
通信&信息处理
编程&脚本笔记
🗜️IC&系统
FPGA&ASIC
VLSI&IC验证
EDA&虚拟机
💻电子&计算机
IP&SOC设计
机器学习
软硬件算法
页面
📊归档
⏳时光机
📬留言
🐾友链
资助名单
推荐
🎓843课程班
🎵音乐
🏞️壁纸
用户登录
登录
VLSI(共17篇)
找到
17
篇与
VLSI
相关的结果
IC设计技巧-流水线设计
流水线概述如下图为工厂流水线,工厂流水线就是将一个工作(比如生产一个产品)分成多个细分工作,在生产流水线上由多个不同的人分步完成。这个待完成的产品在流水线上一级一级往下传递。比如完成一个产品,需要8道工序,每道工序需要10s,那么流水线启动后,不间断工作的话,第一个产品虽然要80s才完成,但是接下来每10s就能产出一个产品。使得速度大大提高。当然这也增加了人员等资源的付出。对于电路的流水线设计思想与上述思想异曲同工,也是以付出增加资源消耗为代价,去提高电路运算速度。流水线设计实例这里以一个简单的8位无符号数全加器的设计为实例来进行讲解,实现 assign = a[7:0] + b[7:0] +c_in c_out 为进位位。如果有数字电路常识的人都知道,利用一块组合逻辑电路去做8位的加法,其速度肯定比做2位的加法慢。因此这里可以采用4级流水线设计,每一级只做两位的加法操作,当流水线一启动后,除第一个加法运算之外,后面每经过一个2位加法器的延时,就会得到一个结果。整体结构如下,每一级通过in_valid,o_valid信号交互,分别代表每一级的输入输出有效信号。第一级:做最低两位与进位位的加法操作,并将运算结果和未做运算的高六位传给下一级。第二级:做2,3两位与上一级加法器的进位位的加法操作,并将本级运算结果和未做运算的高4位传给下一级。第三级:做4,5两位与进位位的加法操作,并将运算结果和未做运算的高2位传给下一级。第四级:做最高两位与上一级加法器输出的进位位的加法操作,并将结果组合输出。仿真结果如下如图,当整体模块in_valid有效时,送进去的数据a=1,b=5,c_in=1;故经过四个周期后,o_valid信号拉高,同时获得运算结果data_out=7。(本设计的流水线每级延时为一个时钟周期)后续输出信号7、9、10显然是间隔2个周期延迟,而不是延迟4周期、8周期逐个输出总结流水线就是通过将一个大的组合逻辑划分成分步运算的多个小组合逻辑来运算,从而达到提高速度的目的。在设计流水线的时候,我们一般要尽量使得每级运算所需要的时间差不多,从而做到流水匹配,提高效率。因为流水线的速度由运算最慢的那一级电路决定。
2023年02月08日
212 阅读
0 评论
1 点赞
2023-01-29
CSA&4-2压缩器电路设计及verilog代码
进位保留加法器和4-2压缩加法器是加法阵列中主要采用基本单元CSA-保留进位加法器保留进位加法器( carry-save-adder)即为一位全加器逻辑表达式:\begin& S_i=A_i \oplus B_i \oplus C_ \& C_i=A_i B_i+C_\left(A_i+B_i\right)\endCSA电路结构图如果把保留进位加法器的进位端输出到下一级这样第一级的延时为一个进位保留加法器的延时32计数器/32压缩器此进位保留加法器输入3个一位的数据A、B、Ci; 输出两个1位的数据D、Co。代数运算式如下: Co*2+D=A+B+Ci●非常明显,保留进位加法器为一计数器--计算输入信号中“1”的个数,计数值由Co、D指示,且:●Co权值为2; A、B、Ci、D权值为1。●其逻辑表达式如下:\begin& D=A @ B @ C i \& C o=A \& B \# A \& C i \# C i \& A\end5-3计数器/53压缩器●CSA将3个数据转换成2个数据为3-2计数器,如果能把5个数据转换成3个数据则称之为5-3计数器。●它有五个输入端: I0、I1、I2、I3、Ci; 三个输出端: D、C、Co。●代数运算式如下:$$ D+C * 2+C_0 * 2=10+11+12+13+C i $$即: I0、 l1、 12、13、Ci、D权值为1; C、Co权值为2。其真值表如下页:有数据表示优化后的结构可以减小门延时,传统结构为2个CSA延时,而优化后的延时大约为1.5个CSA延时4-2压缩器●如果连续的两个高低位5-3计数器之间Ci和Co级联的话,则称为4-2压缩加法器●如下图 42压缩加法器 ●对于更多位的部分积也有其他的一些结构树,结构的选取要考虑到电路结构的规整性对后端布局的影响。●左边延时比较小但结构不规整。右边正好相反有时候会选取一些折中的结构。Verilog代码//----------------------------------------------------------------------- //module : compressor42 //Description : The function of this module is to compress the partial product //----------------------------------------------------------------------- //author : li hangyu //Email : hyliu@ee.ac.cn //time : 01/28, 2023 //----------------------------------------------------------------------- `timescale 1ns/1ps module compressor42 ( in1,in2,in3,in4,cin,out1,out2,cout ); parameter length = 8; input [length*2-1 : 0] in1,in2,in3,in4; input cin; output [length*2 : 0] out1,out2; output cout; wire [length*2-1 : 0] w1,w2,w3; assign w1 = in1 ^ in2 ^ in3 ^ in4; assign w2 = (in1 & in2) | (in3 & in4); assign w3 = (in1 | in2) & (in3 | in4); assign out2 = ^ ; assign cout = w3[length*2-1]; assign out1 = ( & ) | (( ~) & ); endmodule
2023年01月29日
1,217 阅读
0 评论
9 点赞
VLSI设计-基于Cadence的16位超前进位加法器设计
一、设计内容完成一个 16 位的超前进位加法器模块设计。视频介绍二、设计目标本设计的主要目标是在电路速度尽可能高的条件下减小芯片的面积与功耗。首先考虑电路的逻辑优化,再考虑逻辑门、逻辑模块和电路的结构设计、最后在版图的布局与布线及面积优化方面进行考虑。三、实验原理1位全加器原理全加器的求和输出信号和进位信号,定义为输入变量A、B、C的两种组合布尔函数:求和输出信号 = A ⊕ B ⊕ C进位信号 = AB + AC + BC实现这两个函数的门级电路如下图。并不是单独实现这两个函数,而是用进位信号来产生求和输出信号。这样可以减少电路的复杂度,因此节省了芯片面积。上述全加器电路可以用作一般的n位二进制加法器的基本组合模块,它允许两个n位的二进制数作为输入,在输出端产生二进制和。最简单的n位加法器可由全加器串联构成,这里每级加法器实现两位加法运算,产生相应求和位,再将进位输出传到下一级。这样串联的加法器结构称为并行加法器,但其整体速度明显受限于进位链中进位信号的延迟。因此,为了能够减少从最低有效位到最高有效位的最坏情况进位传播延时,最终选择的电路是十六位超前加法器。2超前进位加法器原理超前进位加法器的结构如下图。超前进位加法器的每一位由一个改进型全加器产生一个进位信号gi和一个进位传播信号pi,其中全加器的输入为Ai和Bi,产生的等式为:$g_i=A_i B_i$$p_i=A_i+B_i$改进的全加器的进位输出可由一个进位信号和一个进位传输信号计算得出,因此进位信号可改写为:$C_=g_i+p_i C_i$式中可以看出,当gi = 1(Ai = Bi = 1)时,产生进位;当pi = 1(Ai =1或Bi = 1)时,传输进位输入,这两种情况都使得进位输出是1。近似可以得到i+2和i+3级的进位输出如下:下图为一个四位超前进位加法器的结构图。信号经过pi和gi产生一级时延,经过计算C产生一级时延,则A,B输入一旦产生,首先经过两级时延算出第1轮进位值C’不过这个值是不正确的。C’再次送入加法器,进行第2轮2级时延的计算,算出第2轮进位值C,这一次是正确的进位值。这里的4个4位超前进位加法器仍是串行的,所以一次计算经过4级加法器,一级加法器有2级时延,因此1次计算一共经过8级时延,相比串行加法器里的16级时延,速度提高很多。四、实验过程和结果1、1位改进型全加器(1)1位改进型全加器电路将原始的一位全加器进行改进,使其产生一个进位信号gi和一个进位传播信号pi,其中全加器的输入为Ai和Bi,得到如下电路图。(2)1位改进型全加器逻辑验证在cadence中将导出改进型1位全加器的cdl文件,并编写1bit.sp文件用Hspice进行仿真验证。仿真结果如下图所示,输入信号a、b、c都为脉冲信号,即下图中第一条和第二条曲线,输出信号s为第三条曲线,由图像可知逻辑功能正确,说明改进型一位全加器电路逻辑没有问题。2、4位超前进位加法器(1)4位超前进位加法器电路将1位改进型全加器连接成如下图的4位超前进位加法器,其中电路内部每一个进位信号不是进位传播得到,而使用进位信号和进位传播信号同时计算得到。(2)4位超前进位加法器逻辑验证 在cadence中将导出4位超前进位加法器的cdl文件,并编写4bit.sp文件用Hspice进行仿真验证。仿真结果如下图。在sp文件中对B0,B1,B2,B3都输入5V高电平,对A1,A2,A3输入0V低电平,其中A0,C0输入脉冲信号,这样最终的结果S0,S1,S2,S3会跟随A0脉冲信号的变化而发生变化。由下图可知输出信号S的各个位逻辑功能正确3、16位超前进位加法器(1)16位超前进位加法器电路将4位超前进位加法器连接成如下图的16位超前进位加法器,加法器之间为并行连接,前一个4位超前进位加法器的进位输送到下一级。(2)16位超前进位加法器电路逻辑验证在cadence中导出16位超前进位加法器的cdl文件,并编写16bit.sp文件用Hspice进行仿真验证。仿真结果如下图。在sp文件中对B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,B13,B14,B15都输入5V高电平,对A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15输入0V低电平,其中A0,C0输入脉冲信号,这样输出的结果S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15和进位信号C会跟随A0脉冲信号的变化而发生变化。由下图可知输出信号S的各个位逻辑功能正确。但是存在较大的延时,经过测量可知延时为8.294ns。4、16位超前进位加法器的优化(1)16位超前进位加法器优化原理由上述结果可知,由于位数增加,超前模块的复杂度也会增加,这将反过来降低加法运算的速度,同时也有较大的延时。为了解决这个问题,对于上述的宽位加法器,使用整组进位信号和,电路结构如下图,4组以上的整组进位信号和传播信号定义为:上式中每个4组的进位输出信号由进位信号表示如下:(2)16位超前进位加法器优化电路由上述改进方法,首先对4位超前进位加法器进行修改,使其输出P,G信号,同时对16位超前进位加法器的电路进行修改,使其每一位的进位信号都可以直接计算出来,而不是依赖于上一个加法器,修改结果如下。(3)16位超前进位加法器优化电路逻辑验证在cadence中导出修改后的16位超前进位加法器的cdl文件,并编写16bit.sp文件用Hspice进行仿真验证。仿真结果如下图。经过测量可知延时为6.623ns。五、版图
2023年01月28日
1,425 阅读
0 评论
1 点赞
集成电路中I/O PAD及其版图
标准单元设计技术的特点:标准单元是一个具有规则外部形状的单元,其内容是优化设计的逻辑单元版图,各单元的规模应相近,并遵循一致的引线规则。一个标准单元库内的所有单元遵循同一的工艺设计规则,一个单元库对应一条或一组完全相同的工艺线。也就是说,当工艺发生变化时,单元库必须修改或重建。不论是局部逻辑或是完整的集成电路或系统,用标准单元实现的版图采用“行式结构”,即各标准单元排列成行。输入、输出单元(I/O PAD)任何一种设计技术、版图结构都需要输入/输出单元。想想看, I/O单元有什么作用?连接芯片内部与芯片外部系统 (压焊块)要的功能:对外的驱动内提供内外的隔离和输入保护功能I /O单元的形式 I/O PAD不仅是压焊块,还有电路,需电源和地线连通。焊块用于连接芯片与封装管座,这些压焊块通常是边长几十微米的矩形。大部分I/O PAD都是以标准单元的结构形式出现。通常具有等高不等宽的外部形状。
2022年11月06日
1,963 阅读
0 评论
3 点赞
2022-05-14
ASIC/FPGA应该学习Verilog还是VHDL?
正文对于FPGA或者ASIC的初学者来说,选择哪种语言貌似应该根据自身的需求而定,例如实验室项目需要使用哪种语言,或者实验室师兄师姐使用了哪种语言,或者导师推荐你学习哪种原因,这都是硬性需求了,因为你需要完成项目的接手,所以必须根据要求而来!常识讨论但如果你没有这些顾虑呢?该如何做出选择?这时,您应该注意几点。VHDL是强类型的。这使初学者更难犯错误,因为编译器不允许您编写有效的代码。Verilog是弱类型的。它允许您编写错误的代码,但更为简洁。Verilog看起来更像C之类的软件语言。这使熟悉C的人更容易阅读和理解Verilog的工作。VHDL需要大量输入。Verilog通常只需要较少的代码即可完成相同的操作。VHDL是非常确定的,因为在某些情况下Verilog是不确定的。当然,这里并不是评论Verilog或者VHDL的优劣的,对于语言的选择是根据需求而定的!有人喜欢用Verilog,自然喜欢它的优点,也能包它的缺点,VHDL也是如此!例如1995年OVI主题演讲时,时任Cadence首席执行官的Joe Costello,认为:VHDL is one of the biggest mistakes the Electronics Design Automation industry has ever made. A $400 million mistake. Wouldn’t this money have been better spent on handling sub-micron design, testability issues, or even a new type of HDL that had significantly more capabilities than what Verilog and VHDL offer today?翻译过来就是:VHDL是电子设计自动化行业有史以来最大的错误之一。4亿美元的错误。这笔钱不会花在处理亚微米设计,可测试性问题,甚至是比Verilog和VHDL提供的功能明显更多的新型HDL上吗?这明显是对VHDL的负面评论!这也很好理解:在那些年里,Verilog和VHDL是主要的HDL竞争者,而Cadence主导了Verilog仿真市场。也有一些反对Verilog的声音,大概是认为:一方面,如果仅存Verilog,那么是形成垄断,垄断并不符合行业及其客户的普遍利益。有了垄断,就没有竞争。当竞争消失时,创新也会消失。另一方面,诟病Verilog的编程陷阱?例如非阻塞赋值等等!对于事情的好坏,声音总是很多,都是利益相关,这与我们的主题无关,到此为止!数据分析下面我们来从更多的数据方面看看Verilog还有VHDL的对比情况:谷歌网页搜索热度:全球红色代表Verilog,蓝色代表VHDL,可以明显看出Verilog从追赶到反超的这样一个事实(还有一点有趣的是,很多年龄较大的领导或者导师更熟悉VHDL,和他们所处的年代有关!),我们把时间线拉近感受一下: 从2018年初至今,Verilog的搜索热度还是高于VHDL,这是一个趋势!中国上面是全球的情况,那么对于中国来说呢? 可见,大概2008年以前还平分秋色,但是之后,Verilog热度越来越大于VHDL!结束语考虑到国内大势,Verilog更受欢迎!verilog强大的仿真功能,相比之下VHDL的仿真功能弱爆了。verilog这么多年的市场占有率远胜于VHDL,除了一些以前的设计需要支持以及很多学校还是以VHDL教学,基本用的很少了。
2022年05月14日
300 阅读
0 评论
2 点赞
1
2