datasheet

基于SRAM编程技术的PLD核心可重构电路结构设计

2008-03-21来源: www.eaw.com.cn关键字:SRAM  可编程  电路结构  编程技术  PLD  组合逻辑  与门电路  动态可重构  

  作者:曹伟,高志强,来逢昌,毛志刚来源:时间:2007-4-26 16:17:12阅读次数:186阅读等级:需要积分:0

  

  摘要:CPLD相对于FPGA更适合实现时序逻辑较少而组合逻辑相对复杂的功能,比如复杂的状态机和译码电路等。CPLD的EEPROM编程技术不适合动态可重构的应用。本文针对CPLD的核心可编程结构:P-Term和可编程互连线,采用2.5V、0.25μmCMOS工艺设计了功能相近的基于SRAM编程技术的可重构电路结构。新的电路结构可以通过可编程方式有效控制功耗和速度的折衷,并且相对于传统的CPLD互联结构减少了50%的编程数据。在动态可重构系统中,采用上述新结构的PLD相对于FPGA可以更有效地实现可重构的复杂状态机和译码电路等应用。

  关键词:CPLD;FPGA;P-Term;可编程互连线;可重构技术

  八十年代中期,高密度可编程逻辑器件(Programmable Logic Device,简称PLD)的出现开辟了一种数字逻辑电路实现的新方式。高密度的PLD可以分成两大类:复杂可编程逻辑器件(Complex Programmable Logic Device,简称CPLD)和现场可编程门阵列(Field Programmable GateArray,简称FPGA),主要基于三种编程技术:有限编程次数(一般数百次到上万次)的EEPROM(电可擦除只读存储器)、无限编程次数的SRAM(静态随机存储器)和仅可编程一次的Antifuse(反熔丝)。当前,主流的CPLD都是采用基于EEPROM的乘积项(Product Term,简称P-Term)结构,而主流的FPGA则采用基于SRAM的查找表(Look-up Table,简称LUT)结构和基于Antifuse的多路开关单元结构。其中,基于SRAM的FPGA由于可以在系统中重构甚至动态重构,所以应用灵活性最大。

  近十年来兴起的可重构技术起源于FPGA可编程结构的思想。该技术在应用中可以获得很好的速度和灵活性之间的折衷,填补了传统的软、硬件应用实现方案之间的空白。可重构技术是指利用具有硬件可重构结构的电路构建系统来满足较宽范围应用的实现技术。采用FPGA作为重构系统的核心既可以大大缩短系统开发时间,又可以获得很高的灵活性以节约资源。FPGA中含有大量的触发器(多达上千个)和结构灵活的LUT,适合实现细颗粒度的且基于流水线的通用计算。对于可重构多总线控制和网络中数据包相关的不同协议处理等应用,需要时时变换的译码和控制。重构系统在完成上述应用时,需要可以动态重构的复杂状态机和译码电路。由于这些电路中组合逻辑复杂且输入数目大而触发器很少,因此,用FPGA实现会造成单元中触发器大量浪费,而且利用多个LUT的级连实现大输入的组合逻辑,会使性能大大降低,难以满足速度上的要求。

  CPLD的结构非常适于实现上述逻辑功能。但是,CPLD的EEPROM编程速度低且编程次数有限又不适合要求快速频繁重构的动态重构系统的应用。

  显然,设计基于SRAM编程技术的CPLD可以很好解决上述应用问题。CPLD的设计和实现的关键问题是核心可编程电路结构的实现。因此,本文主要探讨针对CPLD的核心可编程结构,如何设计具有相似功能且基于SRAM编程技术的电路结构,从而更好满足动态重构系统中实现复杂状态机和译码电路的应用。

  CPLD的核心可编程结构介绍

  CPLD由若干宏单元和可编程互连线构成。每个宏单元包括5个乘积项、1个异或门、1个5输入或门和1个触发器。乘积项是宏单元的核心可编程结构,可以灵活实现大输入数目宽与门功能。如图1a所示,P-Term是一个由EEPROM晶体管构成的阵列。该阵列中每个EEPROM晶体管相当于一个可编程开关,编程之后,处于“开”状态的EEP2ROM晶体管同普通晶体管一样,受栅极输入控制充当宽与门的下拉开关,而处于“关”状态的EEP2ROM晶体管是断路,栅极的输入对宽与门无贡献。这样,P-Term所实现的逻辑功能可由式(1)给出:

  

  

  

  (a) 基于EEPROM的可编程宽与门结构

  

  

  

  (b) MAX7000中的PIA可编程结构

  

  图1 电路结构图

  

  式(1)中,C1~Cn对应图1(a)中的n个EEPROM晶体管编程后所处的状态。当第i(i=1~n)个位置的EEPROM晶体管开时,Ci为0,反之,Ci为1。当前,主流的CPLD全部采用这种结构,比如Altera公司的MAX7000系列和MAX9000系列、Xilinx公司的XC9500系列以及Lattice公司的ispLSI系列等。

  可编程互连线是CPLD中另一个核心可编程结构。该结构是包含大量可编程开关的互连网络,提供芯片的I/O引脚和宏单元的输入输出之间的灵活互连。具有固定的延时是CPLD中可编程互连线的最显著特点。不同于FPGA的分段式可编程互连方式,CPLD结构采用全局式的可编程互连网络来集中分配互连线资源,这样可以使连线路径的起点到终点延时固定。而FPGA中连线路径的起点到终点之间经过的分段连线数目不固定,因此延时也是不固定的。相比之下,CPLD在实现较复杂的组合逻辑时可以消除信号之间的歪斜,更容易消除竞争冒险现象。目前,主流的CPLD全部采用连续式互连线结构,比如MAX7000中的PIA结构和XC9500中的FastCONNECT结构。图1(b)给出了MAX7000中PIA的逻辑结构。该结构中,每个编程节点的EEPROM晶体管控制2输入与门的1个输入端来决定另一输入端信号的取舍。

  综上所述,CPLD的核心可编程结构是P-Term和具有固定延时的可编程互连线结构。

  基于SRAM编程技术的PLD电路结构设计

  针对CPLD的核心可编程结构——P-Term和具有固定延时的可编程互连线,设计了基于SRAM编程技术的新电路结构,下面做详细介绍。

  SRAM编程单元的电路结构设计

  基于SRAM的编程技术是将PLD的每一位配置数据相应存储在SRAM单元中。如图2a所示,

  

  

  

  

  (a) SRAM编程单元结构

  

  

  

  (b) SRAM单元的Hspice仿真结果

  

  图2 电路结构与仿真结果图

  本设计采用5管单元的SRAM结构。该结构由2个CMOS反向器组成环路形成双稳态。不同于普通的SRAM,PLD的SRAM编程单元不需要读出功能,仅需写入的字线和位线。图2(a)中的输出信号Q和Qn直接控制晶体管开或关来完成可编程的功能。这种结构设计的关键之处在于选择适当的晶体管尺寸以保证当字线选通位线时,data信号的正常逻辑值可以改变单元的状态。因此,本设计确定字线控制的晶体管和反向器A具有较强的驱动能力,而反向器B的驱动能力较弱,适当调节晶体管的宽长比,以保证编程数据的快速写入。图2(b)给出了本设计中SRAM单元的Hspice仿真结果(基于2.5V、0.25μmCMOS工艺库的模型参数,后面的仿真结果都是基于这个工艺库),图中a和b两条曲线分别代表信号Q和Qn。图2(b)中的(1)和(2)图分别表示Q和Qn在写入高电平(单元中存储的是低电平)和低电平(单元中存储的是高电平)时的变化情况。从图中可以看出,写入的最大延时约为650ps,发生在写入高电平时。这样,该结构完全可以满足高速重构的配置速度要求。

  基于SRAM编程技术的P-Term电路结构设计

  基于SRAM的P-Term结构的设计核心是可编程宽与门的结构设计,即设计能够实现式(1)功能的结构。理论上,实现式(1)功能的结构有很多,比如采用静态CMOS逻辑门或传输门构成的逻辑,但是P-Term的输入数目巨大,可达88个输入,这样,采用上述结构在电路面积和性能上根本无法接受。而采用类NMOS电路结构在面积和性能上可以获得很好的效果,但是这种电路在输出低电平时存在电源到地的直流通路,存在静态功耗,而且输出低电平不是0,而决定于上拉和下拉倒通电阻的分压比。可见,这种电路的设计重点在于上拉结构的设计。本文设计的基于SRAM的可编程宽与门电路结构就是以类NMOS结构为基础的,采用可编程上拉结构控制功耗和性能的折衷。

  本文设计的电路结构如图3(a)所示,输入个数n=88。采用NMOS晶体管构成下拉网络,对应每一个输入的下拉结构是输入控制的NMOS管串联SRAM控制的NMOS管。SRAM中的编程数据控制对应晶体管的开关来决定相应的与门输入的取舍。输出采用2个反向器构成缓冲,解决类NMOS电路输出低电平不是0的问题。可编程的上拉结构由a、b、c三个PMOS管并联构成,其中PMOS管c常通,a和b受SRAM编程控制开或关。这样,该结构在SRAMa和SRAMb的编程控制下,具有三种不同的速度和功耗模式:高速高功耗(PMOS管a和b都通)、中速而功耗中等(a通而b不通)和低速低功耗(a、b都不通)。由于三个PMOS管的导通电阻要比下拉NMOS管的大很多,本结构的关键路径是图中虚线表示的高电平充电路径。

  在上述三种工作模式下,关键路径的Hspice仿真结果如图3(b)所示,其中(1)、(2)和(3)图分别表示三种模式下,输入信号由高电平到低电平的变化导致输出Pout由低电平到高电平的变化情况,曲线a为输入信号,b为输出信号Pout。在高速模式下,关键路径延时约为1 .2ns,但电源到地的静态电流也达到了56μA;在中速模式下,关键路径延时约为2.2ns,静态电流为29μA;在低功耗模式下,关键路径延时约为4ns,静态电流仅为14μA。

  

  

  

  (a) 基于SRAM的可编程宽与门电路结构

  

  

  

  (b) 宽与门关键路径的Hspice仿真结果

  图3 电路结构与仿真结果图

  基于SRAM编程技术的可编程互连线电路结构设计

  CPLD中可编程互连线的作用是集中分配输入信号以固定延时输出到宏单元的输入端(P- Term的输入端)。本文所设计的可编程互连线是由结构完全相同的可编程连线单元组成的二维阵列。可编程连线单元之间不存在互连关系,每个单元的输入信号直接来自于输入总线,输出信号直接到宏单元,这样可以保证延时固定。因此,这种结构的设计实质上是可编程连线单元的结构设计。

  本文设计的基于SRAM的可编程连线单元结构如图4(a)所示。该结构的作用是在8条输入线中选择1条或者都不选而仅选择低电平输出,然后将选择的输出变成正反两个信号输出到宏单元中P-Term的输入端。核心结构是SRAM控制的多路选择器,其中的SRAM编程控制位SRAM1~SRAM3

  

  

  

  (a) 基于SRAM的可编程互连单元电路结构

  

  

  

  (b) 可编程互连单元关键路径的Hspice仿真结果

  

  图4 电路结构与仿真结果图

  控制多路选择器实现8选1的连线状态,而SRAM4控制开关管实现输出低电平。本设计仅用单NMOS管构成多路选择器,相对于采用传输门的情况,每个开关减少了1个晶体管。但是,NMOS传送高电平存在阈值损耗,因此,在选择适当晶体管尺寸的同时,在第3、4级开关处分别加了反向器A和B,保证输出高电平的幅值和足够的驱动能力。可编程互连线延时对PLD的速度起决定性作用。图4 (a)中的虚线是本结构的关键路径,图4(b)给出了关键路径的Hspice仿真结果,(1)和(2)图分别为输入信号上升和下降引起输出的变化情况,a、b和c三条曲线分别表示输入总线信号、输出的正反信号OUT和OUTn。仿真结果表明,本结构的最大延时仅为300ps。

  特别指出,本结构仅用了4bitSRAM编程就实现了MAX7000的PIA单元中1组开关的功能,而图1(b)中的结构需要8bitEEPROM。这样,本结构同基于EEPROM的结构相比,减少了4bit编程数据,从而使基于本结构的可编程互连线的编程数据减少了50%。编程数据的减少,可以缩短器件配置的时间,提高在重构系统应用中动态重构的效率。

  结论

  本文针对传统CPLD的核心可编程结构——P-Term和可编程互连线,采用2.5V、0.25μmCMOS工艺设计了新的、基于SRAM的可重构电路结构。本设计中的P-Term结构具有可编程的3种工作模式,可以根据需要获得较好的速度和功耗折衷。基于SRAM的、延时固定的可编程互连线仅有300ps的延时时间,可以获得很高的速度,而且同基于EEPROM的互连线相比编程数据减少了50%,可获得更短的配置时间,更适合动态重构应用。采用上述新结构构成的PLD比FPGA更适合在可重构系统中实现复杂状态机和译码电路。

 

