收藏 分享(赏)

计算机组成原理实验_TEC-5实验指导书0.doc

上传人:gnk289057 文档编号:8158067 上传时间:2019-06-11 格式:DOC 页数:68 大小:2.33MB
下载 相关 举报
计算机组成原理实验_TEC-5实验指导书0.doc_第1页
第1页 / 共68页
计算机组成原理实验_TEC-5实验指导书0.doc_第2页
第2页 / 共68页
计算机组成原理实验_TEC-5实验指导书0.doc_第3页
第3页 / 共68页
计算机组成原理实验_TEC-5实验指导书0.doc_第4页
第4页 / 共68页
计算机组成原理实验_TEC-5实验指导书0.doc_第5页
第5页 / 共68页
点击查看更多>>
资源描述

1、TEC-5 计算机组成原理实验系统学生实验指导书2010 年 3 月2目 录第一章 TEC-5 计算机组成和数字逻辑实验系统介绍 .2第二章 ISPEXPERT 编程软件入门 .132.1 ISPEXPERT 使用概述 .132.2 建立由 ABEL-HDL 源文件组成的设计 162.3 建立由原理图源文件组成的设计 .202.4 混合设计及层次导航 .282.5 编译、模拟与器件适配 .292.6 下载 .32第 3 章 计算机组成原理实验 353.1 运算器组成实验 .353.2 双端口存储器原理实验 .383.3 数据通路组成实验 .403.4 常规型微程序控制器组成实验 .433.5

2、CPU 组成与机器指令执行周期实验 533.6 硬连线控制器的设计与调试(课程设计) .553第一章 TEC-5 计算机组成和数字逻辑实验系统介绍一、TEC-5 实验系统的特点1. 采用单板式结构、计算机模型采用 8 位,简单、实用。计算机模型分为数据通路、控制器、时序电路、控制台、数字逻辑实验区五部分。各部分之间采用可插、拔的导线连接。2指令系统采用 4 位操作码,容纳 16 条指令,已实现了加、减、逻辑与、存数、取数、条件转移、IO 输出和停机 8 条指令,指令功能非常典型。其他 8 条指令备用。3数据通路采用双端口存储器作为主存,实现了数据总线和指令总线双总线体制,体现了当代 CPU 的

3、设计思想。4运算器中 ALU 由 2 片 74181 实现。4 个通用寄存器由 1 片 ispLSI1016 组成,设计新颖。5控制器采用微程序控制器和硬连线控制器两种类型,体现了当代计算机控制器设计技术的完备性。6控制存储器中的微代码可以通过 PC 机下载,省去插、拔 EEPROM 芯片。7实验台上提供了一片在系统编程器件 ispLSI1032,学生在 PC 机设计好组合逻辑控制器方案后下载到 ispLSI1032 中,ispLSI1032 就构成了新的控制器。控制器的设计并实现对提高计算机综合设计能力会有很大帮助。ispLSI1032 也可用于数字逻辑和数字系统的设计。8控制台包含 8 个

4、数据开关,用于置数功能;16 个双位开关,用于置信号电平;控制台有复位和启动二个单脉冲发生器,有单拍、单步二个开关。控制台有 5 种操作:写存储器,读存储器,读寄存器,写寄存器,启动程序运行。9微程序控制器中的微代码输出、微地址总线、程序地址总线、数据总线、存储器地址总线、进位、双端口存储器的读、写冲突位 BUSYL#和 BUSYR#等都有指示灯,便于查看指令的执行过程。10数字逻辑和数字系统实验部分除上述可用的一片 ISP1032、16 个电平开关和 2 个单脉冲按钮(复位和启动)外,还有 12 个指示灯,11 个双列直插插座,5 个 8432编码驱动的数码管,1 个直接驱动的数码管, 1

5、个喇叭。时钟信号源有500KHz,50KHz,5KHz。11电源部分具有抗电源对地短路能力。二、TEC-5 实验系统的组成TEC-5 实验系统由以下几个部分组成:控制台数据通路控制器时序电路数字逻辑实验区电源模块4下面分别对各组成部分予以介绍。三、电源电源部分由一个电源、一个电源插座、一个电源开关和一个红色电源指示灯组成。电源通过四个螺钉安装在实验箱底部,它输出+5V 电压,最大负载电流 3A,具有抗+5V对地短路功能。电源插座用于接交流 220V,插座内装有保险丝。电源开关接通时,模块电源输出+5V ,红色指示灯点亮。四、时序发生器时序发生器产生计算机模型所需的时序和数字逻辑实验所需的时钟。

