计算机组成原理实践环节课件第3部分:实验基础2-able语言-.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机组成原理实践环节课件第3部分:实验基础2-able语言-.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 实践 环节 课件 部分 实验 基础 able 语言
- 资源描述:
-
1、2022-7-27计算机组成原理计算机组成原理实践环节计算机组成原理实践环节基础基础2Able语言简介语言简介2022-7-27计算机组成原理可编程逻辑器件设计语言可编程逻辑器件设计语言ABEL前言前言1 ABEL-HDL语言的基本语法语言的基本语法2 ABEL-HDL语言源文件的基本结构语言源文件的基本结构3 逻辑描述逻辑描述2022-7-27计算机组成原理 前言前言 开发使用开发使用PLD的系统时,应使用语言或的系统时,应使用语言或逻辑图来描述该逻辑图来描述该PLD的功能,并通过编译、的功能,并通过编译、连接、适配,产生可对芯片进行编程的目连接、适配,产生可对芯片进行编程的目标艾件(该文件
2、一股采用熔丝图格式,如标艾件(该文件一股采用熔丝图格式,如标准的标准的JED文件),然后再下载并写入芯文件),然后再下载并写入芯片中。片中。2022-7-27计算机组成原理 常用的可编程逻辑器件设计语言为常用的可编程逻辑器件设计语言为ABEL-HDL(ABEL硬件描述语言),硬件描述语言),它是它是DATA I/O公司开发的一种可编程公司开发的一种可编程逻辑器件设计语言,它可支持绝大多数逻辑器件设计语言,它可支持绝大多数可编程逻辑器件。可编程逻辑器件。2022-7-27计算机组成原理1 ABEL-HDL语言的基本语法语言的基本语法1.1 ABEL源文件构成源文件构成 在用在用ABEL-HDL进
3、行逻辑设计时,描述进行逻辑设计时,描述逻辑功能的源文件必须是符合逻辑功能的源文件必须是符合ABEL-HDL语语言语法规定的言语法规定的ASII码文件。码文件。2022-7-27计算机组成原理 ABEL-HDL源文件是由各种语句组成的,源文件是由各种语句组成的,这些语句是由这些语句是由ABEL-HDL语言的基本符号构语言的基本符号构成的,这些符号必须满足一定的格式才能正成的,这些符号必须满足一定的格式才能正确描述逻辑功能。语句的每一行最长为确描述逻辑功能。语句的每一行最长为150个个字符。在源文件的语句中标识符、关键字、数字符。在源文件的语句中标识符、关键字、数字之间至少必须有一个空格,以便将它
4、们分隔字之间至少必须有一个空格,以便将它们分隔开来。但在标识符列表中标识符以逗号分隔。开来。但在标识符列表中标识符以逗号分隔。2022-7-27计算机组成原理 在表达式中,标识符和数字用操作符或括在表达式中,标识符和数字用操作符或括号分隔。空格、点号不能夹在标识符、关键字、号分隔。空格、点号不能夹在标识符、关键字、数字之间。如空格夹在标识符、数字之间将会数字之间。如空格夹在标识符、数字之间将会被看作两个标识符或数数字。以大写、小写或被看作两个标识符或数数字。以大写、小写或大小写混合写的关键字被看作同一个关键字,大小写混合写的关键字被看作同一个关键字,而以大写、小写或大小写混合写写的标识符将而以
5、大写、小写或大小写混合写写的标识符将被看作不同的标识符。被看作不同的标识符。2022-7-27计算机组成原理1.2 ASCII字符字符 在在ABEL-HDL语言中,其合法的语言中,其合法的ASCII字符除了数字字符除了数字0-9,大小写的,大小写的英文字母外,还包括空格符及下述符英文字母外,还包括空格符及下述符号号:!#$?+&*();:“,./%2022-7-27计算机组成原理1.3 标识符标识符 标识符是用合法的标识符是用合法的ASCII字符按次序排字符按次序排列定义的名字,其作用是标识器件、管脚、列定义的名字,其作用是标识器件、管脚、节点、集合、输入输出信号、常量、宏以及节点、集合、输入
6、输出信号、常量、宏以及变量。所有的标识符必须符合下述规定变量。所有的标识符必须符合下述规定:1.标识符的长度不超过标识符的长度不超过31个字符个字符;2.标识符必须以字母或下划线开始标识符必须以字母或下划线开始;2022-7-27计算机组成原理3.标识符其他的宇母可采用大、小写字母、标识符其他的宇母可采用大、小写字母、数字及下划线数字及下划线;4.标识符中不能包括空格符标识符中不能包括空格符;5.除保留标识符除保留标识符(即关键宇即关键宇)外,标识符中同外,标识符中同一个字母的大、小写表示不同的含义一个字母的大、小写表示不同的含义;6.除了合法的点扩展外,标识符中同一个字除了合法的点扩展外,标
7、识符中同一个字母的大、小写表示不同的含义。母的大、小写表示不同的含义。2022-7-27计算机组成原理 在在ABEL-HDL中保留的标识符称为关中保留的标识符称为关键字,关键字不能用于命名器件、管脚、键字,关键字不能用于命名器件、管脚、节点、集合、宏或信号,而代表了这个字节点、集合、宏或信号,而代表了这个字所特指的功能。所特指的功能。2022-7-27计算机组成原理1.4 常量常量 在在ABEL-HDL语言的逻辑描述中,常语言的逻辑描述中,常量用于赋值语句、真值表和测试向量的表量用于赋值语句、真值表和测试向量的表达,有时也用于给某些标识符赋值,以使达,有时也用于给某些标识符赋值,以使该标识符在
8、整个模块的逻辑描述中代表该该标识符在整个模块的逻辑描述中代表该常量的值。常量的值。常量可以是数值常量,也可以是非数值常量可以是数值常量,也可以是非数值的特殊常量。的特殊常量。2022-7-27计算机组成原理1.5 块块 块是包含在一对大括号中的文本,它块是包含在一对大括号中的文本,它用于宏和指令。括号中的文本内容可以是用于宏和指令。括号中的文本内容可以是一行,也可以是多行。块可以嵌套,即块一行,也可以是多行。块可以嵌套,即块中包含块。如在块的文本的字符中包含了中包含块。如在块的文本的字符中包含了大括号,则应在其之前加上反斜杠。大括号,则应在其之前加上反斜杠。2022-7-27计算机组成原理例如
9、:例如:This is a block再如:再如:This is also a block,and it spans more than one line再如:再如:A=B#C D=0,1&1,02022-7-27计算机组成原理1.6 注释注释 注释是对源文件的解释,注释以双引注释是对源文件的解释,注释以双引号开始,以另一个双引号或行结束符号号开始,以另一个双引号或行结束符号结束,注释不能用于关键字之间。结束,注释不能用于关键字之间。例如:例如:“declaration section”module Basic_logic;”gives the module a name(回车回车)2022-
10、7-27计算机组成原理1.7 数字数字 ABEL-HDL中的所有的数值运算精度中的所有的数值运算精度都是都是32位,合法的数值范围是位,合法的数值范围是0232-1。数字可采用二进制、八进制、十进制数字可采用二进制、八进制、十进制或十六进制,它们分别以符号或十六进制,它们分别以符号b、o、d或或h表示,如不用符号则认为是十进制数。表示,如不用符号则认为是十进制数。在在ABEL-HDL中数字还可用字符表示,中数字还可用字符表示,在字符之前加上单引号后,即以字母在字符之前加上单引号后,即以字母ASCII码作为数值,例如码作为数值,例如a=h61,ab=h6162。2022-7-27计算机组成原理1
11、.8 字符串字符串 字符串用于标题、模块及选项的表达,字符串用于标题、模块及选项的表达,也用于管脚、节点和属性的定义,它包含在也用于管脚、节点和属性的定义,它包含在一对单引号中。如字符串中有单引号或反斜一对单引号中。如字符串中有单引号或反斜杠,则必须在它们之前再加一反斜杠。字符杠,则必须在它们之前再加一反斜杠。字符串可写几行,但不能超过串可写几行,但不能超过324个字符。如:个字符。如:TITLE 1 to 8 line demultiplexer;DMIP16L8;2022-7-27计算机组成原理1.9 运算符运算符 ABEL-HDL支持四类基本运算支持四类基本运算:逻辑运逻辑运算、算术运算
12、、关系运算及赋值运算。算、算术运算、关系运算及赋值运算。1.逻辑运算逻辑运算 (1)非非:!例例!A (2)与与:&例例 A&B (3)或或:#例例 A#B (4)异或异或$例例 A$B (5)同或同或 !$例例 A!$B2022-7-27计算机组成原理2.算术运算算术运算 (1)取负取负 -例例-A (2)加加 +例例A+B (3)减减 -例例A-B (4)乘乘(无符号整数无符号整数)*例例A*B (5)除除(无符号整数无符号整数)/例例A/B (6)取模取模(无符号整数无符号整数)%例例A%B (7)左移左移 例例A 例例AB2022-7-27计算机组成原理3.关系运算关系运算 关系运算为
13、无符号运算,其结果为位关系运算为无符号运算,其结果为位(布尔布尔值值)。(1)等于等于:=例例A=B (2)不等号不等号:!=例例A!=B (3)小于小于:例例AB (4)小于等于小于等于:=例例A 例例AB (6)大于等于大于等于:=例例A=B 例如例如:2=3 值为值为false 32 值为值为false2022-7-27计算机组成原理4.赋值运算赋值运算组合输出为(非时钟赋值)组合输出为(非时钟赋值)=寄存器输出为(时钟赋值)寄存器输出为(时钟赋值):=2022-7-27计算机组成原理2022-7-27计算机组成原理1.10 表达式和等式表达式和等式 表达式由标示符和运算符组成。在表达式
14、表达式由标示符和运算符组成。在表达式中可出现任何逻辑、算术或关系运算,表达式中可出现任何逻辑、算术或关系运算,表达式中的运算次序按运算优先级决定,也可加括号中的运算次序按运算优先级决定,也可加括号改变执行次序。改变执行次序。赋值运算仅用于等式,它将表达式的运算赋值运算仅用于等式,它将表达式的运算结果通过等式赋给输出信号结果通过等式赋给输出信号(包括组合赋值和包括组合赋值和时序时序(寄存器寄存器)赋值赋值)。一个信号可以被多次赋值,。一个信号可以被多次赋值,而其最终结果是所有这些赋值的或,而不是最而其最终结果是所有这些赋值的或,而不是最后一次的赋值。后一次的赋值。2022-7-27计算机组成原理
15、1.12 引脚和寄存器的特别说明引脚和寄存器的特别说明1.三态允许端三态允许端:.OE,它为,它为1有效,仅有效,仅 适用于引脚。适用于引脚。2.寄存器复位端寄存器复位端:.RS,它为,它为1有效有效3.寄存器置位端寄存器置位端:.PR,它为,它为1有效有效4.寄存器时钟寄存器时钟:.CLK,它为上跳触发,它为上跳触发5.JK触发器输入端触发器输入端:.J和和.K6.T触发器输入端触发器输入端:.T7.RS触发器输入端触发器输入端:.R和和.S8.D触发器输入端触发器输入端:.D也可使用也可使用:=2022-7-27计算机组成原理1.13 集合集合 集合是作为一个独立单元进行操作的一组集合是作
16、为一个独立单元进行操作的一组信号或常量。它采用一个标识符,用方括号内信号或常量。它采用一个标识符,用方括号内的一组信号或常量表示,其中的每一个信号或的一组信号或常量表示,其中的每一个信号或常量称为集合的元素。常量称为集合的元素。定义集合的方法有枚举法、界限符法或它定义集合的方法有枚举法、界限符法或它们的组合。例如们的组合。例如:ADD=A5,A4,A3,A2,A1,A0 为枚举法为枚举法 ADD=A5.A0 为界限符法为界限符法 ADD=A5,A4,A3.A0 为两种方法的组合为两种方法的组合 2022-7-27计算机组成原理 集合可以进行逻辑、加、减、关系运算。集合可以进行逻辑、加、减、关系
17、运算。逻辑运算是对集合中每一个元素作相应的运逻辑运算是对集合中每一个元素作相应的运算,因此如果需对两个或两个以上集合进行算,因此如果需对两个或两个以上集合进行运算时,这些参与运算的集合的元素数目必运算时,这些参与运算的集合的元素数目必须相同。但单个变量与集合进行逻辑运算为须相同。但单个变量与集合进行逻辑运算为该变量与集合的每个元素进行逻辑运算。加、该变量与集合的每个元素进行逻辑运算。加、减、关系运算为对整个集合执行该运算。减、关系运算为对整个集合执行该运算。2022-7-27计算机组成原理 例例:(ADD=h10)&(ADD=hA000)&(AddrX,Y)0,0-0,0 0,1-0,1 1,
18、0-0,1 1,1-1,0;End GATE2022-7-27计算机组成原理 在这个模块中有标头段、定义段、逻辑在这个模块中有标头段、定义段、逻辑描述段、测试向量段及结束语句段五部分组描述段、测试向量段及结束语句段五部分组成。成。在这五部分中,标头段为模块的开始在这五部分中,标头段为模块的开始;定定义段的定义部分指定或定义用于设计的器件、义段的定义部分指定或定义用于设计的器件、信号、常量宏和库信号、常量宏和库;逻辑描述段对所设计的逻逻辑描述段对所设计的逻辑进行功能描述辑进行功能描述;测试向量段写出了测试向量,测试向量段写出了测试向量,用以验证所设计的逻辑用以验证所设计的逻辑;结束语句段表示一个
19、结束语句段表示一个模块的结束。模块的结束。2022-7-27计算机组成原理 此外在模块中还允许有选择地加上一此外在模块中还允许有选择地加上一些指令。每一个模块只能有一个标头段,些指令。每一个模块只能有一个标头段,它与结束语句段配对使用,而定义段、逻它与结束语句段配对使用,而定义段、逻辑描述段、测试向量段则可以任意次序重辑描述段、测试向量段则可以任意次序重复,定义语句必须紧跟标头或定义段的关复,定义语句必须紧跟标头或定义段的关键字。键字。2022-7-27计算机组成原理2.2 标头段标头段 在例在例1中标头段如下中标头段如下:Module GATE Options_trace wave Titl
20、eexample of gate 标头段包括模块语句、选项和标题三个标头段包括模块语句、选项和标题三个元素组成。元素组成。2022-7-27计算机组成原理1.模块语句模块语句 模块语句是必不可少的,其作用是模块语句是必不可少的,其作用是命名模块并标志模块的开始,它与结束命名模块并标志模块的开始,它与结束语句配对使用,同时也可指出是否利用语句配对使用,同时也可指出是否利用哑元。哑元。2022-7-27计算机组成原理 模块语句的关键字是模块语句的关键字是Module,其格式其格式为为:Module modulename(dummy_arg,dummy_arg)其中其中modulename为命名模块
21、的合法标为命名模块的合法标识符,在本例中为识符,在本例中为GATE。dummy_arg是哑变量名称,如不利用哑是哑变量名称,如不利用哑变量则可以略去。变量则可以略去。2022-7-27计算机组成原理 若模块选用哑变量,则在使用语言处理若模块选用哑变量,则在使用语言处理程序处理模块时,可将真实变量传给模块。程序处理模块时,可将真实变量传给模块。哑变量可为模块引用。模块中,凡带有哑变量可为模块引用。模块中,凡带有“?”的哑变量,语法分析程序都用真实变量将的哑变量,语法分析程序都用真实变量将其替代。例:其替代。例:module my_example(A,B)C=?B+?A;end my_exampl
22、e2022-7-27计算机组成原理2.选项选项 选项为可选语句。其作用是语言处选项为可选语句。其作用是语言处理器控制源文件的处理。理器控制源文件的处理。选项的关键字是选项的关键字是Options,其格式,其格式为为 Optionsstingstring为选项字符串。为选项字符串。2022-7-27计算机组成原理3.标题标题 标题为可选语句,其作用是给出模块标题为可选语句,其作用是给出模块一个标题,此标题将作为语言处理程序所一个标题,此标题将作为语言处理程序所生的编程器下载文件及设计编制文件的题生的编程器下载文件及设计编制文件的题头。头。标题的关键字是标题的关键字是Title,其格式为,其格式为
23、:Titlestring string为标题字符串。为标题字符串。2022-7-27计算机组成原理2.3 定义段定义段 在例在例1中定义段如下中定义段如下:Declarations gate DEVICEGAL16V8;A,B PIN 1,2;X,Y PIN 18,17;定义段包括定义段关键字、器件定义定义段包括定义段关键字、器件定义、信号定义、常量定义、宏定义、库定义等信号定义、常量定义、宏定义、库定义等元素。元素。2022-7-27计算机组成原理 定义段的关键字是定义段的关键字是Declarations,后面可跟任何合法的定义语句。定义段后面可跟任何合法的定义语句。定义段的关键字允许定义段
24、可在源文件的任何的关键字允许定义段可在源文件的任何一部分进行定义。如定义语句紧跟标头一部分进行定义。如定义语句紧跟标头段,则可略去定义段关键字。段,则可略去定义段关键字。2022-7-27计算机组成原理1.器件定义器件定义 器件定义是可选项,它的作用是将模器件定义是可选项,它的作用是将模块中所使用的器件名与实际所采用的可编块中所使用的器件名与实际所采用的可编程逻辑器件联系起来。程逻辑器件联系起来。器件定义的关键字是器件定义的关键字是DEVICE,其格式,其格式为为 Device_id DEVICE real_device;2022-7-27计算机组成原理 此表达式中,此表达式中,device_
25、id为模块中所使为模块中所使用的器件名,在本例中为用的器件名,在本例中为gate。real_device为实际际所使用的某一个特定为实际际所使用的某一个特定可编程逻辑器件的型号,在本例中为可编程逻辑器件的型号,在本例中为GAL16V8。值得注意的是。值得注意的是device_id必须是必须是合法的文件名,因为编程器装载文件的文件合法的文件名,因为编程器装载文件的文件名由名由device_id加上扩展名加上扩展名“jde”产生的。产生的。2022-7-27计算机组成原理2.信号定义信号定义 信号定义包括了管脚定义、节点定义及信号定义包括了管脚定义、节点定义及属性定义。其作用是定义信号,并可选择和
展开阅读全文