关键字:SRAM  可编程  电路结构  编程技术  PLD  组合逻辑  与门电路  动态可重构  

编辑:ssb 引用地址:http://www.eeworld.com.cn/afdz/2008/0321/article_570.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:32位DSP设计中的流水线数据相关问题及解决办法
下一篇:基于嵌入式系统arm2210开发板的移动机器人人机界面设计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM32之FSMC-SRAM/NOR原理

FSMC,即灵活的静态存储控制器,能够与同步或异步存储器和 16 位 PC 存储器卡连接,STM32F4 的 FSMC 接口支持包括 SRAM、 NAND FLASH、 NOR FLASH 和 PSRAM 等存储器。所有的外部存储器共享地址、数据和控制信号,但有各自的片选信号。FSMC一次只能访问一个外部器件。STM32的FSMC主要功能:(详情看手册)● 支持对同步器件(NOR Flash 和 PSRAM)的突发模式访问● 8 或 16 位宽的数据总线● 每个存储区域有独立的片选控制● 每个存储区域可独立配置● 可对时序进行编程,以支持各种器件FSMC 包含四个主要模块:● AHB 接口(包括 FSMC 配置寄存器)● NOR
发表于 2019-03-07
STM32之FSMC-SRAM/NOR原理

STM32之FSMC-SRAM例程