6、时序电路由一个 500KHz 晶振、 2 片 GAL22V10(U64、U66)、一片 74LS390(U65)组成。根据本机设计,执行一条微指令需要 4 个节拍脉冲 T1、T2、T3、T4,执行一条机器指令需要三个节拍电位 W1、W2、W3 ,因此本机的基本时序如下:MFT1T2T3T4W1W2W3 图 1. 基 本 时 序 图图中,MF 是晶振产生的 500KHz 基本时钟,T1、T2、T3、T4 是数据通路和控制器中各寄存器的节拍脉冲信号,印制板上已将它们和相关的寄存器相连。T1、T2、T3、T4既供微程序控制器使用,也供硬连线控制器使用。W1、W2、W3 只供硬连线控制器做节拍电位信号

7、使用。另外,供数字逻辑实验使用的时钟 50KHz 和 5KHz 由 MF 经一片74LS390 分频后产生。五、数据通路TEC-5 的数据通路采用了数据总线和指令总线双总线形式。它还使用了大规模在系统编程器件作为寄存器堆,使得设计简单明了,可修改性强。图 1.2 是数据通路总体图,下面介绍图中各个主要部件的作用。1运算器 ALU运算器 ALU 由两片 74LS181(U55 和 U60)组成,其中 U60 进行低 4 位运算,U55 进行高 4 位运算。在选择端 M 和 S0-S3 控制下,ALU 对数据 A、B 进行各种算术、逻辑运算。有关 74181 运算的具体操作,请看 74181 的资

8、料和教科书。当 LDRi=1 时,在 T3 的上升沿寄存器 C(U57A)保存运算产生的进位标志信号。52运算操作数寄存器 DR1 和 DR2(U47、U48 )DR1(U47)和 DR2(U48)是运算操作数寄存器,DR1 和 ALU 的 A 口相连,DR2 和ALU 的 B 口相连。DR1 和 DR2 各由一片 74LS273 构成。当 LDDR1/LDDR21 时,在T2 上升沿,DR1/DR2 接收来自通用寄存器堆 A/B 端口的数据。3双端口通用寄存器堆 RF(U30)双端口通用寄存器堆 RF 由一片 ispLSI1016(U30 )构成,其中包含 4 个 8 位寄存器(R0、 R1

9、、R2、R3) ,有三个控制端口:两个控制读操作,一个控制写操作,三个端口可以同时操作。由 RD1、RD0 选中的寄存器的数据从 A 端口读出,由 RS1、RS0 选中的寄存器的数据从 B 端口读出; WR1、WR0 选择要写入的寄存器。LDRi 控制写操作,当LDRi1 时,在 T3 上升沿将数据总线 DBUS 上的数据写入由 WR1、WR0 选中的寄存器。从 RF 的 A 端口读出的数据直接送 DR1。由 B 端口读出的数据直接送 DR2 之外,还可以送数据总线 DBUS。当 RS_BUS#0 时,允许 B 端口数据送 DBUS。4双端口存储器 RAM双端口存储器 RAM 由一片 IDT7

10、132(U44)及少量控制电路构成。IDT7132 是 2048 字节的双端口静态随机存储器,本实验系统实际使用 256 字节。IDT7132 的两个端口可以同时进行读、写操作。在本实验系统中,RAM 左端口连接数据总线 DBUS,可进行读、写操作;右端口连接指令总线 IBUS,输出到指令寄存器 IR,作为只读端口使用。IDT7132 有 6 个控制引脚,CEL# 、LR/W#、OEL#控制左端口读、写操作;CER#、 RR/W#、OER#控制右端口的读写操作。CEL#为左端口选择引脚,低电平有效;当 CEL#1 时,禁止对左端口的读、写操作。LR/W# 控制对左端口的读写,当 CEL#=0且

