PLD器件基础及开发系统介绍

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


➢常量说明语句
格式:
例:
标识符=常量表达式; C,X=.C.,.X.;
ON,OFF=0,1;
➢逻辑方程描述
格式: EQUATIONS
逻辑方程式;
例:
equations
S=!A&B # A&!B;

Q.clk=CP;
C1=A&B; Q:=Q+1;
•注意
组合型输出赋值为“=”,寄存器型输出赋值为“:=”。 在逻辑方程描述中可以使用WHEN-THEN-ELSE语句。
•注意
‘字符串’通常为该模块的内容提示。 标题语句不影响任何逻辑描述及运算结果,可以省略。
➢器件说明语句
格式:
例:
器件标识符 DEVICE ‘字符串’; U1 DEVICE ‘P16V8C’;
•注意
器件说明语句用来把模块中所用器件的标识符与实际PLD器 件相联系。 在ispEXPERT软件中,该语句可忽略。
PLD器件基础及开发系 统介绍
2020年5月25日星期一
一. 可编程逻辑器件基础
❖ 集成逻辑器件的分类
•单片机系列(例,MCS51/96系列)
•各种含CPU的微处理器
•高级微处理器(例,INTEL80286,TI8000等) •数字信号处理器(例,TMS320系列)
•数字器 件
•标准逻辑器件
•各种门电路(例,与非门、或非门等) •常用中规模集成电路(例,计数器) •存储器(例,RAM、ROM、EPROM等 •全定制产品
•例 • MODULE Basic_logic “gives the module a name”

➢数的表示
可用二进制、八进制、十进制和十六进制来表示
进。制数
基数
表记符
例如 十进制数
二进制
2
^B ^B1010 10
八进制
8
^O
^O12
10
十进制
10 ^D(缺省 ^D15
15
)
十六进制 16
^H
^HF

➢模块说明语句 格式: MODULE 模块名 …… END [模块名]
例: MODULE 1_bit_adder …… END
•注意
行末没有分号。 若将该模块作为一个自定义元件(宏块),则模块名 应与自定义元件名相同。

➢标题语句
格式: TITLE ‘字符串’;
例: TITLE ‘4 bit binary counter’;

➢测试矢量
格式:
TEST_VECTORS(输入标识符集->输出标识符集)
输入值->输出值;
例:
TEST_VECTORS([A,B]->S)
[0,0]->0; [0,1]-
>1;
[1,0]->1; [1,1]-
•注>意0; 测试矢量与真值表描述在形式上相似。

➢指示字
• 指示字的作用就是指导编译软件对源文件作相应的处理。灵 活地应用指示字可以简化源文件的编写和调试。引导指示字的关 键词为“@” 。
MODULE decode
“定义设计模块名为decode
A4,A3,A2,A1 PIN;
“定义输入信号
Z PIN;
“定义输出信号
A=[A4..A1];
“定义集合
EQUATIONS
“表示以下用逻辑方程描述功能
WHEN((A>=2)&(A<=10)) THEN Z=1; “逻辑功能描述
ELSE Z=0;
➢集合 集合用来表示成组或成批处理的信号或常量,集合中的每一个独立分量 称为该集合的元素。引入集合的目的是为了简化书写,并使可读性更好。 集合有两种定义方法:
枚举法: Din = [ D7,D6,D5,D4,D3,D2,D1,D0 ]; 界限符法: Din = [ D7..D0 ];
枚举法与界限符法可以联合使用。

二.ABEL语言介绍
❖ ABEL的语法规定
➢合法字符集
a~z (26个小写英文字母) A~Z (26个大写英文字母) 0~9 (10个数字字符) space(空格符) tab(制表符) ~ !@ # $ % ^ & * ( ) - _= + \ | [ ]{ } ; ‘ : “,<>.`/?

共计96个 ASCII码字符

➢管脚及节点说明语句
格式: 标识符 PIN(或NODE) <#> ISTYPE ‘属性’;
例: A pin;
B,C pin istype ‘REG’;
•Z1,Z2 node istype ‘COM’;
•注意
管脚标识符要与管脚号一一对应,但在ispEXPERT 中管脚号可以省略。 缺省情况下,管脚属性为组合型‘COM’。 一个信号可以包含多个属性。
15

➢常量
常量用来表示值不变的量。常量可以分为:一般常量和特殊常量

特殊常量
说明
.C.
上升沿时钟输入
.F.
浮点输入或输出
ห้องสมุดไป่ตู้
.K.
下降沿时钟输入
.P.
寄存器预加载
.X.
任意态(无关项)
.Z.
高阻输入或输出
•注意 特殊常量值用大小写均可,但前后两个“.”不能省略!

➢运算及运算符


➢表达式及等式 表达式是标识符和运算符的组合,表达式中各种运算具有不同的优先级 .

❖ PLD的基本结构
➢输入电路产生输入变量的原变量和反变量 ➢与阵列产生输入变量的与项(乘积项) ➢或阵列对乘积项有选择地进行或运算 ➢输出电路产生输出信号,提供反馈信号

❖ PLD的工作原理
➢在数字电路的设计中,输出总可以用“与或”形式 的逻辑函数来表示,从而用若干与门和或门就可以实 现这个逻辑函数。而PLD器件内部电路的核心就是与阵 列和或阵列,因此可以用来实现任意函数。

@repeat 16 {[m,n,0]->(m+n);

[m,n,1]->(m+n+1);

@const n=n+1;}

@const m=m+1;}