SRAM使用的是55ns的IS62WV51216,需要先分析IS62WV51216对读写的时序要求。读时序 分析时序图,可以提取如下信息(不分析高低字节位和使能位,因为FSMC访问模式是一直保持的):整个读周期大于55ns、地址建立时间55ns且读使能25ns才能确保输出数据写时序分析时序图,可以提取如下信息(不分析高低字节位和使能位,因为FSMC访问模式是一直保持的):整个写周期大于55ns、写使能时间大于45ns(tHZWE+tSD)才能保证数据写入 FSMC时序配置根据手册模式1和模式A一般用于SRAM操作。注意:根据手册,模式1具有相同的读写时序,而模式A则是独立的读写时序。下面分别结合两种模式进行
发表于 2019-03-07
STM32之FSMC-SRAM例程

【stm32f407】基于SRAM的内存管理

NULL给p,表示分配失败。释放原理当p申请的内存用完,需要释放的时候,调用free函数实现。free函数先判断p指向的内存地址所对应的内存块,然后找到对应的内存管理表项目,得到p所占用的内存块数目m(内存管理表项目的值就是所分配内存块的数目),将这m个内存管理表项目的值都清零,标记释放,完成一次内存释放。主要是针对SRAM进行内存分配实验,如图:针对途中红框内的两个SRAM进行分配二.分配源码Malloc.h#ifndef_MALLOC_H_H_H#define_MALLOC_H_H_H#include"stm32f4xx.h" #ifndefNULL#defineNULL 0#endif 
发表于 2019-01-31
【stm32f407】基于SRAM的内存管理