11、 LR/W#=1 时,左端口进行读操作;当 CEL#=0 且 LR/W#0 且 T2 为高时,左端口进行写操作。OEL# 的作用等同于三态门,当 CEL#=0 且 OEL#0 时,允许左端口读出的数据送到数据总线 DBUS 上;当 OEL#1 时,禁止左端口的数据放到 DBUS。为便于理解,在以后的实验中,我们将 OEL#引脚称为 RAM_BUS#。控制右端口的三个引脚与左端口的三个完全类似,不过只使用了读操作,在实验板上已将 RR/W#固定接高电平,OER#固定接地。当 CER#=0 时,右端口读出的数据(更确切的说法是指令)放到指令总线 IBUS 上,然后当 LDIR=1 时在 T3 的上

12、升沿打入指令寄存器 IR。所有数据/指令的写入都使用左端口,右端口作为指令端口,不需要进行数据的写入。左端口读出的数据放在数据总线 DBUS 上,由数据总线指示灯 DBUS7-DBUS0 显示。右端口读出的指令放在指令总线 IBUS 上,由指令总线指示灯 IBUS7-IBUS0 显示。5地址寄存器 AR 和程序计数器 PC存储器左端口的地址寄存器 AR(U53、U59)和右端口的地址寄存器 PC(U52、U45)都使用 2 片 74LS163,具有地址递增的功能。 PC 是程序计数器,提供双端口寄存器右端口地址,U52 是低 4 位,U45 是高 4 位,具有加载数据和加 1 功能。AR 是地

13、址寄存器,提供双端口存储器左端口地址,U53 是低 4 位,U59 是高 4 位,具有加载数据和加 1 功能。AR 中的地址用地址 AR 指示灯 AR7-AR0 显示,PC 中的地址用程序计数器 PC 指示灯PC7-PC0 显示。当 LDAR#0 时,AR 在 T2 时从 DBUS 接收来自 SW7 SW0 的地址;当AR1 1 时,在 T2 的上升沿存储器地址加 1。注意:LDAR#和 AR1 两个控制信号不能同时有效。在下一个时钟周期,令 CEL#0,LR/W# 0 ,则在 T2 节拍进行写操作,将6SW7SW0 设置的数据经 DBUS 写入存储器。当 LDPC#0 时,PC 在 T2 时

14、从 DBUS 接收来自 SW7 SW0 的地址,作为程序的启动地址;当一条机器指令开始执行时,取指以后,PC 11,程序计数器给出下一条指令的地址。注意:LDPC#和 PC1 两个控制信号不能同时有效。6指令寄存器 IR指令寄存器 IR 是一片 74LS273(U46) 。当 LDIR1 时,在 T3 的上升沿,它从双端口存储器的右端口接收指令。指令的操作码部分 IR7IR4 送往控制器译码,产生数据通路的控制信号。指令的操作数部分送往寄存器堆 RF,选择参与运算的寄存器。 IR1、IR0与 RD1、RD0 连接,选择目标操作数寄存器;IR3、IR2 与 RS1、RS0 连接,选择源操作数寄存

15、器。IR1、IR0 也与 WR1、WR0 连接,以便将运算结果送往目标操作数寄存器。表 1 机器指令系统指令格式名称 助记符 功能IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0加法 ADD Rd, Rs Rd + RsRd 0 0 0 0 Rs1 Rs0 Rd1 Rd0减法 SUB Rd, Rs Rd - RsRd 0 0 0 1 Rs1 Rs0 Rd1 Rd0逻辑与 AND Rd, Rs Rd CARRY 2;”indicates 2 bits width for arithmetic functions” Constantsc, x = .c. , .x.;” Inputs

16、clk , rclk , clr , d7d0 pin;” Outputspwm pin istype com;load pin istype com;” Nodesr7r0 node istype reg,buffer;” Sub-module declarationscounter interface( clk , rst - q7q0);”Sub-module interfacescntrl functional_block counter;21图 2.4 文本编辑窗口” Setscount = cntrl.q7q0;store = r7r0;Equationspwm = (count

17、store); ”Pulse-width Modulated”output is low until count goes beyond trl.clk = clk;cntrl.rst = clr;load = (count = 250); ”Time for next data byte.”Externally connect load”output to rclk inputstore.clk = rclk; ”Load data when count is equal to 250store := d7d0;END键入完成以后,检查有无输入错误的地方。改正出现的错误。单击文本编辑器内 F

