习题:简谙信号发生滁 6.19款控振蒿NcO ◆DAC输出:阶梯波 ◆范例1 ●可逆计数器 ●双DAC输出三角波 6.19款控振蒿NcO 6.19数控振蒿NcO 地址僧号 波形信号 地址信号 波形僧号 计数器 ROM 计数器 IROM DAG CLK lDAC CLK ROM ◆推荐方法 ◆改变输出信号频率 ●ROM中存储了正弦/余弦波形采样值 改变时钟频率一正比 ●计数器输出递增的地址信号 ●时钟不变,改变步进值一正比改变信号频率 ●ROM按顺序取出波形数据 ◆改变信号幅度 6.19款捡振蒿暴NcO 地址信号 波形信号 第六章PLD简介 ROM ● Introduction CLK ROM ● Simple PlD ●CPLD&FPGA ◆输出信号质量 ●波形存储比特数 ●地址线比特数 ◆波形存储:对称性 ◆该东西也能产生任意波形
1 1 习题:简谐信号发生器 范例1 z可逆计数器 z双DAC输出三角波 计数器 CLK DAC DAC LPF LPF 2 6.19 DAC输出:阶梯波 数控振荡器NCO 3 6.19 推荐方法 zROM中存储了正弦/余弦波形采样值 z计数器输出递增的地址信号 zROM按顺序取出波形数据 计数器 ROM CLK 地址信号 波形信号 DAC ROM DAC 数控振荡器NCO 4 6.19 改变输出信号频率 z改变时钟频率—正比 z时钟不变,改变步进值—正比改变信号频率 改变信号幅度 ROM CLK 地址信号 波形信号 DAC ROM DAC 数控振荡器NCO VRef 累加器 D[…] 计数器 N f = fc ⋅ D 2 5 6.19 输出信号质量 z 波形存储比特数 z 地址线比特数 波形存储: 对称性 该东西也能产生任意波形 累加器 ROM CLK 地址信号 波形信号 DAC ROM DAC D[…] 数控振荡器NCO VRef 6 第六章 PLD简介 z Simple PLD z Introduction z CPLD & FPGA
61引言 救宇字逻辑电路分粪 ◆SSI、MSI ●通用型,原则上可实现任意复杂的数字系统 ◆ASlC ●全定制或半定制 ●性能佳,体 小,量产成本低 ●专用,NRE费用高,设计周期长 ●批量大,成本低 ROM PAL ●可编程,容易在线升级 ●适合样品开发和小批量生产 PL PLD ◆技术特征 ◆设计手段 ●分类ROM、 PAL/GAL、CPLD、FPGA 传统设计:采用固定功能器件,设计电路系统 ●线宽0.5um→÷.35um÷.25um→.18um÷.13um ●PLD设计:电路板级设计变成芯片级设计 90mm+65nm+4532nm(深亚微米) 定义输入输出引脚、内部夏辑功能 ●门数千门→万门→十万门→百万门→千万门 工作量和设计难度↓灵活性个 ●内压5V→3.32.5+1.8÷1.5÷1.2÷1.10.9V 体积、功耗大大降低 ●金属线4层÷5层→6层( Copper Line)→9层 ●计算机辅助设计工具(EDA >自动编译、综合、优化、适配、仿真 VHDL描述,设计复用 PLD 6.2 Simple PLD ◆工艺与分类 ◆PAL ●OTP(一次性编程) ◆GAL >Fuse or Anti-Fuse ● Re-Programmable(可重复编程) >EPROM Non-valatile不挥发性 >EPROM, Flash In-System Programmablity SRA In-Circiut Reconfigurablity 最将编程信息存在外部 EPROM或Fash中,上电 后编程倌惠自动加戴到芯片内部SRAM,才能工作
2 7 6.1 引言 SSI、MSI z通用型,原则上可实现任意复杂的数字系统 ASIC z全定制或半定制 z性能佳,体积和功耗小,量产成本低 z专用,NRE费用高,设计周期长 PLD z批量大,成本低 z可编程,容易在线升级 z适合样品开发和小批量生产 Non-Recurring Engineering 8 数字逻辑电路分类 MSI/SSI Digital Logic PAL/ GAL PLD ASIC ROM CPLD FPGA 9 PLD 技术特征 z分类 ROM、PAL/GAL、CPLD、FPGA z线宽 0.5umÆ.35umÆ.25umÆ.18umÆ.13um Æ90nmÆ65nmÆ45/32nm(深亚微米) z门数 千门Æ 万门Æ 十万门Æ 百万门Æ 千万门 z内压 5VÆ3.3VÆ2.5Æ1.8Æ1.5Æ1.2Æ1.1/0.9V z金属线 4层Æ 5层Æ 6层(Copper Line)Æ 9层 (Copper Line) 10 PLD 设计手段 z传统设计:采用固定功能器件,设计电路系统 zPLD设计:电路板级设计变成芯片级设计 ¾定义输入输出引脚、内部逻辑功能 ¾工作量和设计难度↓,灵活性↑ ¾体积、功耗大大降低 z计算机辅助设计工具(EDA) ¾Top-down & Down-top ¾自动编译、综合、优化、适配、仿真…… ¾VHDL描述,设计复用 11 PLD 工艺与分类 zOTP(一次性编程) ¾Fuse or Anti-Fuse ¾Reverse-Diode zRe-Programmable(可重复编程) ¾EPROM : Non-Valatile不挥发性 ¾E2PROM、Flash : In-System Programmablity ¾SRAM : In-Circiut Reconfigurablity 一般将编程信息存在外部EPROM或Flash中,上电 后编程信息自动加载到芯片内部SRAM,才能工作 12 6.2 Simple PLD PAL GAL
PAL PAL16H8 O Programmable Array Logic ◆PAL10H8 PALs÷ fixed oR array◆PRoM 10为输入端总数,8为输出单元数 ◆ Example:PAL10H8· PROMs fixed AND arra ●8个输出:各含1个或门,每个或门接收8个积项 ●通过与矩阵编程可实现“与一或形式组合逻辑函数 PAL16 PAL PAL16L8 O Another Example: PAL16L8 O Note inversion on outputs ●16 inputs ● Complement of SOP 10 Dedicated Inputs ◆10 inputs 2 Dedicated Outputs ◆8 outputs,with7ANDs per output, 1 AND for 3- state Enable PAL16L8 Sequential PALs ◆PAL16L8 ◆PAL16R8 10个输入,另6个O端 8个输出,含6个Q端和2个专用输出端(O1和O ●三态门由与矩阵1个积项控制,或门接收7个积项 ●低申平有效:与编程实现“与一或非”组合逻辑 ●输出可编程:EN=1时可实现引脚反馈( Feed Pin)
3 13 PAL Programmable Array Logic z PALs Æ fixed OR array Example: PAL10H8 0 1 2 3 4 5 6 7 0 1 2 3 … … … … 18 19 I 1 O1 PROM z PROMs Æ fixed AND array 14 PAL10H8 z10为输入端总数,8为输出单元数 z8个输出:各含1个或门,每个或门接收8个积项 z高电平有效 z通过与矩阵编程可实现“与—或”形式组合逻辑函数 PAL16H8 0 1 2 3 4 5 6 7 0 1 2 3 … … … … 18 19 I 1 O1 15 PAL Another Example: PAL16L8 z 16 inputs z 8 outputs 6 I/Os 10 Dedicated Inputs 2 Dedicated Outputs 16 Note inversion on outputs z Complement of SOP 10 inputs 8 outputs, with 7 ANDs per output, 1 AND for 3- state Enable 6 I/Os PAL16L8 17 PAL16L8 PAL16L8 z10个输入,另 6个I/O端 z 8 个输出,含 6个I/O端和2个专用输出端(O1和O8) z三态门由与矩阵1个积项控制,或门接收7个积项 z低电平有效:与编程实现“与—或非” 组合逻辑 z输出可编程:EN=1时可实现引脚反馈(Feed Pin) 18 Sequential PALs PAL16R8
One output of 16R8 PAL16R8 98 product terms to D input of DFF ◆PAL16R8 Positive edge triggered, common clock for all DFFS ●16个O,其中8个寄存器输出 9/Q output is fed back into AND array 与或炬阵产生的“与或式”组合逻辑作为DFF输入 o Common 3-state enable for all output pins ●2个专用输入:公共时钟CLK和时钟允许 Enable ●Q经三态非门输出,受公共 Enable信号控制 ●Q提供反馈信号,称为寄存器反馈( Feed Reg) PAL16R6 Designing with PALs ◆6 registered outputs ◆确认PAL输入输岀资源是否符合目标设计需求 ◆2 combinational ◆用ABEL语言列写逻辑方程 ◆ Other sequential ◆编译ABEL程序,确定逻辑函数的最小项形式 ●PAL16R4 并试配这些积项 e PAL16R6 ◆试配不成功,改写方程或寻求帮助 O PAL16R8 GAL GAL ◆80年代初提出 ◆种类 ◆采用输出逻辑宏单元(OLMC)结构 ●PAL型 ◆ EZPROM工艺,可擦写可重复编程 >GAL16V8, GAL20V8, GAL22V1 ◆使用更灵活,可取代大部分SSMS和各种PAL ●SP型 /IspGAL22V10 无需专用编程器
4 19 One output of 16R8 8 product terms to D input of DFF zPositive edge triggered, common clock for all DFFs /Q output is fed back into AND array Common 3-state enable for all output pins 20 PAL16R8 z16个I/O,其中8个寄存器输出 ¾与或矩阵产生的“与或式”组合逻辑作为DFF输入 z2个专用输入:公共时钟CLK和时钟允许Enable zQ经三态非门输出,受公共Enable信号控制 z/Q提供反馈信号,称为寄存器反馈(Feed Reg) PAL16R8 21 PAL16R6 6 registered outputs 2 combinational outputs Other sequential PAL z PAL16R4 z PAL16R6 z PAL16R8 22 Designing with PALs 确认PAL输入输出资源是否符合目标设计需求 用ABEL语言列写逻辑方程 编译ABEL程序,确定逻辑函数的最小项形式 并试配这些积项 试配不成功, 改写方程或寻求帮助 23 GAL 80年代初提出 采用输出逻辑宏单元(OLMC)结构 E2PROM工艺,可擦写可重复编程 使用更灵活,可取代大部分SSI/MSI和各种PAL 24 GAL 种类 zPAL型 ¾GAL16V8,GAL20V8,GAL22V10 zISP型 ¾IspGAL22V10 ¾无需专用编程器 zFPLA型……
GAL16V8 GAL16V8 A23 ◆ Each output is ◆与矩阵含8个OLMC×8个与门OLMC,形成64个积 programmable as 项,每个积项含16对互补输入(对应32条列线) combinational or ◆8个OLMC,其中前3个和后3个OLMC的输出都有反 Programmable OLMC: Output Logic Macrocell A23 GAL16V8 Output Logic Macrocell 选择器反馈选择器三态门输出选择器积项选择器 ACo ACIn) (相邻)引脚三态门控制信号为接Gnd,或门只 10寄存器输出寄存器反馈三 制信号为 ◆OMUX:选寄存器或组合逻辑,等效为H型,输入,L或R型PAL ◆FMUⅨX:选反馈信号为引脚反馈、寄存器反馈、相邻引脚、无 ◆ TSMUX选三态门的控制信号为Vc或地、积项、OE引脚 OLMC ◆ PIMUX:与 TSMUX配合。当不使用积项控制三态门时,仍作为 c鲁榴yl 或门的1路输入信号,使或门得到8个积项 GAL16V8 Output Logic Macrocell GAL CE CLK output logic macroce ◆GAL16v8 替代D|P20的PAL ◆GAL20V8 ●替代D|P24的PAL 5
5 25 GAL16V8 Each output is programmable as combinational or registered Programmable output polarity 26 GAL16V8 GAL16V8 A23 与矩阵含8个OLMC×8个与门/OLMC,形成64个积 项,每个积项含16对互补输入 (对应32条列线) 8个OLMC,其中前3个和后3个OLMC的输出都有反 馈线接到相邻OLMC 27 OLMC OLMC: Output Logic Macrocell OLMC: Output Logic Macrocell A23 … D Q 10 Q 11 10 00 01 10X 11X 0X1 0X0 0 1 2 3 4 5 6 7 引脚CLK Vcc Gnd 引脚OE Gnd Xor(n) AC0 AC1(n) AC1(m) PTMUX TSMUX OMUX FMUX 自相邻OLMC 去相邻OLMC 11 0X 10 28 GAL16V8 Output Logic Macrocell GAL16V8 Output Logic Macrocell 或门接收 8个积项 三态门控制信号为 引脚OE 1 0 寄存器输出 寄存器反馈 接Gnd,或门只 接收7个积项 三态门控制信号为 1个积项 (相邻)引脚 反馈 1 1 三态门控制信号为 Gnd,高阻 0 1 不用积项控制三 态门,或门接收 8个积项 三态门控制信号为 VCC,使能 组合逻辑输 引脚反馈 出(与或/与 或非) 0 0 积项选择器 PTMUX 三态门输出选择器 TSMUX 反馈选择器 FMUX 输出选择器 OMUX 控制位 AC0 AC1(n) OMUX: 选寄存器或组合逻辑,等效为H型,输入, L或R型PAL FMUX: 选反馈信号为引脚反馈、寄存器反馈、相邻引脚、无 TSMUX: 选三态门的控制信号为Vcc或地、积项、OE引脚 PTMUX: 与TSMUX配合。当不使用积项控制三态门时,仍作为 或门的1路输入信号,使或门得到8个积项 29 GAL16V8 Output Logic Macrocell GAL16V8 Output Logic Macrocell 30 GAL GAL16V8 z替代DIP20的PAL GAL20V8 z替代DIP24的PAL
Sequential PLD Timing Parameters Sequential PLD Timing Parameters ◆ More features eac二XC ● a registered PLD utput is fed back to a register the same P ◆ Timing parameters e tpo: PD(propagation delay) from input to the comb. output e tco: PD from the rising edge of CLK to output tcF- PD from the rising edge of cLK to a macrocell's registered output that connect back to a feedback input e tsu&tH: setup time hold time of filip-flops Sequential PLD Timing Parameters GAL16V行地址杓 ◆ Internal feed back ◆行地址映射图 ●第0-31共32行,每行64位,对应64个积项 ●第32行 电子标签,Es >8个 Bytes以内任意字符,作为标识 EXternal feedback Input or served for Manufactur ● a registered PLD gistered PLD GAL16V行地址地构 GAL编霍 ◆行地址映射图 ◆结构控制字,各OLMC具体配置 ●第60行,82Bits结构控制字,控制各OLMC配置 ●GAL开发软件根据设计输入自动完成编译配置 64位乘积项止位 ●不必人工设置 Xor(n)}8位 ◆描述方式 Ac1(m}8位;Ac1位;Syn1位 ●逻辑方程 >1Bit,加密单元(ES不受影响 ●真值表 状态图 >Reserved for Manufacturer 电路图 ●第63行:整体擦除位
6 33 Sequential PLD Timing Parameters More features Timing parameters z tPD: PD(propagation delay) from input to the comb. output z tCO: PD from the rising edge of CLK to output z tCF: PD from the rising edge of CLK to a macrocell’s registered output that connect back to a feedback input z tSU & tH : setup time & hold time of flip-flops tPD Input or feedback Combinational output tCF CLK Registered feedback tSU 1/ fmax Inernal feedback 34 Sequential PLD Timing Parameters Internal feedback z a registered PLD output is fed back to a register in the same PLD tCF CLK Registered feedback tSU 1/ fmax Inernal feedback 35 Sequential PLD Timing Parameters Internal feedback External feedback z a registered PLD output is connected to the input of another registered PLD with similar timing tCO CLK Registered feedback Input or feedback tSU tH 1/ fmax External feedback tCF CLK Registered feedback tSU 1/ fmax Inernal feedback 36 GAL16V8行地址结构 行地址映射图 z第0~31共32行,每行64位,对应64个积项 z第32行 ¾ 电子标签,ES ¾ 8个Bytes以内任意字符,作为标识 z第33~59 ¾ Reserved for Manufacturer 0 1 2 3 4 5 6 7 0 1 2 3 … … … … 30 31 I 1 O1 37 GAL16V8行地址结构 行地址映射图 z第60行,82Bits结构控制字,控制各OLMC配置 模式,可由用户编程 ¾64位乘积项禁止位; ¾Xor(n)—8位; ¾AC1(n)—8位; AC0—1位;Syn—1位 z第61行 ¾1Bit,加密单元 (ES不受影响) z第62行 ¾Reserved for Manufacturer z第63行: 整体擦除位 38 GAL编程 结构控制字,各OLMC具体配置 zGAL开发软件根据设计输入自动完成编译配置 z不必人工设置 描述方式 z逻辑方程 z真值表 z状态图 z电路图
6.3 CPLD FPGA MAX 7000A ◆MAX7000A OCPLD: CMOS E2PROM-based PLDs ◆FLEX10K 93 3V In-system programmability Q Built-in JTAG boundary-scan test circuitry 94. 5ns pin-to-pin logic delay ◆32t0256 macrocells MAX 7000A Device Block Diagram MAX 7000A MacroCell Macro ce小蚶 MAX7000 A CPLD小 ◆组合逻辑函数 ◆浮栅存储电荷的方法保存配置数据,数据不 ●来自PA的36对互补输入 ●5个积项+5输入或门实现“与或”组合逻辑 ●每个MC提供共享积项( Shared ◆ Macroce为粗颗粒结构 ●每个MC提供并联扩展项( Paralle ●单元逻辑功能相对复杂 ◆组合逻辑输出或DFF输出 ●适合扇入大或组合逻辑功能复杂的场合 ●DFF三种时钟方式 ◆单芯片电路规模或等效门数目不大 >全局时钟 全局时钟+使能信号 积项阵列时钟 ●全局时钟/全局清除信号 7
7 39 6.3 CPLD & FPGA MAX7000A FLEX10K 40 MAX 7000A CPLD: CMOS E2PROM-based PLDs 3.3V In-system programmablity Built-in JTAG boundary-scan test circuitry 4.5ns pin-to-pin logic delay 32 to 256 macrocells 41 MAX 7000A Device Block Diagram 42 MAX 7000A MacroCell MAX 7000A MacroCell 44 MacroCell MacroCell小结 组合逻辑函数 z来自PIA的36对互补输入 z5个积项 + 5输入或门实现“与或”组合逻辑 z每个MC提供共享积项(Shared) z每个MC提供并联扩展项(Parallel) 组合逻辑输出 或 DFF输出 zDFF三种时钟方式 ¾全局时钟 ¾全局时钟+使能信号 ¾积项阵列时钟 z全局时钟/全局清除信号 45 MAX7000A CPLD小结 浮栅存储电荷的方法保存配置数据,数据不 “挥发” MacroCell为粗颗粒结构 z单元逻辑功能相对复杂 z适合扇入大或组合逻辑功能复杂的场合 单芯片电路规模或等效门数目不大
FLEX 10K FLEX 10K Device Block Diagram OFPGA: CMOS SRAM-based PLDs .10,000 to 250,000 logical gates .Up to 20 EABs, 2048bits per EAB O MultiVolt 1O: drive and be driven by 3.3/5V devices 目自三 9In-Circuit Reconfigurablity via external configuration devices, MCU, or JTAG Q Built-in JTAG boundary-scan test circuitry FLEX 10K Device Block Diagram EX10 K Logical Element(日 ◆逻辑资源LAB- Logic Array Block ◆LE ●8 LEs per LAB ◆存储器资源EAB- Embeded Array Block ●2048 bits per EAB eRoM、RAM、F|FO、 DPRAM ◆O资源|OE- O Element ◆互连线资源一 FastTrack FLEX 10K LE FLEX 10K LE ◆4输入LUT,实现任意组合逻辑 ◆每个LE能同时驱动 ◆DFF ● Local Inter Connect oClock Enable .FastTrack InterConnect ●Asyn.cear& Preset .Clock. Clear Preset come from ◆每个LE提供进位链和级联链 > Global Signals ●联接LAB内所有LE General lo pins >Any internal logic
8 46 FLEX 10K FPGA: CMOS SRAM-based PLDs z10,000 to 250,000 logical gates zUp to 20 EABs, 2048bits per EAB MultiVolt I/O: drive and be driven by 3.3/5V devices In-Circuit Reconfigurablity via external configuration devices, MCU, or JTAG Built-in JTAG boundary-scan test circuitry 47 FLEX 10K Device Block Diagram 48 FLEX 10K Device Block Diagram 逻辑资源LAB—Logic Array Block z8LEs per LAB 存储器资源EAB—Embeded Array Block z2048bits per EAB zROM、RAM、FIFO、DPRAM I/O资源IOE—I/O Element 互连线资源—FastTrack 49 FLEX 10K Logical Element FLEX 10K Logical Element (LE) LE 50 FLEX 10K LEC 4输入LUT,实现任意组合逻辑 DFF zClock Enable zAsyn. Clear & Preset zClock, Clear & Preset come from ¾Global Signals ¾General I/O pins ¾Any internal logic 51 FLEX 10K LE 每个LE能同时驱动 zLocal InterConnect zFastTrack InterConnect 每个LE提供进位链和级联链 z联接LAB内所有LE
FLEX 10K LE Operating Modes FLEX 10K Operating Modes ◆(1) Normal mode Mormal Mode ◆(2) Arithmetic Mode o(3)Up/Down Counter Mode o(4)Clearable Counter Mode LE-CuDLoea ◆(1) Normal mode 4输入LUT组合逻辑输出或寄存器输出 ●通常的逻辑应用和各种译码 ●适合发挥级联链作用 FLEX 10K Operating Modes FLEX典型应用1 Arithme lic Mod Carrin ◆(2) Arithmetic Mode ●两个三输入LUT(本位/进位) O Multiplexer: Wide-fan-in logic 比较器、加法器、累加器 .4-to-1 multiplexer, using cascade chain logic ●支持级联链 . 4Bits@32MHZ, 8Bits@32MHz FLEX典型应用2 FLEX典型应用3 st Adder SUMO 2nd Adder B COUT CIN SUM RST COUT nth Adder SUMn Au Accumulate COUT Ripple Carry Adder: Arithmetic Mode RST COUT Offer the best performance per LE ON-bits Accumulator: Arithmetic Mode .8Bits@120MHZ, 16Bits@70MHz e Fast compact accumulators using the carry chain feature o 8Bits@120MHz, 16Bits@70/90MHz
9 56 FLEX 10K LE Operating Modes (1)Normal Mode (2)Arithmetic Mode (3)Up/Down Counter Mode (4)Clearable Counter Mode 57 FLEX 10K Operating Modes (1)Normal Mode z4输入LUT组合逻辑输出 或 寄存器输出 z通常的逻辑应用和各种译码 z适合发挥级联链作用 58 FLEX 10K Operating Modes (2)Arithmetic Mode z两个三输入LUT(本位/进位) z比较器、加法器、累加器 z支持级联链 61 FLEX典型应用1 Multiplexer: Wide-fan-in logic z4-to-1 multiplexer,using cascade chain logic z4Bits@32MHz,8Bits@32MHz 62 FLEX典型应用2 Ripple Carry Adder:Arithmetic Mode zOffer the best performance per LE z8Bits@120MHz,16Bits@70MHz 63 FLEX典型应用3 N-bits Accumulator: Arithmetic Mode zFast & compact accumulators using the carry chain feature z8Bits@120MHz,16Bits@70/90MHz
FLEX典型应用3 FLEX小结 ◆SRAM工艺,“易挥发”,需外部配置电路 ◆|CR功能 ◆逻辑单元功能相对简单,“细颗粒”结构 ◆电路规模大,寄存器和存储器资源丰 富,适合数字时序系统设计 e1-Bit Accumulator: Arithmetic Mode . Implement the single-bit adders sum and carry logic within a single LE 10
10 64 FLEX典型应用3 1-Bit Accumulator:Arithmetic Mode zImplement the single-bit adder’s sum and carry logic within a single LE 65 FLEX小结 SRAM工艺, “易挥发”, 需外部配置电路 ICR功能 逻辑单元功能相对简单,“细颗粒”结构 电路规模大,寄存器和存储器资源丰 富,适合数字时序系统设计