三.ispEXPERT System介绍
❖ 概述
• ispEXPERT System集成开发软件是由Data I/O公司开发的一 个通用的可编程逻辑器件开发软件。能够支持Lattice公司的 ispLSI、pLSI、ispGAL、ispGDS器件及全新系列GAL器件的设计、 编译和逻辑模拟。 • ispEXPERT System支持原理图输入和ABEL硬件描述语言( HDL)输入,还包括编译、模拟和仿真的功能。I • Lattice的pDS+ Synario适配软件与ispEXPERT紧密结合,形 成多层次逻辑综合、自动逻辑分割与自动器件映射功能。
输入值->输出值;
•TRUTH_TABLE(输入标识符集:>输出标识符集)

输入值:>输出值;
例:
truth_table([A,B]->S)
[0,0]->0; [0,1]-
>1;
[1,0]->1; [1,1]-
>0;

➢状态图描述 状态图是一种直观描述时序逻辑的方法,状态图描述方式 是由状态图标题语句,状态描述语句和状态转移语句三部分组成 。格式: STATE_DIAGRAM 状态寄存器标识符 {状态表达式:方程式;} 具体见时序电路
@ONSET
@PAGE
•@RADIX
@REPEAT
@SETSIZE
@STANDARD

常用指示字:
•格式:@CONST id=expr; •格式:@REPEAT number_expr {block}
用于对新的常量进行定义; ;
例:
将某些语句重复执行若干次。
•STATE_DIAGRAM •@CONST n=0;
•注意 只有类型相同、长度相同的集合才可一起参与运算。

❖ ABEL源文件的基本结构
ABEL源文件是由一个或多个相互独立的模块组成,每个模块包 括一个或多个完整的逻辑描述。简单的源文件可以只包含一个模块,
而复杂的源文件可能包括多个模块。
➢模块基本结构如下: •MODULE〈模块名〉 •[〈接口说明语句〉] •[〈标题语句〉] •〈说明语句〉 •{〈布尔方程段〉、〈真值表段〉、〈状态图段〉、 • 〈熔丝状态段〉、〈异或因子段〉} •[〈测试矢量段〉] •END [〈模块名〉]
TEST-VECTORS(A–>Z)
“以下是测试矢量部分
0 –>0;1 –>0;2 –>1;3 –>1;
4 –>1;5 –>1;6 –>1;7 –>1;
8 –>1;9 –>1;10 –>1;11 –>0;
12 –>0;13 –>0;14 –>0;15 –>0;
END
“模块结束

➢经ABEL语言编译器编译后的简化式子如下: ➢ABEL语言描述的仿真波形如下:
•专用数字集成电路 ASIC
•半定制产品
•可编程逻辑器件(PLD)