18、ile 菜单下的 Save(保存) ,保存刚键入的名为 pwmdac.abl 的文件。单击 File 菜单下的 Exit,退出文本编辑器。这时项目导航器更新它的源文件窗口,指出已有一个用 ABEL-HDL 语言写成的名为 Pwmdac.abl 的源文件。过程窗口也被更新,指示出对这个源文件下一步的操作。有关这些操作,看本章 2.5 节。按照类似的方法,将第二个模块输入到计算机中。MODULE counter22TITLE 8-bits prelodable up counter;” Constantsc,x = .c. , .x.;” Inputsclk , rst pin;” Outputs

19、q7q0 pin istype reg,buffer;” Setscount = q7q0;Equationscount := (count.fb + 1);count.clk = clk;count.ar = rst;END键入上面两个源文件后,项目导航器源文件窗口将以缩进形式列出它们的名字,指示出这两个文件的层次:Pwmdac 是顶层模块,counter 是底层模块。2.3 建立由原理图源文件组成的设计ispEXPERT 软件包含一个原理图输入系统。一张原理图可以代表一个简单的逻辑电路(如一个与门) 、一个复杂元件或者一个顶层电路图。原理图是描述硬件结构的一种重要方式,具有直观、清晰、易于

20、掌握全局信号关系等优点,硬件设计工程师都熟悉它。一幅原理图相当于 ABEL-HDL 语言一个源文件,绝大多数情况下相当于一个模块(规范设计应当这样做,就象一个 ABEL-HDL 源文件最好只包括一个模块一样) 。它由以下几部分构成: 元件 它可以是标准器件库中的元件,也可以是代表其它原理图的功能块符号。对可编程器件而言,原理图上不包括电阻、电容,这与一般电原理图有所不同。 连线 用于连接器件。可以是单信号线,也可以是多根信号线的集合(总线) 。 I/O 标记 用于标记一幅原理图的输入、输出信号,以及信号的方向(输入、输出或者双向) 。 图片和文字 仅起说明和解释作用,对原理图代表的逻辑功能无实

21、际意义。一张有效的原理图至少应包括前三部分,即器件、连线和 I/O 标记。下文中为23叙述方便,用反斜杠()表示下拉式菜单的层次。例如 Fi1eNew 表示选择 File 子菜单中的 New 条目。2.3.1 进入原理图设计环境进入原理图设计环境的开始步骤与进入 ABEL-HDL 语言设计环境是一致的,如启动 ispEXPERT、建立新项目、建立一个新的源文件等工作,请参考上一节。在源文件形式选择对话窗中,选择 Schematic(原理图) ,则出现文件名对话框,键入原理图文件名(扩展名是.sch 或者不键入)后,单击保存按钮,则进入原理图编辑器。图 2.5 是一个原理图编辑窗口式样。窗口中有

22、一张空白原理图,原理图的文件名为DEMO。图 2.5 原理图编辑窗口2.3.2 安放元件所谓元件,既可以包括与、非门之类的简单器件,也可包括计数器之类的复杂器件,还包括用户自己定义的器件。在原理图编辑窗口的主菜单中选择 Add Symbo1(添加元件) ,会出现一个元件库窗口,如图 2.6。在元件库窗口中选择合适的库和元件(使其反白显示) ,然后移动光标,选中的元件会跟随光标移动。到达希望的位置后,单击鼠标左键,则安放该元件在原理图上。由于此元件仍附着在光标上,继续移动光标并单击鼠标左键,能将此元件安放在若干不同的地方。双击鼠标左键或者单击鼠标右键,会结束此元件的安放操作,不过仍处于添加元件命

23、令状态,直到另一个新命令开始,才结束此命令的执行。在原理图编辑器中,一般用开始新命令来结束旧命令的执行。使用 EditDupicate 命令能够将原理图的一个区域多次复制。启动 EditDuplicate 命令,24选中源域的一个角,按下鼠标左键拖动鼠标,直到虚线框形成的源域满意为止。松开鼠标左键,单击目标区位置一次,则源区被复制一次,双击鼠标左键或单击鼠标右键结束该源区的复制工作。ispEXPERT 提供算术运算库(ARITHS.LIB) 、逻辑门库(GATES.LIB)、输入输出缓存库(IOPADS.LIB) 、多路选择器库(MUXES.LIB )和寄存器库( REGS.LIB)等 15

