已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ABEL HDL 语言简明教程 1 ABEL HDL 语言简明教程语言简明教程 一一 ABEL HDL 简介简介 ABEL HDL ABEL Hardware Description Language 语言是一种层次化的硬件描述语 言 它支持多种行为级输入形式 其中包括逻辑方程式 状态图和真值表等 ABEL 编译 器和 ispLEVER ispDesignEXPERT ISP Synario 版本软件中的 ABEL HDL 编译器可通过 仿真对 ABEL HDL 语言设计进行功能验证 此后 编译器在 PLD 或 FPGA 等可编程 IC 上实现此设计 ABEL HDL 设计还可以通过标准格式的设计传输文件转移到其它设计环境 中去使用 二二 ABEL HDL 语法语法 ABEL HDL 源文件中的每一行必须符合以下语法规则 一行最多为 150 个字符长 每一行可用按回车键来结束 除开始 结束 标题等语句外 多以分号 结束 不同的关键字 标识符和数之间最少要用一个空格隔开 在同一关键字 数 运算符或标识符中不可嵌入空格和句点 关键字及特殊常量关键字及特殊常量可用大写 小写或大小写字母混合方式键入 关键字及特殊常量与关键字及特殊常量与 大小写无关大小写无关 一般标识符一般标识符也可以是大写 小写或大小写字母混用 但必须注意 一般标识符与大小一般标识符与大小 写有关写有关 这点在编写程序时要特别小心 极易出错 2 1 ABEL HDL 基本语法基本语法 1 标识符标识符 标识符 用户提供的名字和标号 用于标识下列各项的名称 器件 P16V8R 器件引脚及节点 LD Q3 Q2 Q1 Q0 N 1 功能块 A ELSE WHEN Mode T Data THEN Out data T in WHEN Mode S Data THEN S Valid 1 ELSE WHEN Mode T Data THEN T Valid 1 用块的表达式 以上语句可被简化 WHEN Mode S Data THEN Out data S in S Valid 1 ELSE WHEN Mode T Data THEN Out Data T in T Valid 1 6 集合集合 set ABEL HDL 语言简明教程 4 集合是信号及常量的汇集 集合简化了 ABEL HDL 语言的逻辑描述和测试向量 它允 许把一组信号用一个名字来引用 由逗号或范围运算符范围运算符 分开的常量及信号清单 再 用方括号将其括起来 即可表示一个集合 例如 MultiOut 及 Select 集合定义为 MultiOut B0 B1 B2 B3 B4 B5 B6 B7 Select S2 S1 S0 以上集合也可用 来表示 MultiOut B0 B7 Select S2 S0 用 来定界范围的标识符必须有兼容 形式相似 的名字 它们必须以相同的字母 开头 以数字结束 例如上面的 B0 B1 B2 等 注意 集合所支持的运算符有限 它支持大多数逻辑运算符 关系运算符和赋值运算 符 但仅支持算术运算符中的加 减 取负 取补码 7 字符和数字符和数 ABEL HDL 语言的字符由 ASCII 字符组成 可以使用大小写字母及 101 键盘使用的大 部分字符 a z 小写字母 A Z 大写字母 0 9 数字 空格符 制表符 总共有 96 个 字符可用于标识符 字符串和注释 8 注释注释 注释是使源文件易懂的另一种方法 用户可用如下方式进行注释 1 用一双引号 开始 以另一双引号或行结束来结束 2 用一双斜杠 开始 以一行结束来结束 语言处理程序对双引号中的内容不进行处理 注释不可嵌于关键字中 注意 在单引号 内的信息是所需的字符串 它是语句的一部分 而不是注释 如 IC4 device P16V8R 语句中的 P16V8R 是语句的一部分 不是注释 9 基本逻辑器件的描述基本逻辑器件的描述 基本逻辑器件有门和触发器 在 在 ABEL HDL 语言中 触发器统称为寄存器 语言中 触发器统称为寄存器 门电路可直接用逻辑表达式表示 如 Out1 A语句表示一个与门 寄存器需要时钟方程 输出方程 复位方程等一组方程才能完整地描述 为了简洁 通常对一个寄存器只定义一个标识符 而对于寄存器的时钟信号 复位信号等则在该寄存 器标识符后面加点后缀来表示 下表给出了 ABEL HDL 常用的点后缀 点后缀含义点后缀含义 AP异步寄存器置位 AR异步寄存器复位异步寄存器复位 CLK边沿触发器的时钟输入边沿触发器的时钟输入 DD 触发器的激励输入 FB寄存器反馈 JJK 触发器的 J 激励输入 KJK 触发器的 K 激励输入 LD寄存器并行置数输入 OE输出使能 LE寄存器的锁存使能输入 SP同步寄存器置位 SR同步寄存器复位 在编程时 以上点后缀的方程要根据具体电路选用 没必要全用 ABEL HDL 语言简明教程 5 例如 下图给出了一种典型的 D 触发器的各个点后缀描述 与上图相对应的 D 触发器的一段 ABEL HDL 基本功能描述语句如下 d d cp clear preset PIN d d 为 D 输入端信号 cp 为触发时钟信号 clear 为清零信号 preset 为预置信号 q d PIN ISTYPE reg d q d 为 Q 输出端信号 亦可写为 ISTYPE reg 参见 2 2 小节中的 ISTYPE 属性定义语句 EQUATIONS q d CLK cp 以该 D 触发器的 Q 输出端信号 q d 作为触发器标识符 q d AR clear 指定 clear 为异步清零信号 q d AP preset 指定 preset 为异步预置信号 q d d d 指定该 D 触发器的逻辑功能 在 cp 上升沿时输入端 d d 置到输出端 q d 10 变量及变量代换变量及变量代换 变量的结构能用于宏 模块及命令中 ABEL HDL 语言支持两种变量 定义如下 哑变量 相当于 哑元 形参 宏 模块或指示字中可被真实变量替代的标识符 真实变量 相当于 实参 用于宏 模块或指示字中的变量 真实变量可以替代哑 变量 一个真实变量可以是标识符 数字 字符串 运算符 集合或 ABEL HDL 语言 的其它元素 可在宏说明中规定哑变量 也可在宏 模块或命令的体中规定哑变量 参见 2 2 小节 ABEL HDL 源文件基本结构中的 MACRO 宏定义语句 例如 OR EM MACRO a b c a b c 定义了一个名为 OR EM 的宏 它是三个变量的逻辑或 这些变量在宏定义中用哑变量 a b c 来表示 在大括号内的宏定义体中 哑变量前带上问号 构成一个整体 表示 需要用真实变量来代替这个整体 例如 D OR EM X Y Z 就表示用真实变量 X Y 和 Z 其中 实际器件为所代表的实际器件的工业型号 用字符串表示 在 ispLEVER ispDesignEXPERT ISP Synario 软件中所使用的实际器件是在器件列表框中选 择的 故器件定义语句可以省略 2 PIN管脚定义语句管脚定义语句 格式为 信号名 信号名 PIN 管脚号 管脚号 ISTYPE 属性 属性 各信号是能与模块外部有输入输出关系的信号 信号缺省为高电平有效 前面加 表示该信号为低电平有效 各信号名与具体 ISP 器件管脚号对应 如果不希望预先设定 锁定 信号的管脚位置 则关键字 PIN 后面的管脚号可以不写 例如 CLK I3 I2 I1 I0 PIN 11 28 27 26 25 3 NODE节点定义语句节点定义语句 格式为 节点名 节点名 NODE 节点号 节点号 ISTYPE 属性 属性 节点定义语句与管脚定义语句结构类似 节点定义用于说明模块中代表实际器件内部 节点的标识符 或称为 伪管脚 它表示外部管脚上不能得到的内部 局部 信号 但 它对形成中间信号很有用 4 ISTYPE属性定义语句属性定义语句 属性定义语句用于对其管脚及节点具有可编程特性的器件进行管脚及节点的属性定义 一般跟 PIN 或 NODE 语句连用 下表是在 ISTYPE 标题下的属性 用单引号括起 pos正极性 neg负极性 com 缺省值 缺省值 组合型 该信号与时钟无关 组合型 该信号与时钟无关 reg寄存器型 该信号与时钟同步 寄存器型 该信号与时钟同步 reg dD 型寄存器 reg jkJK 型寄存器 reg srRS 型寄存器 ABEL HDL 语言简明教程 7 reg tT 型寄存器 reg l锁存器 电平触发 5 常量定义语句常量定义语句 格式为 常量名 常量名 表达式 表达式 常量是模块中保持常数值的标识符 它用 符号来规定 常量定义语句必须在定义 段中或者在 CONST 命令之后 6 MACRO宏定义语句宏定义语句 格式为 宏名 MACRO 哑变量 哑变量 block 宏说明语句定义一个宏 使用宏可将函数名包含于源文件中 而无需重复这段代码 例如 NAND3 MACRO A B C A 就定义了一个宏 如果引用该宏 D NAND3 Clock Hello Busy 则得到的实际结果相当于 D Clock 3 逻辑描述段逻辑描述段 完成了以上的定义后 用户可用一个或多个以下的表达方式来描述逻辑功能 1 EQUATIONS方程语句方程语句 格式为 EQUATIONS 方程语句表示一组布尔方程的开始 方程用布尔函数来描述逻辑功能 如下面的方程语句描述了 2 线 4 线译码电路 EQUATIONS Y0 A2 Y1 A2 Y2 A2 Y3 A2 2 TRUTH TABLE真值表语句真值表语句 格式为 TRUTH TABLE 输入向量标识符 输出向量标识符 输入向量 输出向量 或者 TRUTH TABLE 输入向量标识符 输出向量标识符 输入向量 输出向量 或者 TRUTH TABLE 输入向量标识符 寄存器向量标识符 输出向量标识符 输入向量 寄存器向量 输出向量 其中 表示输入与输出 左与右的信号向量 关系为组合型表示输入与输出 左与右的信号向量 关系为组合型 与时钟无关 即左变化则右立即变化 与时钟无关 即左变化则右立即变化 表示输入与输出 左与右的信号向量 关系为寄存器型表示输入与输出 左与右的信号向量 关系为寄存器型 ABEL HDL 语言简明教程 8 同步时序型 即左变化而右不立即变化 要等到下一时钟有效边沿时右才发生相应变化 同步时序型 即左变化而右不立即变化 要等到下一时钟有效边沿时右才发生相应变化 如下面的真值表语句描述了一个组合逻辑电路 4 线 2 线编码器 TRUTH TABLE I3 I2 I1 I0 O1 O0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 1 3 STATE DIAGRAM状态图语句状态图语句 格式为 STATE DIAGRAM 状态寄存器 STATE 状态表达式 方程式 状态转换描述语句 STATE DIAGRAM 语句段包含对逻辑设计的状态描述 其中的 STATE DIAGRAM 语句用于定义状态描述中的状态机 而 IF THEN ELSE CASE 和 GOTO 等状态转换 描述语句则确定了状态机的运作 状态寄存器是用于表示状态的信号向量 状态表达式定 义某一状态开始转移的条件 即此时状态寄存器所具有的值 状态表达式后的方程式则 给出当前状态下的输出 而在下一个时钟 有效边沿 到来时将执行后面的状态转换描述 语句 即状态转移语句 使状态机转到下一个状态 例如 下面是一个简单的四个状态随时钟节拍轮流转换的例子 同时输出变量 Y 在不 同的状态有不同的值输出 A B PIN ISTYPE reg Y cp PIN ab A B EQUATIONS ab clk cp STATE DIAGRAM ab STATE 0 Y 0 GOTO 1 STATE 1 Y 0 GOTO 2 STATE 2 Y 0 GOTO 3 STATE 3 Y 1 GOT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 互联网+金融服务模式创新与风险控制
- 农村后备干部合同协议
- 合伙购买泵车协议合同
- 农村林地租地合同范本
- 养别人小孩写合同协议
- 合同新增材料补充协议
- 合伙公司注销合同范本
- 劳务费合同协议书模板
- 叶菜种植收购合同范本
- 俱乐部学员协议书范本
- 《小学劳动教育研究的文献综述》3800字
- 航空器租赁合同模板
- 物业项目开办物资明细表(参考)
- GB/T 44577-2024商用电动洗碗机性能测试方法
- 口腔颌面部间隙感染-颞、舌下、颏下、咽旁间隙感染
- 重度哮喘诊断与处理中国专家共识(2024)解读
- 2024-2030年中国光纤激光器行业发展趋势及投资风险分析研究报告
- 2024广东珠海市强制隔离戒毒所招聘3人易考易错模拟试题(共500题)试卷后附参考答案
- 4.2.1 共面直线(课件)-【中职专用】高二数学(高教版2021拓展模块一上册)
- DL-T-5161.5-2018电气装置安装工程质量检验及评定规程第5部分:电缆线路施工质量检验
- 高校辅导员招聘笔试试题及答案
评论
0/150
提交评论