2.知识点-集成电路架构概念
2.知识点-集成电路架构概念
本list2进一步侧重更加广泛一些的知识,概念
0. FPGA设计的方向
SOC,高速串行I/O,低功耗,可靠性,可测试性和设计验证流程的优化等方面。
1.ASIC设计流程
ASIC全称: Application Specific Integrated Circuit,是一种为专门目的而设计的集成电路。
现代ASIC常包含整个32-bit处理器,类似ROM、RAM、EEPROM、Flash的存储单元和其他模块. 这样的ASIC常被称为SoC(片上系统)。
0.收集需求,确定技术指标
1.芯片架构:考虑芯片定义、工艺、封装
2.RTL设计:使用Verilog、System Verilog、VHDL进行描述
3.功能仿真:理想情况下的仿真
4.验证:UVM验证方法学、FPGA原型验证
相比于用仿真器或加速器跑仿真,FPGA的运行速度更接近真实芯片,可以配合软件开发者来进行底层软件的开发。这一流片前的软硬件的协同开发,是其最不可替代的地方。
5.综合:逻辑综合,将描述的RTL代码映射到基本逻辑单元门、触发器上
6.DFT技术:插入扫描链
Design For Test
指的是在芯片原始设计中阶段即插入各种用于提高芯片可测试性(包括可控制性和可观测性)的硬件逻辑,通过这部分逻辑,生成测试向量,达到测试大规模芯片的目的。
Design--实现特定的辅助性设计,但要增加一定的硬件开销
For test--利用实现的辅助性设计,产生高效经济的结构测试向量在ATE上进行芯片测试。
验证(Verification)的目的是检查设计中的错误,确保设计符合其设计规范和所期望的功能;而测试(Testing)则是检查芯片的加工制造过程中所产生的缺陷和故障。
7.等价性检查:使用形式验证技术
8.STA:静态时序分析
9.布局规划:保证没有太多的内部交互,避免布线上的拥堵和困扰
10.时钟树综合:均匀地分配时钟,减少设计中不同部分间的时钟偏移
11.DRC:设计规则检查
12.LVS:布线图和原理图进行比较
13.生成GDSII
这整个流程称为RTL2GDSII,利用GDSII来生产芯片的过程称作流片(Tapeout),以上是一个Fabless公司的简易设计流程,最后将GDSII送至Foundry生产芯片。
2.FPGA设计流程
FPGA是ASIC的近亲,一般通过原理图、VHDL对数字系统建模,运用EDA软件仿真、综合,生成基于一些标准库的网络表,配置到芯片即可使用。它与ASIC的区别是用户不需要介入芯片的布局布线和工艺问题,而且可以随时改变其逻辑功能,使用灵活。
1.系统规划:系统功能,功能模块划分
2.RTL设计:使用Verilog、System Verilog、VHDL进行描述
3.功能仿真:理想情况下的仿真
4.综合、编译、布局布线:FPGA厂商自带工具完成
5.时序仿真:时序分析约束
6.板级验证
3.名词解释:数字电路基础
题目:bit, byte, word, dword, qword的区别
1byte = 8bit
1word = 2byte = 16bit
1dword = 2word = 4byte = 32bit
1qword = 2dword = 4word = 8byte = 64bit
题目:什么是原码,反码,补码,符号-数值码。以8bit为例,给出各自表示的数值范围
原码:符号位+真值,最高位表示符号位
反码:正数的反码是它本身,负数的反码将原码除符号位外逐位取反 表示范围:-(2^n-1),(2^n-1)
补码:正数的补码是它本身,负数的补码将原码除符号位外逐位取反再加1。 表示范围:-(2^n),(2^n-1)
[+3]原 = [0000_0011]原 = [0000_0011]反 = [0000_0011]补
[-3]原 = [1000_0011]原 = [1111_1100]反 = [1111_1101]补
补码-减法运算:
(1) +(-1)
= (00000001)+ (11111111)----补码计算
= ( 00000000 )
=(0)
补码:
- 使得符号位能与有效值部分一起参与运算,从而简化运算规则;
- C等不需要清楚底层,但FPGA必须要清楚
截位问题
matlab函数 | 意义 | FPGA实现 |
---|---|---|
ceil | 向正无穷方向量化 | 如果小数部分不为 0,丢掉小数部分,整数部分加 1,否则,直接丢掉小数部分 |
floor | 向负无穷方向量化 | 直接丢弃小数部分(丢弃之) |
fix | 向零方向量化 | 对于正数,直接丢弃小数位;对于负数,丢弃小数位然后加1 |
round | 向最近的正数量化,同时保证最近整数的绝对值最大 | 对于正数,丢弃小数位,然后加上最高的小数位;对于负数,首先丢弃小数位,然后若小数位部分>0.5整数部分+1,否则加0 |
题目:数制转换
R进制数转换为十进制数:按权展开,相加十进制数转化为R进制数:整数部分,除R取余法,除到商为0为止。小数部分,乘R取整法,乘到积为0为止。
十进制数转化为R进制数:整数部分,除R取余法,除到商为0为止。小数部分,乘R取整法,乘到积为1为止
题目:逻辑函数及其化简
公式法
卡诺图法
题目:什么是冒险和竞争,如何消除?
信号由于经由不同路径传输达到某一汇合点的时间有先有后的现象,就称之为竞争,
由于竞争现象所引起的电路输出发生瞬间错误的现象,就称之为冒险,
FPGA设计中最简单的避免方法是尽量使用时序逻辑同步输入输出。
- 加滤波电容,消除毛刺的影响
- 加选通信号,避开毛刺
- 增加冗余项,消除逻辑冒险
题目:CMOS反相器的功耗主要包括哪几部分?分别与哪些因素相关?
- 是电路翻转产生的动态功耗
- 是P管和N管同时导通时产生的短路功耗
- 是由扩散区和衬底之间反向偏置电流引起的静态功耗
静态功耗:CMOS反相器在静态时,P、N管只有一个导通。由于没有VDD到GND的直流通路,所以 CMOS的静态功耗应该等于零。但实际上,由于扩散区和衬底的PN结上存在反向漏电流,所以会产生静 态功耗。
短路功耗:CMOS电路在“0”和“1”的转换过程中,P、N管会同时导通,产生一个由Vdd到VSS窄脉冲电 流,由此引起功耗。
动态功耗:C_L 这个CMOS反相器的输出负载电容,由NMOS和PMOS晶体管的漏扩散电容、连线电容 和扇出门的输入电容组成。
题目:ASIC中低功耗的设计方法和思路(不适用于FPGA)
- 合理规划芯片的工作模式,通过功耗管理模块控制芯片各模块的Clock,Reset起到控制功耗的目 的。
- 门控时钟(Clockgateing):有效降低动态功耗
- 多电压供电:通过控制模块的电压来降低功耗
- 多阈值电压
4. 时序逻辑电路基础
题目:同步和异步
同步复位和异步复位的区别
同步复位是复位信号随时钟边沿触发有效。异步复位是复位信号有效和时钟无关。
同步逻辑和异步逻辑的区别
同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系
同步电路和异步电路区别
同步电路有统一的时钟源,经过PLL分频后的时钟驱动的模块,因为是一个统一的时钟源驱动,所以还 是同步电路。异步电路没有统一的时钟源。
题目:谈谈对Retiming技术的理解
Retiming就是重新调整时序,例如电路中遇到复杂的组合逻辑,延迟过大,电路时序不满足,这个时候采用流水线技术,在组合逻辑中插入寄存器加流水线,进行操作,面积换速度思想。
题目:什么是高阻态,不定态
高阻态:电路的一种输出状态,既不是高电平也不是低电平,如果高阻态再输入下一级电路的话,对下级电路无任何影响,可以理解为断路,不被任何东西所驱动,也不驱动任何东西。
5.计算机体系结构
- 哈佛结构
- 冯·诺依曼结构
6. DSP EMC FPGA
DSP
在数字信号处理的初期(本世纪 50~60 年代),人们只是在通用的数字计算机上进行算法的研究和处理系统的模拟与仿真, 1965 年库利-图基( Cooley Tukey)提出快速付氏变换 FFT 是数字信号处理发展史上的一个里程碑。
同时随着 FFT 及其它算法的提出,也促进了专用数字处理硬件的发展,并最终导致高速高位 DSP 的出现。
DSP 主要分浮点与定点运算两类
特点
DSP 总线结构都采用哈佛结构或改进的哈佛结构
冯.诺依曼结构:即程序指令和数据共用一个存储空间及单一的地址和数据总线
哈佛结构:是将指令和数据的存储空间分开。这样使得处理指令和处理数据可以同时进行,从而大大提高处理效率。
采用流水线技术
流水线技术将各指令和执行时间可以重叠起来。即第一条指令取指后,在进行译码的同时,可进行第二条指令的取指;第一条指令访问数据时,第二条指令译码……。这样尽管每条指令的执行时间仍然是几个指令周期,但由于用了流水线的作业方式,使得总体处理速度大大提高。
具有硬件乘法器和 MAC 单元
DSP中都设置了硬件乘法器和 MAC 乘加(乘法并累加)一类指令,取两个操作数到乘法器中作乘法,并将乘积加到累加器中,这些操作在 DSP 芯片中往往可以在单个在指令周期内完成,使得 DSP 作乘和累加这种数字信号处理基本运算的速度大为提高。
具有循环寻址( circular addressing)及位倒序( bit reverse)寻址功能
EMC
**电磁兼容性(EMC)**是通过限制无意间产生、传播和接收电磁能量的电气设备和系统在其电磁环境中正常工作的能力。这些电磁能量可能会导致不必要的影响,例如电磁干扰(EMI : Electromagnetic Interference)甚至物理损坏、 设备功能异常、功能安全、人身财产安全等。
最基本的干扰抑制技术是屏蔽、滤波、接地。它们主要用来切断干扰的传输途径。
广义的电磁兼容控制技术包括抑制干扰源的发射和提高干扰接收器的敏感度,但已延伸到其他学科领域。
问题的种类包括公共阻抗耦合、串扰、高频载流导线产生的辐射和通过由互连布线和印制线形成的回路拾取噪声等
在高速逻辑电路里,这类问题特别脆弱,原因很多:
1、电源与地线的阻抗随频率增加而增加,公共阻抗耦合的发生比较频繁;
2、信号频率较高,通过寄生电容耦合到步线较有效,串扰发生更容易;
3、信号回路尺寸与时钟频率及其谐波的波长相比拟,辐射更加显著。
4、引起信号线路反射的阻抗不匹配问题。
高频射频屏蔽的关键是反射,吸收是低频磁场屏蔽的关键机理。
工作频率低于 1MHz 时,噪声一般由电场或磁场引起,(磁场引起时干扰,一般在几百赫兹以内),1MHz 以上,考虑电磁干扰。单板上的屏蔽实体包括变压器、传感器、放大器、DC/DC 模块等。更大的涉及单板间、子架、机架的屏蔽。
FPGA
组成与结构
- CLB : Configurable Logic Block
- IOB : Input/Output Block
- PIC : Programmable Interconnect
- SRAM 阵列
- 内部晶体振荡器
结构特点
FPGA 内部为逻辑单元阵列(LCA:Logic Cell Array)结构
CLB 作为逻辑组件的基本单元,通过一定的内部连线连接在一起以综合阵列中的逻辑功能,形成 LCA 结构
FPGA 内部逻辑功能的配置是基于内部阵列分布的 SRAM 原理
FPGA 器件的编程实现,实际上是由加载于其内部阵列分部的 SRAM 上的配置数据决定和控制各个 CLB、IOB 的逻辑功能及 PIC 之间的互连关系。
工作模式
主动模式 LCA 自动地从外部 PROM 或 EPROM 加载配置的程序数据。
周边模式 周边模式提供一个简单的接口,通过该接口,FPGA 器件可作为一个周边设备,由微处理器直接加载配置,数据以串行方式输入 FPGA
从动模式 在加载过程中数据及与其同步的时钟均由外部电路提供
通常,从动模式用于对菊花链上的后接器件的配置,每个从器件的数据均由链上的上一个器件提供,时钟由首器件提供
工作原理
FPGA 设计的主要目的在于实现应用系统的逻辑设计,通过相应的 FPGA 开发系统将逻辑关系转换成一定格式的 FPGA 芯片配置数据,并基于一定的配置工作模式,将数据配置于芯片内部的 SRAM 点阵,从而使芯片成为具有一定逻辑功能的单片系统。
FPGA 的工作模式由模式配置引脚 M0、M1、M2 配置,系统上电后 LCA 自动开始进行初始化操作,通过复位 FPGA,系统首先清除 LCA 芯片内部的 SRAM 存储器,作好配置准备。
当 LCA被初始化并正确判断其配置模式后,配置数据开始被加载。在数据配置过程中,配置数据以固定的格式传输,数据流均由一串行引导数据引导,且配置数据按帧传输。
数据在 LCA 内部串行并转换成数据字, 然后被并行地写入内部配置存储器阵列。
在多个 LCA 器件菊花链接时,当第一个器件配置数据加载完毕,其 DOUT 输出将继续允许其它数据通过并加载于下一个器件。
数据加载完成后,FPGA 从数据配置向用户定义的逻辑功能与操作转移,系统启动并开始工作,此时,系统完成从一个时钟方式向另一个时钟方式的转变,同时完成从多数输出是三态的并行或串行配置数据的界面向由用户系统激活的 I/O 引脚的正常操作的转变。