24、个元件库。图 2.6 元件符号库下面以一个简单的例子说明元件的放置。图 2.7 元件的放置1. 从主菜单栏选择 Add,然后选择 Symbol,出现元件符号库。2. 选择 GATES.LIB 库,然后选择 G_2AND 元件符号。3. 将鼠标放在原理图上,注意 AND 门附着在光标上,并随之移动。单击鼠标左键,将 AND 门放在合适的位置。4. 继续移动光标,在第一个 AND 门下面,再放一个 AND 门。5. 单击鼠标右键,鼠标上附着的 AND 门消失,表示 AND 门放置结束。6. 选择 GATES.LIB 库中的 G_OR 元件,用同样的方法放在原理图的适当位置上。注意,步骤 5 可以省

25、略,选择新元件的开始即结束旧元件的选择。7. 选择 REGS.LIB 库中的 G_D 元件,并把它放在原理图的适当位置上,就构成了25图 2.7。2.3.3 连线连线是元件引脚之间的电连接线。连线只能与元件引脚相连,而不能把它和元件本身相连。连线分为单信号线和总线两种。总线能使多个信号形式上在一条线上传送,它使得原理图更简洁、清晰。原理图中的总线与数字系统中的概念不一样,它可以把若干无关的信号集中在一起,用一条总线传送。在原理图编辑窗口中使用 AddWire 命令和 AddNet Name 命令添加连线和连线名。启动 AddWire 命令,单击连线起点(某个元件引脚或另一条已有连线上的某点)

26、,就开始画一条连线。单击鼠标左键,可以弯折连线;双击左键或单击右键终止连线。若连线开始或结束于另一根连线,两根连线会自动连接。连线必须有名字。连线名在原理图编辑器和网表生成器中标识一条连线。如果用户不对连线显式命名,原理图编辑器会对连线自动命名。连线不允许悬空,必须连到某个元件引脚上,或者连到 I/O 标记上。所有输入/输出信号线必须连到 I/O 标记上,而且必须命名。对于模拟期间欲观察的内部信号线,也应对其命名。启动AddNet Name 命令,在屏幕底下的状态栏内输人连线名,并按 Enter 键确认;连线名附在光标上;移动光标到目的地,单击鼠标左键,连线名标注在连线旁边。如果连线名以数字为

27、后缀,除键入连线名外,最后多键入一个加号(+) ,则可命名一组连续的连线名。例如键入 end0+后,则会自动生成 end1、end2。ispEXPERT 软件对字母大小写敏感,因此在它处引用连线名时,大小写应注意一致。用复合名命名一条连线使连线定义为总线。复合名的格式是:总线名序号表 。一种序号表是标明起始序号和终止序号的下标范围。起始序号和终止序号用冒号(:)分开,如 data3:0。另一种序号表是用逗号分开的序号,如 addr1,3,2,5,0。从一张原理图到另一张原理图需传递大量信号时,总线特别有用。总线使得单个 I/O标记传送大量信号到另一张原理图。信号名称并不需要一致,但是 I/O

28、标记中包含的引脚数必须与总线所含信号数相同。下面给图 2.7 中的元件加上连线。1. 选择 Add/Wire,启动连线命令。2. 单击上面一个 AND 门的输出引脚(小方框) ,开始画连线。水平移动鼠标,光标到达 OR 门引脚上方时,单击左键,弯折连线,继续移动光标到 OR 门的引脚,单击鼠标左键,则在 AND 门的输出引脚和 OR 门的输入引脚之间形成了一条连线。3. 重复上述动作,将相应的连线画出,则形成了图 2.8。26图 2.8 加连线4. 安放 I/O 标记I/O 标记表示进入或者离开这张原理图的信号,即输入、输出或者双向信号。安放 I/O 标记之前,连线名必须在连线的一个端点上,不

29、能在连线的上边或下边。输入连线名后,点击线头(一个小方框)则将连线名放在线端。有一同时添加连线和连线名的简单方法:输入连线名后,将光标移到一个元件引脚或连线的某一点上,按住鼠标左键并拖到合适位置再松开,这样就产生了一根新连线,连线名就在新连线的端点上。启动 Add I/O 标记命令,选择合适的 I/O 属性(输入、输出或双向。属性 None 为取消 I/O 标记) ,单击连线线头,则安放相应的 I/O 标记。连线名出现在I/O 标记内部,表示是一个进出该模块的信号。对于一个可编程器件整体而言,进出此器件的信号连接到 I/O 标记时,需要经过 I/O 缓存器(I/O PAD) 。ispEXPER

30、T 元件库中提供 5 种 I/O 缓存器,它们是输入缓存器、输出缓存器、双向缓存器、时钟缓存器和三态缓存器。连线名“GND”表示连线接地。不过应避免使用 VCC 信号名,必要时用 GND加上反向器来代替。下面给图 2.8 加 I/O 缓存和 I/O 标记,形成图 2.9。图 2.9 加 I/O 缓存和 I/O 标记1. 选择 AddSymoble,启动放置元件命令。2. 选择 IOPADS.LIB 库中的 G_OUTPUT,放置一个输出缓存在原理图上。3. 选择 IOPADS.LIB 库中的 G_INPUT,放置 4 个输入缓存在原理图上。4. 选择 IOPADS.LIB 库中的 G_CLKB

31、UF,放置 1 个时钟缓存在原理图上。5. 将 I/O 缓存和有关元件之间的连线连好。6. 选择 AddNet Name,此时屏幕下方的状态栏给出提示信息,提示设计者输入连线名,输入“A” ,然后按 Enter(回车)键,连线名则附着在光标上。将光标移动到最上面的 AND 门输入的末端(小方框) ,按住鼠标左键,这样就可以在放置连线名“A ”时也画出一根输入线。7. 用同样的方法,放置连线名“B” 、 “C”、 “D”、 “CLK”、 “OUT”。8. 选择 AddI/O Marker,此时屏幕上出现一个对话框,选择 Input 项。将光标移到输入连线的末端(位于连线和连线名之间) ,单击鼠标

32、左键,这时则出现一个 I/O 输入标记,I/O 标记中有一个连线名。用此方法给连线名A、B、C 、D 、CLK 加上 I/O 输入标记。9. 选择 I/O Marker 对话框中的 Output 项,给连线名 OUT 加上 I/O 输出标记。5. 定义属性属性描述元件、引脚和连线的相关特性。在可编程器件设计中,有两种类型的27属性:元件属性和连线属性。启动 Add SymboI Attribute(元件属性) 、Add Pin Attribute(引脚属性)或 Add Net Attribute(连线属性)命令,会弹出相应的属性编辑对话框;单击需要定义属性的元件、元件引脚或连线,对话框内会出现

33、一系列可供选择的属性;选择合适的属性并进行编辑,即可定义属性。Lattice 公司发行ispEXPERT 软件时定义了元件的缺省属性。I/O 引脚的编号是需要修改的属性之一。锁定 I/O 引脚的编号时,首先启动 Add Symbol Attribute;然后单击元件 I/O PADS ,最后在属性编辑对话框中,修改“SynarioPin=”项为所需的编号。下面给图 2.9 中的输入信号加上引脚号。1. 选择 EditAttributeSymbol Attribute,屏幕上出现元件属性编辑对话框。图 2.10 元件属性编辑对话框2. 将光标移到一个需定义引脚的 I/O 缓存上,单击鼠标左键,对

34、话框内会出现一系列可供选择的属性。3. 选择 Synirio Pin 属性,并把文本框内的 “*”改为希望的引脚号,例如 “3”。然后点击“Go To”按钮,数字“3”出现在需要定义的 I/O 缓存内。照此办法,定义图 2.9 中的所有输入引脚号。然后关闭元件属性编辑对话框。图 2.11 完成的设计图4. 至此,一个简单的但是完整的原理图设计已经完成,如图 2.11 所示。执行FileSave,命令,保存设计,然后再执行 FileExit 命令,退出原理图编辑器。2.3.6 自定义元件模块一个逻辑系统,往往由若干个功能模块构成。由于 ispEXPERT 提供的元件库只28是一些最基本的逻辑模块

35、,用它们来构成整个设计不仅过于复杂,而且功能上也显得不够清楚。ispEXPERT 支持模块化层次结构设计。一个原理图文件可以由若干个功能模块构成,每个功能模块又可以由若干个更低一层的功能模块构成。设计原理图文件过程中,常常需要建立一些功能模块(自定义元件) 。建立自定义元件在原理图编辑器内进行。启动 Add New Block Symbo1,会出现一个新建元件对话框。填入元件的名称、输入输出与双向引脚的名称(注意大小写) ,点击 Run 按钮,然后移动光标(新建元件附着光标移动) ,到达目标位置单击鼠标左键,新建元件即被安放在原理图上。同时该元件被存入 Local 元件库。新建自定义元件要求确

