基本结构
FPGA是基于查找表【LUT】结构的;有六个组成部分。
CPLD采用CMOS EPROM、EEPROM、快闪存储器和SRAM等编程技术,从而构成了高密度、高速度和低功耗的可编程逻辑器件。
- CPLD中的逻辑块类似于一个小规模PLD,通常一个逻辑块包含4~20个宏单元;
- 宏单元一般由乘积项阵列、乘积项分配和可编程寄存器构成。
PAL(Programmable Array Logic)可编程阵列逻辑,是70年代末由MMI公司率先推出的一种低密度,一次性可编程逻辑器件,第一个具有典型实际意义的可编程逻辑器件(PLD-Programmable Logic Device)。它采用双极型工艺制作,熔丝编程方式。PAL在EDA中是指 一种现场可编程的门阵列逻辑器件,内部电路是在PLA基础上进行改进的。
GAL是Lattice在PAL的基础上设计出来的器件,即通用阵列逻辑器件。GAL首次在PLD上采用了EEPROM工艺,使得其具有电可擦除重复编程的特点,彻底解决了熔丝型可编程器件的一次可编程问题。GAL的输出部分增加了输出逻辑宏单元OLMC。
GAL
Register Transfer Level,直译为寄存器传输级,顾名思义,也就是在这个级别下,要描述各级寄存器(时序逻辑中的寄存器),以及寄存器之间的信号的是如何转换的(时序逻辑中的组合逻辑)。
PLL(Phase Locked Loop): 为锁相回路或锁相环,用来统一整合时钟信号,使高频器件正常工作,如内存的存取资料等。PLL用于振荡器中的反馈技术。
锁相环
频率和相位
;数字信号处理(Digital Signal Processing,简称DSP)
数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。
- IP是知识产权(Intellectual Property)的英文简称。
- 芯片行业中的知识产权可称为硅知识产权(Silicon Intellectual Property),简称SIP。
- SIP的保护形式主要包括专利权保护(Patent Protection)和集成电路布图保护(IC Layout Protection)。
参考:零基础学FPGA(四):IP是什么东西(什么是软核,硬核)
IP的种类
IP核有行为(Behavior)级、结构(Structure)级和物理(Physical)级三个层次的分类,对应着三个种类型的IP核,它们是由硬件描述语言设计的软核(Soft IP Core)、完成结构描述的固核(Firm IP Core) 和基于物理描述并经过工艺验证的硬核(Hard IP Core)。
查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个(S)RAM。
参考:ROM
只读存储器(Read-Only Memory,ROM)以非破坏性读出方式工作,只能读出无法写入信息。信息一旦写入后就固定下来,即使切断电源,信息也不会丢失,所以又称为固定存储器。ROM所存数据通常是装入整机前写入的,整机工作过程中只能读出,不像随机存储器能快速方便地改写存储内容。ROM所存数据稳定 ,断电后所存数据也不会改变,并且结构较简单,使用方便,因而常用于存储各种固定程序和数据。
EEPROM (Electrically Erasable Programmable read only memory)是指带电可擦可编程只读存储器。是一种掉电后数据不丢失的存储芯片。 EEPROM 可以在电脑上或专用设备上擦除已有信息,重新编程。一般用在即插即用。
以电子信号来修改其内容的,而且是以Byte为最小修改单位,不必将资料全部洗掉才能写入,彻底摆脱了EPROM Eraser和编程器的束缚。
参考:随机存取存储器
随机存取存储器(英语:Random Access Memory,缩写:RAM),也叫主存,是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。RAM工作时可以随时从任何一个指定的地址写入(存入)或读出(取出)信息。它与ROM的最大区别是数据的易失性,即一旦断电所存储的数据将随之丢失。RAM在计算机和数字系统中用来暂时存储程序、数据和中间结果。
类别
静态随机存储器(SRAM)
静态存储单元是在静态触发器的基础上附加门控管而构成的。因此,它是靠触发器的自保功能存储数据的。SRAM存放的信息在不停电的情况下能长时间保留,状态稳定,不需外加刷新电路,从而简化了外部电路设计。但由于SRAM的基本存储电路中所含晶体管较多,故集成度较低,且功耗较大。
SRAM特点如下:
●存储原理:由触发器存储数据。
●单元结构:六管NMOS或OS构成。
●优点:速度快、使用简单、不需刷新、静态功耗极低;常用作Cache。
●缺点:元件数多、集成度低、运行功耗大。
●常用的SRAM集成芯片:6116(2K×8位),6264(8K×8位),62256(32K×8位),2114(1K×4位)。
动态随机存储器(DRAM)
DRAM利用电容存储电荷的原理保存信息,电路简单,集成度高。由于任何电容都存在漏电,因此,当电容存储有电荷时,过一段时间由于电容放电会导致电荷流失,使保存信息丢失。解决的办法是每隔一定时间(一般为2ms)须对DRAM进行读出和再写入,使原处于逻辑电平“l”的电容上所泄放的电荷又得到补充,原处于电平“0”的电容仍保持“0”,这个过程叫DRAM的刷新。
DRAM的刷新操作不同于存储器读/写操作,主要表现在以下几点:
(1)刷新地址由刷新地址计数器产生,不是由地址总线提供。
(2)DRAM基本存储电路可按行同时刷新,所以刷新只需要行地址,不需要列地址。
(3)刷新操作时存储器芯片的数据线呈高阻状态,即片内数据线与外部数据线完全隔离。
DRAM与SRAM相比具有集成度高、功耗低、价格便宜等优点,所以在大容量存储器中普遍采用。DRAM的缺点是需要刷新逻辑电路,且刷新操作时不能进行正常读,写操作。
DRAM特点如下:
●存储原理:利用MOS管栅极电容可以存储电荷的原理,需刷新(早期:三管基本单元;之后:单管基本单元)。
●刷新(再生):为及时补充漏掉的电荷以避免存储的信息丢失,必须定时给栅极电容补充电荷的操作。
●刷新时间:定期进行刷新操作的时间。该时间必须小于栅极电容自然保持信息的时间(小于2ms)。
●优点: 集成度远高于SRAM、功耗低,价格也低。
●缺点:因需刷新而使外围电路复杂;刷新也使存取速度较SRAM慢,所以在计算机中,DRAM常用于作主存储器。
参考:SDRAM
同步动态随机存取内存(synchronous dynamic random-access memory,简称SDRAM)是有一个同步接口的动态随机存取内存(DRAM)。通常DRAM是有一个异步接口的,这样它可以随时响应控制输入的变化。而SDRAM有一个同步接口,在响应控制输入前会等待一个时钟信号,这样就能和计算机的系统总线同步。
参考:Flash
FLASH在电子以及半导体领域内往往表示Flash Memory的意思,即平时所说的“闪存”,全名叫Flash EEPROM Memory。
flash存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还可以快速读取数据(NVRAM的优势),使数据不会因为断电而丢失。
参考:位与&, 位或| ,位异或 ^ 总结
按位与运算符“&”是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位都为1时,结果位才为1。参与运算的两个数均以补码出现。
规则:
1&1=1
1&0=0
0&1=0
0&0=0
1 1 0 1
& 1 0 0 1
1 0 0 1 //结果
补充:&& —逻辑与;返回结果为0或1.【同时为真才为真】
按位或运算 按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位(也就是最后一位)相或。只要对应的二个二进位有一个为1时,结果位就为1。
128: (0001 0000 0000)
127: (0000 1111 1111) (高位用0补齐)
按位或就是(0001 1111 1111)=255
补充:||—逻辑或;两个条件中有任一个条件满足,“逻辑或”的运算结果就为“真”。
参加运算的两个数据,按二进制位进行“异或”运算。
运算规则:0^0=0; 0^1=1; 1^0=1; 1^1=0;
即:参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。
异或的几条性质:
将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。
例:a = a<< 2将a的二进制位左移2位,右补0,
左移1位后a = a *2;
若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2。
将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。
操作数每右移一位,相当于该数除以2。
例如:a = a>> 2 将a的二进制位右移2位,
左补0 or 补1得看被移数是正还是负。
建立时间与保持时间
静态时序分析中最基本的就是setup和hold时序分析,其检查的是触发器时钟端CK与数据输入端D之间的时序关系。
建立时间:(setup time)指在时钟有效沿之前,数据输入端信号必须保持稳定的最短时间
保持时间:(hold time)指在时钟有效沿之后,数据输入端信号必须保持稳定的最短时间;hold time时序检查确保新数据不会在触发器稳定输出初始数据之前过早到达D端而覆盖其初始数据。
时钟抖动和时钟偏移
时钟抖动:(Clock Jitter)指两个时钟周期之间存在的差值,这个误差是在时钟发生器内部产生的,和晶振或者PLL内部电路有关,布线对其没有影响。
时钟偏斜(skew)是指同样的时钟产生的多个子时钟信号之间的延时差异。它表现的形式是多种多样的,既包含了时钟驱动器的多个输出之间的偏移,也包含了由于PCB走线误差造成的接收端和驱动端时钟信号之间的偏移。
时钟偏斜指的是同一个时钟信号到达两个不同寄存器之间的时间差值,时钟偏斜永远存在,到一定程度就会严重影响电路的时序。利用全局时钟网络可尽量将其消除。
同步电路和异步电路的区别
同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。
异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,只有这些触发器的状态变化与时钟脉冲同步,而其他的触发器的状态变化不与时钟脉冲同步。
竞争和冒险
建立时间和保持时间关系详解