❖ 集成逻辑器件的特点
➢含CPU的微处理器 在时钟脉冲作用下不断执行用户的软件程序,用户编程并不 对其硬件结构产生影响,它的工作速度一般较低; ➢标准逻辑器件 使用方便、价格便宜,但其规模一般较小,一个数字系统往 往要用几十片甚至上百片标准逻辑器件来完成; ➢半定制、全定制ASIC • 产品开发需要半导体厂家参与,周期长、费用高,其开发不 可能普及; ➢PLD器件 (1)逻辑功能可编程。(2)器件规模很大。(3)工作速度很 高。(4)使用相对复杂。
•例如,对逻辑函数 ,用PLD表示法连接后的完整逻辑图如 图所示。
•1 •A
•B
•1
•&
•& •≥1
•Z

❖ 用PLD设计数字逻辑电路的方法
➢传统设计方法:设计要求→真值表→函数表达式→化简或变换→ 电路图 ➢现代设计方法:设计要求→用HDL语言描述功能→编译、化简和 仿真→逻辑综合→下载到可编程器件 ➢常见HDL语言:ABEL-HDL语言、VHDL语言、Verilog语言 ➢HDL语言描述方法:逻辑方程、高级语言、真值表、状态图描述等
关键字又称保留标识符,它代表某种处理功能。
CASE
DEVICE
ELSE
ENABLE
END
ENDCASE
ENDWITH
EQUATIONS
FLAG
FUSES
GOTO
IF
IN
ISTYPE
LIBRARY
MACRO
MODULE
NODE
PIN
STATE
STATE_DIAGRAM
TEST_VECTORS THEN

❖ Synario使用步骤
•开始 •选择PLD器件 •顶层原理图设计* •编写ABEL源文件* •编写顶层测试矢量*
•各种资源的编译、优化、 仿真
•资源链接、器件映射 •JEDEC文件的形成
•器件编程和功能测试
•结束

❖ 具体操作
初始工作:启动、创建项目、选择器件等 输入原理图
自定义元件(宏块,Block Symbol) 选择逻辑门和I/O PAD元件 连线:小方框消失则说明已连好 命名节点(Net) 添加I/O标注 定义管脚属性
格式: •@directive [options];
•ABEL语言中的指示字为:
•@ALTERNATE @CARRY
@CONST
@DCSET
•@DCSTATE
@EXPR
@EXIT
@IF
•@IFB
@IFDEF
@IFIDEN
@IFNB
•@IFNDEF
@IFNIDEN
@INCLUDE
@IRP
•@IRPC
@MESSAGE
➢标识符 标识符是由标识器件、器件引脚、节点、集合 、输入/输出信号等的合法字符串组成。
标识符必须以字母或下划线开始; 标识符最长不能超过31个字符; 除第一个字符外,标识符可以包含大写字母,小写 字母,数字及下划线,但不允许出现空格; 标识符与大小写字母有关; 关键字不能用作标识符。

➢关键字
“状态图描述
•@REPEAT 10 {
•STATE n:IF (n<9) (n+1) ELSE 0;
•@CONST n=n+1;} •例: •test_vectors([AA,BB,C0]->S) “四位全加器测试矢量
•@const m=0;
“定义常数变量m
•@repeat 16 { @const n=0; “定义常数变量n
TITLE
TRUTH_TABLE WITH
•注意 •与标识别符不同,关键字不区分大小写!

➢字符串
字符串是包含在单引号内的合法字符序列,通常用于标题语句、 标记语句以及管脚和节点说明语句。
•例
•TITLE ’1 bit full adder’;
➢注释段 注释是对源文件的进一步解释,注释段以双引号开始,以另一个 双引号或换行符结束。

➢WHEN-THEN-ELSE语句
格式: WHEN 条件 THEN 逻辑方程1; ELSE 逻辑方程2;
例: when (A==B) then Z=0; else Z=1;
•注意
若有多个逻辑方程,可以放在大括号中。 WHEN-THEN-ELSE语句可以嵌套使用。

➢真值表描述
格式:
TRUTH_TABLE(输入标识符集->输出标识符集)

❖ 逻辑功能的硬件语言描述
例:如一个四位二进制数A4A3A2A1,试设计一个判断电路,当四位二 进制数大于等于2,小于等于10时,输出为“1”,其它为逻辑“0”。 解: ➢(一)用传统设计方法: 1. 真值表(略) 2. 逻辑式(略) 3. 化简,得:
4. 电路图(略)

➢(二)用ABEL—HDL语言描述如下:
相关文档
最新文档