36、定模块的输入输出引脚。设计者事先应有整体统筹安排。下面通过一个例子说明如何自定义元件及如何与低层的设计接口。假定整个设计是一个 8 位计数器,它由两个 4 位计数器构成,每个 4 位计数器由 4 个 D 触发器构成。1. 进入原理图编辑程序。2. 选择 Add New Block Symbo1,出现一个新建元件对话框。3. 在 Block Name 项填入器件名“CNT” ,在 Input Pins 项填入“CLK,RST” ,在 Output Pins 项填入“Q0,Q1,Q2,Q3” 。引号不填入,输入引脚名之间用逗号分开,输出引脚名之间也用逗号分开。点击 RUN 按钮,然后移动光标,到达

37、目标位置单击鼠标左键,将新建元件放在原理图上。继续移动光标,在第一个 CNT 的下面放上第二个 CNT。单击鼠标左键,结束用户自定义器件的放置。4. 在原理图上放 I/O PAD,连线,加连线名,放 I/O 标记,形成图 4.13。5. 执行 FileSave,命令,保存设计,然后再执行 FileExit 命令,退出原理图编辑器。图 2.12 新建元件对话框6. 退出原理图编辑器后的项目导向器如图 2.14。源文件窗口中的源文件名前有一红色的?号,指示出该文件还未产生,不知它是何种类型的文件。29图 2.13 含有自定义元件的原理图下面生成一个文件名为 CNT 的原理图。1. 双击源文件名 C

38、NT,进入文件类型对话框,选择 Schematic(原理图)类型,点击 OK 按钮,原理图编辑器被加载,且出现一个对话框。在文件名内填入 CNT。点击保存按钮后,屏幕上出现原理图编辑器。2选择 AddSymbol,然后选择 REGS 库中的 G_DC 元件,放四个带清除端的D 触发器在原理图上。选择 GATES 库中的 G_INV,放 4 个非门在原理图上,(CTL+R 改变元件方向) ,进行连线,构成 1 个 4 位计数器。30图 2.14 退出原理图编辑器后的项目导航器3. 在原理图上加上 Q0、Q1、Q2 、Q3 、CLK、RST 连线名,然后加上相应的输入、输出标记,形成一个与图 2.

39、13 中自定义元件 CNT 引脚对应的计数器图 2.15。注意,输入、输出引脚名一定要与自定义元件一一对应。图 2.15 底层的 4 位计数器在原理图编辑器中使用 FileSheet Setup 命令能够改变图纸尺寸。如果不使用层次设计,而采用多页设计,可以使用 FileSheet Setup 命令改变原理图模块的图纸张数。以上扼要介绍了原理图的最基本操作。原理图编辑功能很强,这仅算入门。所有命令在执行时,通过按 F1 键,可得到对该命令的详细英文解释。2.4 混合设计及层次导航简单设计用一个 ABEL-HDL 模块,或者一张原理图就能描述。但复杂设计往往要分成若干个模块(功能块)来描述。某些

40、模块用 ABEL-HDL 语言描述合适,而另一些模块用原理图描述更好,ispEXPERT 支持这种混合设计方法。顶层模块用原理图能直观、清晰描述全局。一个设计到底用哪种方式,取决于设计者的爱好和习惯,以及对各种设计方式的熟悉程度,很难比较优劣。在 ABEL-HDL 语言中,高层模块通过 interface 语句规定与低层模块的接口,低层模块用 interface 语句或直接用关键字 pin 说明的输入、输出引脚作为对高层模块的接口。在原理图中,高层模块用自定义元件规定对低层模块的接口,低层模块用I/O 标记标识的输入/输出引脚作为对高层模块的接口。无论何种接口形式,高层对低层接口信号与低层对高层接口信号必须同名。2.4.1 选择自定义元件的源文件形式在原理图编辑器中建立了自定义元件后,保存当前原理图,退出原理图编辑窗口,返回项目导航器主画面。源文件窗口中,在刚编辑过的原理图文件名下,新添了一个文件,文件名是自定义元件名。它的图标为一个红色问号,表示是一个空文件。双击该文件名,弹出 New Source 对话框,列出可供选择的文件形式。对于自定义元

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报