




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机组成原理课程设计(ver 3.1)杨宏雨 黄贤英 陈媛 计算机科学与工程学院2007年7月1、课程设计目的22、仪器设备23、基于微控器的模型机设计部分23.1、设计步骤23.2、准备知识43.3、设计内容4题目一:设计一个具有带进位加法和立即数寻址方式的模型机4题目二:设计一个具有带进位加法和条件跳转的模型机4题目三:设计一个具有循环左移功能的模型机4题目四:设计一个具有带借位减法和存储功能的模型机44、可编程逻辑器件设计部分44.1、设计步骤44.2、准备知识44.3、设计内容4题目五:利用cpld设计一个并行加法器4题目六:阵列乘法器设计4题目七:硬联控制器设计45、具有中断处理功能的模型机设计45.1、设计内容45.2、准备知识45.3、设计步骤46、课程设计任务及要求47、考核办法48、参考资料49、附录4附录1(数据通路):4附录2(系统连线参考图)4附录3(实验系统主要单元电路)4附录4(ispdesignexpert软件使用)4viii.把设计适配到lattice器件中4ix.层次化操作方法4计算机组成原理课程设计1、课程设计目的通过对一个简单计算机的设计,对计算机的基本组成,部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,在此基础上完成一台基本计算机的组成设计,从而加深对理论课程的理解,锻炼学生的独立思考和动手能力。2、仪器设备硬件环境为pc-386以上微机,西安唐都科教仪器公司的tdn-cm+计算机组成原理实验台。软件环境采用windows操作系统,西安唐都科教仪器公司的tdn-cm+计算机组成原理实验软件。3、基于微控器的模型机设计部分3.1、设计步骤设计一台完整的计算机,大致需按如下的顺序来考虑:(1) 确定设计目标确定所设计计算机的功能和用途。(2) 确定指令系统确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式,并给出具体的编码,比如指令的操作码,地址码等的位数及各种编码的含义。(3) 确定总体结构(寄存器、加法器、选择器的设置与数据通路的设计)总体结构设计包含确定各部件设置以及它们之间的数据通路结构。在此基础上,就可以拟出各种信息传输路径,以及实现这些传输所需要的微命令。对于部件设置,比如要确定运算器部件采用什么结构,控制器是微程序控制还是硬联控制等。综合考虑计算机的速率、性能价格比、可靠性等要求,设计合理的数据通路结构,确定采用何种方案的内总线及外总线。数据通路不同,执行指令所需要的操作就不同,计算机的结构也就不一样。(4) 设计指令执行流程数据通路确定后,就可以设计指令系统中每条指令的执行流程。根据指令的复杂程度,确定每条指令所需要的机器周期数。对于微程序控制的计算机,根据总线结构,需考虑哪些微操作可以安排在同一条微指令中,哪些微操作不能安排在同一条微指令中。(5) 确定微程序地址确定后续微地址的形成方法,确定每个微程序地址及分支转移地址,画出微程序流程图。(6) 微指令代码化根据微指令格式,将微程序流程图中的所有微指令代码化。首先写出每个微地址以及该地址对应的微指令代码(共24位二进制信息),如下表所示:其中:微地址表示控制存储器的地址,后面的24位表示微指令。然后将每个微地址和对应的微指令转换成16进制,并写在一行,格式为:$m*,前面2个*表示该微指令的在微控制器中的地址,后面6个*表示该微指令代码。如上述表中的四条微指令写成:$m00018110:表示在控制存储器地址00h处的代码是018110h。$m0101ed82:表示在控制存储器地址01h处的代码是01ed82h。$m0200c048:表示在控制存储器地址02h处的代码是00c048h。$m0300e004:表示在控制存储器地址03h处的代码是00e004h。(7) 编写工作程序并代码化编写测试用的工作程序(注:测试程序要能覆盖设计的所有指令),并写出内存映像,用二进制表示。然后代码化用16进制来表示,格式为:$p*,前面2个*表示该内存的地址,后面2个*表示该地址的数据。例如:$p0044:表示在内存地址00h处的数据是44h。$p0146:表示在内存地址01h处的数据是46h。(8) 联机操作文件的建立为了从pc机下载工作程序和微程序,需要建立联机操作文件,该文件是普通的文本文件,扩展名为txt,可用记事本来建立的,要求:a、 测试用的工作程序排在文件的前面,每个内存地址及代码占一行;b、 微指令代码排在文件的后面,每个微地址及微指令代码占一行;例如,下面是一个实验的文件(文件名:sample.txt):$p0044$p0146$p0298$m00018108$m0101ed82$m0200c050(9) 连接实验线路根据附录2的线路图连接模型机实验线路。(10) 系统与pc机联机实验系统安装有一个标准的db型9针rs-232c串口插座,使用配套的串行通信电缆分别插在实验系统及pc机的串口,即可实现系统与pc机的联机操作。(11) 下载工作程序和微程序使用唐都软件将工作程序和微程序下载到实验箱的内存和控制存储器中。其中,自带电源线的实验箱用ncmp53软件,启动软件后使用f4装载进行下载;外接电源线的实验箱用cmpp软件,启动软件后在菜单中选择转储/装载进行下载。(12) 调试(调试时用的测试数据要包括普通数据及临界点数据)在总调试前,先按功能模块进行组装和分调,因为只有各功能模块工作正常后,才能保证整机的正常运行。可以使用控制台命令swa、swb的不同取值,或使用联机软件检查内存程序是否正确,微程序是否正确。当所有功能模块都调试正常后,进入总调试。可以使用单步微指令方式执行工作程序,也可以直接使用连续方式执行程序。在执行过程中,可以通过联机软件的数据通路图查看信息在计算机中的传送路径,更有利于掌握数据的通路结构。这样也可以直接验证程序和微程序的正确性。如果运行结果不正确,需要返回来修改程序或微程序,每次修改后,需要重新完成第11步,将程序和微程序下载到实验箱中。3.2、准备知识微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制硬件逻辑部件工作的微命令序列,以完成数据传输和各种处理操作。它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,该存储器称为控制存储器。(1)tdn-cm+计算机组成原理实验台主要单元电路见附录三。(2)微程序控制电路微程序控制电路如图1所示。其中控制存储器采用3片2816e2prom,具有电保护功能,微命令寄存器18位,用两片8d触发器(273)和一片4d(175)触发组成。微地址寄存器6位,用三片正沿触发的双d触发器(74)组成,它们带有清“0”端和预置端。在不判别测试的情况下,t2时刻打入微地址寄存器的内容即为下一条微指令地址。当t4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强制将某一触发器置为“1”状态,完成地址修改。在该实验电路中设有一个编程开关(位于实验板右上方),它具有三种状态:prom(编程)、read(校验)、run(运行)。当处于“编程状态”时,学生可根据微地址和微指令格式将微指令二进制代码写入到控制存储器2816中。当处于“校验状态”时可以对写入控制存储器中的二进制代码进行验证,从而可以判断写入的二进制代码是否正确。当处于“运行状态”时,只要给出微程序的入口微地址,则可根据微程序流程图自动执行微程序。图中微地址寄存器输出端增加了一组三态门,目的是隔离触发器的输出,增加抗干扰能力,并用来驱动微地址显示灯。图1:微程序控制电路(3)微指令格式微指令字长共24位,其控制位顺序如下表所示:a字段b字段c字段151413选择121110选择987选择000000000001ldri001rs-b001p(1)010lddr1010rd-b010p(2)011lddr2011ri-b011p(3)100ldir100299-b100p(4)101load101alu-b101ar110ldar110pc-b110ldpc表中ua0ua5为6位的下一条微指令的地址,a、b、c为3个译码字段,分别由三个控制位译码出多位。c字段中的p(1)p(4)是四个测试字位。其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,其原理如图2所示。图中i7i2为指令寄存器的72位输出,se5se1为微控器单元微地址锁存器的强制端输出。ar为算术运算是否影响进位及判零标志控制位,其为零有效。b字段中的rs-b、r0-b、ri-b分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令进行三个工作寄存器r0、r1及r2的选通译码,其原理图如图3所示,图中i0i3为指令积存器的第03位,ldri为打入工作寄存器信号的译码器使能控制位。图2:指令译码电路图3: 寄存器译码(4)控制台为了向ram中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。 存储器读操作(krd):拨动总清开关clr后,控制台开关swb、swa为00时,按start微动开关,可对ram连续手动读操作。 存储器写操作(kde):拨动总清开关clr后,控制台开关swb、swa置为01时,按start微动开关可对ram进行连续手动写入。 启动程序:拨动总清开关clr后,控制台开关swb、swa置为1l时,按start微动开关,即可转入到第01号“取址”微指令,启动程序运行。上述三条控制台指令用两个开关swb、swa的状态来设置,其定义如下:swbswa控制台指令00读内存(krd)01写内存(kwe)11启动程序(rp)控制台操作微程序如图4所示:控制台操作为p(4)测试,它以控制台开关swb、swa作为测试条件,出现了三路分支,占用三个固定微地址单元。当分支微地址单元固定后,剩下的其他单元就可以一条微指令占用控制存储器一个微地址单元,其单元地址随意填写。注意:微程序流程图上的单元地址为八进制。图4控制台操作微程序流程图3.3、设计内容题目一:设计一个具有带进位加法和立即数寻址方式的模型机1、设计内容:设计一台具有输入、输出、带进位加法、存储和跳转功能的模型计算机,并写出工作程序和测试数据验证所设计的指令系统。2、设计要求所设计模型计算机的指令系统共包含五条机器指令:in(输入)、out(输出)、adc(带进位加法)、sta(存数)、jmp(无条件转移),加法指令的寻址方式为立即数寻址。其中in指令为单字长(8位),其余为双字长指令。使用r0寄存器作为工作寄存器。提示:模型机的指令系统及指令格式如下(前4位为操作码):助记符机器指令码说明inxxxx0000“inputdevice”中的开关状态r0adcimmxxxx0000xxxxxxxxro+imm+cyr0staaddrxxxx0000xxxxxxxxroaddroutaddrxxxx0000xxxxxxxxaddrledjmpaddrxxxx0000xxxxxxxxaddrpc立即数在机器指令码中以补码形式出现。题目二:设计一个具有带进位加法和条件跳转的模型机1、设计内容设计一台具有输入、输出、数据传送、带进位加法、条件跳转,停机功能的模型计算机,并写出工作程序和测试程序验证所设计的指令系统。2、设计要求所设计模型计算机的指令系统共包含六条机器指令:in(输入)、adc(带进位加法)、out(输出)、bzc(条件转移)、mov(数据传送)、halt(停机),其中条件转移指令的寻址方式为直接寻址,其余指令的寻址方式为寄存器寻址。提示:模型机的指令系统及指令格式如下(前4位为操作码):助记符号指令格式功能movrs,rdxxxxrsrdrsrdadcrs,rdxxxxrsrdrs+rd+cyrdbzcd00000000d当cy=1或z=1时,dpc否则,顺序执行inrdxxxx01rdinputdevicerdoutrdxxxx10rdrdoutputdevicehaltxxxx0000停机其中,rs为源寄存器,rd为目的寄存器,并规定:rs或rd选定的寄存器000110r0r1r2题目三:设计一个具有循环左移功能的模型机1、设计内容设计一台具有输入、输出、数据传送、带进位加法,循环左移、停机等功能的模型机,并写出工作程序和测试程序验证所设计的指令系统。2、设计要求所设计模型计算机的指令系统共包含六条机器指令:in(输入)、adc(带进位加法)、out(输出)、rlc(循环左移)、mov(数据传送)、halt(停机),各条指令的寻址方式为寄存器寻址,且都为单字节指令。提示:本模型机中各条指令的格式和功能如下:助记符号指令格式功能mov rs,rdxxxxrsrdrsrdadc rs,rdxxxxrsrdrs+rd+cyrdrlcxxxxrsrdin rdxxxx01rdinput devicerdout rdxxxx10rdrdoutput devicehaltxxxx0000停机其中,rs为源寄存器,rd为目的寄存器,并规定:rs或rd选定的寄存器000110r0r1r2题目四:设计一个具有带借位减法和存储功能的模型机1、设计内容设计一台具有输入、输出、数据传送、带进位减法,存数、取数等功能的模型机,并写出工作程序和测试程序验证所设计的指令系统。2、设计要求所设计模型计算机的指令系统共包含六条机器指令:in(输入)、out(输出)、sbc(带借位减法)、lda(取数)、sta(存数)、mov(数据传送),其中存数、取数指令的寻址方式为间接寻址。提示:本模型机中各条指令的格式和功能如下:助记符号指令格式功能mov rs,rdxxxxrsrdrsrdadc rs,rdxxxxrsrdrs+rd+cyrdlda d,rd000100rdd(d)rdsta d,rd000101rddrd(d)in rdxxxx01rdinput devicerdout rdxxxx10rdrdoutput device其中,rs为源寄存器,rd为目的寄存器,并规定:rs或rd选定的寄存器000110r0r1r24、可编程逻辑器件设计部分4.1、设计步骤采用ispdesignexpert软件来对可编程逻辑器件进行编程设计实现所需的数字系统功能一般要经过如下步骤:(1) 建立新工程(2) 输入原理图或硬件描述语言进行设计(3) 对源程序进行编译(4) 连接下载电缆(5) 将生成的jed文件下载到可编程逻辑器件中(6) 连接实验电路(7) 在实验板上验证所设计系统的逻辑功能4.2、准备知识pld是可编程逻辑器件(programablelogicdevice)的简称,pld是电子设计领域中最具活力和发展前途的一项技术,它的影响丝毫不亚于70年代单片机的发明和使用。pld能做什么呢?可以毫不夸张的讲,pld能完成任何数字器件的功能,上至高性能cpu,下至简单的74电路,都可以用pld来实现。pld如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在pcb完成以后,还可以利用pld的在线修改能力,随时修改设计而不必改动硬件电路。使用pld来开发数字电路,可以大大缩短设计时间,减少pcb面积,提高系统的可靠性。pld的这些优点使得pld技术在90年代以后得到飞速的发展,同时也大大推动了eda软件和硬件描述语言(hdl)的进步。当前应用广泛的有复杂可编程逻辑器件(cpld)和现场可编程门阵列(fpga)等。目前有多家公司生产cpld/fpga,最大的三家是:altera,xilinx,lattice。许多pld公司都还提供免费试用软件,如altera公司的maxplus2(baseline版或e+max版),xilinx公司的webpack,lattice的ispdesignexpert等。实验系统中采用的器件是lattice公司的isplsi1032芯片,isp芯片具有“在系统可编程功能”,这种功能可随时对系统进行逻辑重构和修改,而且只需要一条简单的编程电缆和一台pc机就可以完成器件大编程。isplsi1032芯片的等效逻辑门为6000门,具有128个宏单元,192个触发器和64个锁存器,共有84个引脚,isplsi1032芯片的结构图如图5所示。图5isplsi1032芯片结构图对该器件的逻辑系统设计是通过使用硬件描述语言或原理图输入来实现的,硬件描述语言有abel、vhdl等多种语言。实验系统中可采用ispdesignexpert软件来对可编程逻辑器件ispls1032进行编程设计实现。ispdesignexpert可采用原理图或硬件描述语言或这两种方法的混合输入共三种方式来进行设计输入,并能对所设计的数字电子系统进行功能仿真和时序仿真。其编译器是此次软件所需要的熔丝图文件。该软件支持所有lattice公司的isplsi器件。下载电缆的连接方法如下:在打开pc机和实验系统的电源之前,将下载电缆的一端与pc机的并行口相连,另一端与tdn-cm+系统的isplsi1032器件的编程接口相连。ispdesignexpert软件的使用见附录4。4.3、设计内容题目五:利用cpld设计一个并行加法器1、设计内容使用大规模可编程逻辑器件cpld设计实现一个4位并行进位加法器,并验证设计的正确性。2、设计要求采用ispdesignexpert软件来对可编程逻辑器件isplsi1032进行编程设计,要求用原理图输入方式来进行设计输入,并对所设计的加法器进行功能和时序仿真,最后在西安唐都科教仪器公司的tdcm+计算机组成原理实验台上验证所设计器件的逻辑功能。提示:在实验台上进行逻辑功能验证时,可以借助使用inputdevice单元输入加数和被加数,进位输入可由switchunit单元的一个开关来给出,可用总线单元的发光二极管来显示运算结果。题目六:阵列乘法器设计1、设计内容使用大规模可编程逻辑器件cpld设计实现一个4*4位不带符号乘法器,并验证设计的正确性。2、设计要求采用ispdesignexpert软件来对可编程逻辑器件isplsi1032进行编程设计,要求用vhdl语言编写功能描述程序,并对所设计的乘法器进行功能和时序仿真,最后在西安唐都科教仪器公司的tdcm+计算机组成原理实验台上验证所设计器件的逻辑功能。提示:对于一个4*4位二进制数相乘,有如下算式:在实验台上进行逻辑功能验证时,可以借助使用inputdevice单元输入乘数和被乘数,而相乘的结果可在outputdevice单元中的数码管中以十六进制形式显示。题目七:硬联控制器设计1、设计内容使用大规模可编程逻辑器件cpld设计一个简单的硬联控制器,实现下面表中三条指令,用开关置不同的指令,触发时序,就可以实现不同的指令操作。指令码操作说明0 0input device dr1将数据开关中的数打入工作寄存器dr2中,并由output device中的数码管来显示0 1input device dr2将数据开关中的数打入工作寄存器dr2中,并由output device中的数码管来显示1 0dr1+dr2 output device将运算器中dr1加dr2的运算结果打入输出单元output device中的数码管并显示2、设计要求采用ispdesignexpert软件来对可编程逻辑器件isplsi1032进行编程设计,要求用vhdl语言编写程序,并在西安唐都科教仪器公司的tdcm+计算机组成原理实验台上验证所设计器件的逻辑功能。提示:用cpld设计此控制逻辑的功能描述,各控制信号在isplsi1032中对应的引脚可参考如下:有三个部件需要控制:alu、inputdevice和outputdevice。它们的控制信号由指令码i1、i0和时序信号t4、t3、t2、t1组合产生。编程所实现的功能就是根据这些输入信号产生实现不同的指令时这三个部件所需要的控制信号。下面连线图可供参考:5、具有中断处理功能的模型机设计5.1、设计内容在构成一台完整模型机的基础上,外扩一片8259接口芯片,完成中断处理功能。要求本模型机设计九条基本指令及三个控制台操作指令,各条指令的格式和功能如下:其中d为立即数,p为外设的端口地址:rs为源寄存器,rd为目的寄存器,并规定如下:rs或rd选定的寄存器000110r0r1r2三个控制台指令用两个开关swa、swb的状态来设置,定义如下:swbswa控制台指令00读内存(krd)01写内存(kwe)11启动程序(rp)5.2、准备知识8259芯片引脚分配如下图所示:l d7-d0为双向三态数据线。l 为片选信号线。l a0用来选择芯片内部不同的寄存器,通常接至地址总线的a0。l 为读信号线,为低电平有效,当其有效时,控制信息从8259芯片读至cpu。l 为写信号线,为低电平有效,当其有效时,控制信息从cpu写入至8259芯片。l /用来从程序/允许缓冲。l 为中断响应输入。l int为中断输出。l ir0-ir7为八条外界中断请求输入线。l cas2-cas0为级连信号线、a0、d4、d3位的电平与8259芯片的操作关系如下表所示。a0d4d3操作01001100输入操作(读)irr,isr或中断级别-数据总线imr-数据总线0001001x01xx111100000000输出操作(写)数据总线-ocw2数据总线- ocw3数据总线- ocw1数据总线- ocw1,icw2, icw3, icw4xxxxxx1x1x01断开功能数据总线-三态(无操作)数据总线-三态(无操作)提示:根据指令系统要求,设计微程序流程及确定微地址,可参考下图所示:本设计需要端点保护,需设置一个堆栈,可设r2寄存器专门做堆栈指针。设计中cpu还需要一个inta信号、icf指令执行完成标志,可以由微代码中的m23、m24位来定义。将alu的控制信号s3、s2、s1、s0简化为只有s1、s0控制,而alu单元的s3、s2、s1、s0均由cpld输出。lddr2控制信号也简化掉。这样,微指令格式可按下表所示设计。其中,m24为icf标志,m23为inta信号,其为高电平有效,a字段原来的lddr2由ldr2代替,r2-b代替b字段原ri-b。2423222120191817161514131211109 8 7654321icfs1s0mcnwea9a8abca5a4a3a2a1a0a字段b字段c字段151413选择121110选择987选择000000000001ldri001rs-b001p(1)010lddr1010rd-b010p(2)011ldr2011r2-b011p(3)100ldir100299-b100p(4)101load101alu-b101ar110ldar110pc-b110ldpc本设计还要增加中断响应,所以指令译码电路需重新设计。它们全部用一片cpld芯片描述。相应的原理图如下所示:指令译码电路寄存器译码其中指令译码电路全由cpld来描述。而寄存器译码是在logunit单元的译码电路的基础上,增加一个或门,即logunit单元输出的ldr2和微代码的ldr2(原微代码a字段的lddr2位)相或后的输出ldr2,这个或门是由cpld描述的。5.3、设计步骤(1) 用abel语言编写上述设计的中断响应及指令译码电路逻辑,其在cpld的1032芯片中的相应引脚分配可参考下图。(2) 参考接线图如下图所示。接至switchunit单元的swb开关为中断请求信号,为高电平有效。(3) 根据微指令格式,参照微程序流程图,将每条微指令代码化,并编写一段机器指令。(4) 装入机器指令及微程序,运行程序,检验所设计的中断控制及指令系统。6、课程设计任务及要求1、任务:在一周内必须完成一道模型机部分题目和一道可编程逻辑器件设计题目。2、要求:1) 同学们在实验前应该认真准备实验。2) 每个题目完成后,回答实验指导老师的提问,由教师记录完成情况。3) 周末提交课程设计报告书,主要根据设计步骤的要求,写出每一步骤的结果。7、考核办法课程设计成绩评定的依据有课程设计报告书、具体完成情况、答辩情况及课程设计考勤登记表。具体评分细则为:参加实验:1分完成所要求的设计1分正确进行操作并回答问题1.5分课程设计报告书:1.5分实验结束由实验指导教师根据实验记录,算出成绩。4.8分5.5分及格5.6分6.3分中等6.4分7.1分良好7.2分以上优秀8、参考资料1、计算机组成与结构(第3阪)王爱英主编清华大学出版社2、计算机组成原理上机实验指导书重庆工学院3、9、附录附录1(数据通路):数据通路结构框图附录2(系统连线参考图)复杂模型机实验接线图附录3(实验系统主要单元电路)图中虚线框内的线已在线路板上连好,虚线框上的信号线为引出线,在装置中可找到相应的丝印字。运算单元电路寄存器堆单元电路移位控制电路程序计数器与地址寄存器单元指令寄存器单元时序单元电路主存储器单元总线单元附录4(ispdesignexpert软件使用)1ispdesignexpertsystem的原理图输入启动ispdesignexpertsystem(按start=programs=latticesemiconductor=ispdesignexpertsystem菜单)创建一个新的设计项目选择菜单file。a. 选择newproject.。b. 键入项目名c:userdemo.syn。c. 你可以看到默的项目名和器件型号:untitledandisplsi5384v-125lb388。ii. 项目命名a. 用鼠标双击untitled。b. 在title文本框中输入“demoproject”,并选ok。iii. 选择器件a. 双击isplsiisplsi5384v-125lb388,你会看到choosedevice对话框(如下图所示)。b. 在choosedevice窗口中选择isplsi1000项。c. 按动器件目录中的滚动条,直到找到并选中器件isplsi1032e-70lj84。d. 揿ok按钮,选择这个器件。iv. 在设计中增加源文件一个设计项目由一个或多个源文件组成。这些源文件可以是原理图文件(*.sch)、abelhd文件(*.abl)、vhdl设计文件(*.vhd)、veriloghdl设计文件(*.v)、测试向量文件(*.abv)或者是文字文件(*.doc,*.wri,*.txt)。在以下操作步骤中,你要在设计项目中添加一张空白的原理图纸。v. 从菜单上选择source项。vi. 选择new.。vii. 在对话框中,选择schematic(原理图),并按ok。viii. 选择路径:c:user并输入文件名demo.sch。ix. 确认后揿ok。x. 原理图输入你现在应该进入原理图编辑器。在下面的步骤中,你将要在原理图中画上几个元件符号,并用引线将它们相互连接起来。a. 从菜单栏选择add,然后选择symbol,你会看到如下图所示的对话框:b. 选择gates.lib库,然后选择g_2and元件符号。c. 将鼠标移回到原理图纸上,注意此刻and门粘连在你的光标上,并随之移动。d. 单击鼠标左键,将符号放置在合适的位置。e. 再在第一个and门下面放置另外一个and门。f. 将鼠标移回到元件库的对话框,并选择g_2or元件。g. 将or门放置在两个and门的右边。h. 现在选择add菜单中的wire项。xi. 单击上面一个and门的输出引脚,并开始画引线。xii. 随后每次单击鼠标,便可弯折引线(双击便终止连线)。xiii. 将引线连到or门的一个输入脚。xiv. 重复上述步骤,连接下面一个and门。xv. 添加更多的元件符号和连线a. 采用上述步骤,从regs.lib库中选一个g_d寄存器,并从iopads.lib库中选择g_output符号。b. 将它们互相连接,实现如下的原理图:xvi. 完成你的设计在这一节,通过为连线命名和标注i/omarkers来完成原理图。当要为连线加信号名称时,你可以使用ispdesignexpert的特点,同时完成两件事-同时添加连线和连线的信号名称。这是一个很有用的特点,可以节省设计时间。i/omarkers是特殊的元件符号,它指明了进入或离开这张原理图的信号名称。注意连线不能被悬空(dangling),它们必需连接到i/omarker或逻辑符号上。这些标记采用与之相连的连线的名字,与i/opad符号不同,将在下面定义属性(addattributes)的步骤中详细解释。a. 为了完成这个设计,选择add菜单中的netname项。b. 屏幕底下的状态栏将要提示你输入的连线名,输入a并按enter键,连线名会粘连在鼠标的光标上。c. 将光标移到最上面的与门输入端,并在引线的末连接端(也即输入脚左端的红色方块),按鼠标左键,并向左边拖动鼠标。这可以在放置连线名称的同时,画出一根输入连线。d. 输入信号名称现在应该是加注到引线的末端。e. 重复这一步骤,直至加上全部的输入b,c,d和ck,以及输出out。f. 现在add菜单的i/omarker项。g. 将会出现一个对话框,请选择input。h. 将鼠标的光标移至输入连线的末端(位于连线和连线名之间),并单击鼠标的左键。这时回出现一个输入i/omarker,标记里面是连线名。i. 鼠标移至下一个输入,重复上述步骤,直至所有的输入都有i/omarker。j. 现在请在对话框中选择output,然后单击输出连线端,加上一个输出i/omarker。k. 至此原理图就基本完成,它应该如下图所示。xvii. 定义isplsi器件的属性(attributes)你可以为任何一个元件符号或连线定义属性。在这个例子中,你可以为输出端口符号添加引脚锁定lock的属性。请注意,在ispdesignexpert中,引脚的属性实际上是加到i/opad符号上,而不是加到i/omarker上。同时也请注意,只有当你需要为一个引脚增加属性时,才需要i/opad符号,否则,你只需要一个i/omarker.a. 在菜单条上选择edit=attribute=symbolattribute项,这时会出现一个symbolattributeeditor对话框。b. 单击需要定义属性的输出i/opad.c. 对话框里会出现一系列可供选择的属性。d. 选择synariopin属性,并且把文本框中的*替换成4.e. 关闭对话框。f. 请注意,此时数字4出现在i/opad符号内。xviii. 保存以完成的设计从菜单条上选择file,并选save命令。再选exit命令。2关于abel语言这一节,你要建立一个简单的abelhdl语言输入的设计,并且将其与上一节中完成的原理图进行合并,以层次结构的方式,画在顶层的原理图上。然后对这个完整的设计进行仿真、编译,最后适配到isplsi器件中。现在我们就开始吧!i启动ispdesignexpertsystem如果你在上一节的练习后退出了ispdesignexpertsystem,点击start=programs=latticesemiconductor=ispdesignexpertsystem菜单,屏幕上你的项目管理器应该如下图所示。i. ii建立顶层的原理图a. 仍旧选择1032e器件,从菜单条上选source。b. 选择new.c. 在对话框中选schematic,并按ok。d. 选择路径:c:user然后在文本框中输入文件名top.sch,并按ok。e. 现在你就进入了原理图编辑器。f. 调用上节中创建的元件符号。选择add菜单中的symbol项,这时会出现symbollibraries对话框,选择local的库,你会注意到在下部的文本框中有一个叫demo的元件符号,这就是你在上一节中自行建立的元件符号。g. 选择demo元件符号,并放到原理图上的合适位置。ii. 建立内含abel语言的逻辑元件符号现在你要为abelhdl设计文件建立一个元件符号。只要知道了接口信息,你就可以为下一层的设计模块创建一个元件符号。而实际的abel设计文件可以在以后再完成。a. 在原理图编辑器里,选择add菜单里的newblocksymbol.命令。b. 这时候会出现一个对话框,提示你输入abel模块名称及其输入信号名和输出信号名。请按照下图所示输入信息:c. 当你完成信号名的输入,揿run按钮,就会产生一个元件符号,并放在本地元件库中。同时元件符号还粘连在光标上,随之移动。d. 把这个符号放在demo符号的左边。e. 单击鼠标右键,就会显示symbollibraries的对话框。请注意abeltop符号出现在local库中。f. 关闭对话框。你的原理图应该如下图所示:iii. 完成原理图现在请你添加必需的连线,连线名称,以及i/o标记,来完成顶层原理图,使其看上去如下图所示。如果你需要帮助,请参考第二节中有关添加连线和符号的指导方法。当你画完后,请存盘再退出。iv. 建立abel-hdl源文件现在你需要建立一个abel源文件,并把它链接到顶层原理图对应的符号上。项目管理器使这些步骤简化了:a. 你当前的管理器应该如下图所示:b. 请注意abeltop左边的红色“?”图标。这意味着目前这个源文件还是个未知数,因为你还没有建立它。同时也请注意源文件框中的层次结构,abeltop和demo源文件位于top原理图的下面并且偏右,这说明它们是top原理图的底层源文件。这也是ispdesignexpertsystem项目管理器另外一个有用的特点。c. 为了建立所需的源文件,请选择abeltop,然后选择source菜单中的new.命令。d. 在newsource对话框中,选择abel-hdlmodule并按ok。e. 下一个对话框会问你模块名,文件名,以及模块的标题。为了将源文件与符号相链接,模块名必须与符号名一致,而文件名没有必要与符号名一致。但为了简单,你可以给它们取相同的名字。按下图所示,填写相应的栏目:f. 按ok。你就进入了texteditor,而且可以可见abelhdl设计文件的框架已经呈现在你的面前。g. 输入下列的代码。确保你的输入代码位于title语句和end语句之间。h. 当你完成后,选择file菜单中的save命令。i. 退出文本编辑器。j. 请注意项目管理器中abeltop源文件左边的图标已经改变了。这就意味着你已经有了一个与此源文件相关的abel文件,并且已经建立了正确的链接。v. 编译abelhdla. 选择abeltop源文件。b. 在处理过程列表中,双击reducelogic过程。你会看到项目管理器在执行reducelogic过程之前,先去执行compilelogic过程。当处理过程结束后,你的项目管理器应该如上图所示。vii.仿真你现在可以对整个设计进行仿真。为此,你需要一个新的测试矢量文件。在这个例子中你只需要修改当前的测试矢量文件。a. 双击demo.abv源文件,就会出现文本编辑器。b. 按照下图修改测试矢量文件:c. 完成后,存盘退出。d. 仍旧选择测试矢量源文件,双击functionalsimulation过程,进行功能仿真。e. 现进入simulationcontrolpanel窗口。按windows=waveformviewer窗口,打开波形观测器准备查看仿真结果。f. 为了看波形,你必须在simulationcontrolpanel窗口中按debug钮,使simulationcontrolpanel窗口进入debug模式。g. 在availablesignals栏中选择clk,topin1,topin2,topin3和topout信号,并且按monitor钮。这些信号名都可以在波形观测器中观察到。再按run钮进行仿真,其结果如下图所示:h. 在步骤d中,如双击timingsimulation过程,即可进入时序仿真流程,以下仿真步骤与功能仿真相同。viii.把设计适配到lattice器件中现在你已经完成了原理图和abel语言的混合设计及其仿真。剩下的步骤只是将你的设计放入latticeisplsi/plsi器件中。因为你已经在第一节中选择了器件,你可以直接执行下面的步骤:a. 在源文件窗口中选择isplsi1032e-70lj84器件作为编译对象,并注意观察对应的处理过程。b. 双击处理过程compiledesign。这将迫使项目管理器完成对源文件的编译,然后连接所有的源文件,最后进行逻辑分割,布局和布线,将设计适配到所选择的lattice器件中。c. 当这些都完成后,你可以双击ispdesignexpertcompilerreport,查看一下设计报告和有关统计数据。d. 祝贺!你现在已经完成了设计例子,并且掌握了ispdesignexpe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【课件】国有企业人力资源管理与开发报告制度
- 仓库安全教育培训
- 部队恋爱协议书范文模板
- 日剧离婚协议书
- 配电箱技术合同协议
- 无效抵押协议书
- 数据传输协议的规范说明
- 公司股东个人股权转让协议
- 公司股份制改革协议书
- 农业技术服务服务合同
- 甘油三酯的分解代谢赵婷讲解
- 建设工程质量安全监督人员考试题库含答案
- 2025风电机组无人机巡检技术方案
- 《四川省信息化项目费用测算标准》
- 2025年江苏省扬州宝应县“乡村振兴青年人才”招聘81人(C类岗面向退役军人)高频重点提升(共500题)附带答案详解
- 医院保密知识培训
- 一科一品一特色护理妇产科
- 2025届小升初语文总复习:《习作》(附答案解析)
- 工程项目全过程咨询管理
- 百白破疫苗接种课件
- 【MOOC】美术鉴赏-河南理工大学 中国大学慕课MOOC答案
评论
0/150
提交评论