stm32 FSMC-外扩SRAM IS62WV51216

引脚定义 FSMC配置步骤1.使能对应引脚GPIO时钟 2.配置GPIO引脚模式 3.使能FSMC时钟 4.FSMC初始化 5.存储器块使能举例 #define Bank1_SRAM3_ADDR    ((u32)(0x68000000))  //首地址0x60000000,每块0x40000000void SRAM_gpio_init(){    GPIO_InitTypeDef gpiof =     {        GPIO_Pin_0
发表于 2019-01-04
stm32 FSMC-外扩SRAM IS62WV51216

关于STM32F407开发板的几种内存总结,SRAM,FLASH,EEPROM

常见存储器概念:RAM、SRAM、SDRAM、ROM、EPROM、EEPROM、Flash存储器可以分为很多种类,其中根据掉电数据是否丢失可以分为RAM(随机存取存储器)和ROM(只读存储器),其中RAM的访问速度比较快,但掉电后数据会丢失,而ROM掉电后数据不会丢失。可以知道SRAM属于RAM,掉电后数据丢失;FLASH和EEPROM属于ROM,掉电后数据不丢失。FLASH和EEPROM的区别在于:Flash存储器,适用于速度要求高,容量要求大,掉电时要求数据不丢失的场合;EEPROM适用于速度不高,容量不大,掉电时要求数据不丢失的场合。了解这些之后,翻看开发板的开发手册统计一下用到了哪些内存。1.芯片自带内存:SRAM
发表于 2018-12-25

STM32 SRAM启动的 KeiL 配置

BOOT 引脚改成从SRAM 启动,即 BOOT0=1,BOOT1=1如果使用ST提供的库函数3.5 打开(system_stm32f10x.c) #define VECT_TAB_SRAM2.x 可以通过调用以下两个函数切换中断向量表的指向。NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x00);NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);KEIL 的配置 (SYM32F103C8T6 (64kFlash/20kSram);
发表于 2018-10-17
STM32 SRAM启动的 KeiL 配置

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved