计算机组成原理课程设计报告CISC(共29页)

上传人:n85ho7****4h85bh 文档编号:44822258 上传时间:2021-12-06 格式:DOC 页数:29 大小:1.38MB
收藏 版权申诉 举报 下载
计算机组成原理课程设计报告CISC(共29页)_第1页
第1页 / 共29页
计算机组成原理课程设计报告CISC(共29页)_第2页
第2页 / 共29页
计算机组成原理课程设计报告CISC(共29页)_第3页
第3页 / 共29页
资源描述:

《计算机组成原理课程设计报告CISC(共29页)》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计报告CISC(共29页)(29页珍藏版)》请在装配图网上搜索。

1、精选优质文档-倾情为你奉上X X 学 院课程设计说明书(论文)课程设计题目:组成原理课程设计学生姓名: 学 号:院 系: 专业班级: 指导教师姓名及职称: 起止时间: 年 月 年 月 课程设计评分:(教务处制)内容摘要:通过EDA开发软件Quertus ,设计一台嵌入式的8位CISC模型计算机(采用定长CPU周期或变长CPU周期),并运行能完成一定功能的机器语言程序进行验证,程序功能可以是以下两个之一: 求出1到任意一个整数N之间的所有奇数之和并输出显示,和为单字长(说明:N从开关输入,和从数码管输出,然后输出显示停止)。先通过VHDL语言将所有部件(ALU、LS273等)设计出来,然后根据顶

2、层电路图做出顶层电路,最后进行引脚锁定和波形仿真、功能仿真。关键词:CISC VHDL 顶层电路 功能仿真 目 录课程设计题目-1设计目的-1设计题目及要求-1设计方案 模型机总体设计-1 微程序控制器的组成原理框图-2 模型机机器指令格式和指令系统-2 时序产生器的设计原理及时序波形图-2 微程序流程图-3微程序控制器单元-4汇编语言源程序-5机器语言的源程序-5设计的过程与步骤设计各单元电路-5设计CISC模型机的顶层电路图-7模型机的各单元VHDL源程序-7模型机的单元电路图及系统顶层电路图-18模型机的功能仿真和硬件验证-23设计总结-25参考文献-25课程设计题目:组成原理课程设计嵌

3、入式的8位CISC模型机设计一、设计目的通过课程设计加深对计算机各功能部件的理解;掌握数据信息流和控制信息流的流动和实现过程,建立起整机概念;培养设计、开发和调试计算机的能力。 提高使用EDA工具软件和可编程器件芯片的基本技能。 培养科学研究的独立工作能力,取得工程设计与组装调试的实践和经验。 二、设计题目及要求设计一台8位的CISC模型机,要求具有以下验证程序所要求的功能: 求出1到任意一个整数N之间的所有奇数之和并输出显示,和为单字长。说明:N从开关输入,和从数码管输出,然后输出显示停止。 要求学生掌握CISC模型机的组成和工作原理,学会Quertus EDA软件的使用,能用VHDL硬件描

4、述语言设计一个能完成一定功能的模型计算机,并通过仿真一个程序的执行来验证模型机设计的正确性。三、设计方案1.模型机的总体设计 模型机的总体设计的内容包括确定各种部件的设置以及它们之间的数据通路结构。CISC模型机由CISC微处理器、地址寄存器AR、ROM和RAM存储器等组成。微处理器由算术逻辑运算单元ALU、状态条件寄存器、累加器AC、数据暂存器DR、通用寄存器R0R2、程序计数器PC、指令寄存器IR、操作控制器和时序产生器组成。CISC模型机的操作控制器采用微程序控制器。根据模型机功能要求,画出如图1所示模型机数据通路框图。 图1 模型机数据通路框图 2. 微程序控制器的组成原理框图 微程序

5、控制器组成原理框图如图2。它主要由控制器、微指令寄存器和地址转移逻辑电路三大部分组成,其中微指令寄存器分为微地址寄存器和微命令寄存器两部分。 图2 微程序控制器组成原理框图3. 模型机机器指令格式和指令系统 CISC模型机的指令系统采用复杂的指令格式、多种指令字长度和多种寻址方式,但指令功能强大,单条指令的执行速度较慢。根据所要求的功能,模型机的指令系统共设计了8条不同的功能指令。指令字长度有单字长(1个字节)和双字长(2个字节)两种;寻址方式有三种,分别是寄存器寻址、直接寻址和立即寻址。这8条指令是IN1(输入),MOV(将一个数送入寄存器),CMP(比较),JB(小于跳转),ADD(两数相

6、加),INC(自增1),JMP(无条件跳转),OUT1(输出)。 模型机的指令系统中共有8条基本指令,表1出每条指令的助记符号、指令格式和功能。表1 8条机器指令的助记符号、指令格式和功能4时序产生器的设计原理及时序波形图 CISC微处理器的时钟信号Q和清除信号CLR由外部输入,节拍脉冲信号Ti由时序产生器产生。图3述了节拍脉冲信号与外部时钟信号、清除信号的时序关系。 图3 T1、T2、T3、T4与CLR、Q之间的时序关系图由图3看出,节拍脉冲信号T1、T2、T3、T4实际上是以Q为时钟输入信号的计数状态经过译码器译码后生成的,因此可写出节拍脉冲信号的逻辑表达式,并用VHDL语言实现之,然后将

7、它创建为一个元件符号,供顶层电路调用。 如果系统的时钟控制信号(即工作脉冲P)是在T1、T2、T3或T4的中间产生,且上升沿有效,则它产生方法是:先将Q取反,再和节拍脉冲信号Ti相“与”得到。5. 微程序流程图根据模型机的数据通路图(图4)以及所有指令在CISC模型机中的操作过程,画出所有机器指令的微程序流程图,如图4所示。图中每个框为一个CPU周期(包含T1T4共4个节拍脉冲周期)对应于一条微指令。框中上面的十六进制数表示的是当前微指令在控制存储器中的微地址;框中下面的十六进制数表示的是当前微指令的后续微坡地。在编写微指令时,图中的菱形框从属于它上面的方框。 图4 CISC模型机中所有机器指

8、令的微程序流程图6、微程序控制器单元1) 设计微指令格式和微指令代码表CISC模型机系统使用的微指令采用全水平型微指令,字长25位,其中微指令字段17位,P字段2位,后续微地址6位。由微指令格式和微程序流程图编写的微指令代码表2所示表2 微指令代码表2) 设计地址转移逻辑电路地址转移逻辑电路是根据微程序流程图4中的菱形部分及多个分支微地址,利用微地址寄存器的异步置“1”端,实现微地址的多路转移。在图4中进行P(1)(高电平有效)测试时,根据指令的操作码I7I4强制修改后继微地址的低4位,在P(2)(高电平有效)测试时,根据借位标志FC和零标志FZ进行两路分支,并且都在T4内形成后继微指令的微地

9、址。 由于微地址寄存器中的触发器异步置“1”端低电平有效,与A4A0对应的异步置“1”控制信号SE5SE1的逻辑表达式为:(A5的异步置“1”端SE6实际未使用): 7.汇编语言源程序 算法思想为:采用R0寄存器存放从开关输入的任意一个整数,R1存放准备参加累加运算的奇数,R2存放累加的和,用一个循环程序实现如下: 功能IN1 R0 从开关输入任意一个整数nR0 MOV R1,1 将立即数1R1(R1用于存放参与运算的奇数) MOV R2,0 将立即数0R2 (R2用于存放累加和) L1:CMP R0,R1 将R0的整数n与R1的奇数进行比较,锁存CY和ZI JB L2 小于,则转到L2处执行

10、 ADD R1,R2 否则,累加求和,并将R1的内容加2,形成下一个奇数 INC R1INC R1JMP L1 无条件跳转到L1处继续执行L2: OUT R2 输出累加和 JMP L2 循环显示8、机器语言的源程序 根据设计的指令格式,将汇编语言源程序手工转换成机器语言源程序,并将其设计到模型机的ROM中去。 与汇编语言源程序对应的机器语言源程序如下:助记符 地址(十六进制) 机器代码 功能IN1 R0 00 (SW)R0MOV R1,1 01 1R102 MOV R2,0 03 0R204 L1:CMP R0,R1 05 (R0)-(R1),锁存CY和ZIJB L2 06 若小于,则L2PC

11、07 ADD R1,R2 08 (R1)+(R2)R2INC R1 09 (R1)+1R1INC R1 0A (R1)+1R1JMP L1 0B L1PC0C L2: OUT R2 0D (R2)LEDJMP L2 0E L2PC0F 四、设计的过程与步骤1、设计各单元电路 首先设计出模型机中所有的单元部件,可以使用VHDL语言文件(.vhd)或者电路图形描述文件(.gdf)对模型机中的各个部件进行设计,并使之成为可供系统调用的元件符号。 ALU单元算术逻辑运算单元ALU可执行三种运算,即加、比较和加1运算。ALU的三种运算受S0、S1控制。 状态条件寄存器单元状态条件寄存器用来在进行比较运算

12、时锁存借位标志(FC/CY)和零标志(FZ/ZI),在进行条件转移时其内容作为判断的依据。 暂存寄存器、通用寄存器、地址寄存器、指令寄存器单元模型机中暂存寄存器、通用寄存器、地址寄存器、指令寄存器都采用8位数据寄存器LS273元件,只是上述各个寄存器实体的命名分别为:AC,DR,R0,R1,R2,AR,IR 1:2分配器单元1:2分配器单元用来将ALU的运算结果或通用寄存器的内容(经3选1多路选择器)回送到数据总线,或者将ALU的运算结果或通用寄存器的内容送往输出设备显示。 3选1数据选择器单元3选1数据选择器单元MUX3在数据输入控制信号SW_B、只读存储器片选控制信号CS的控制下,用来从外

13、部输入数据端ID7.0、4选1多路选择器的输出端N17.0和只读存储器ROM的输出端N27.0选择一个8位的数据进入内部数据总线 4选1数据选择器单元4选1数据选择器单元MUX4在数据输入控制信号C(R0_B)、D(R1_B)、E(R2_B)、F(ALU_B)的控制下,用来从有三个通用寄存器的数据输出端和ALU的数据输出端选择一个8位的数据输入1:2分配器的数据输入端。 程序计数器单元程序计数器单元的元件符号如图4-24,它在控制信号的控制下具有清“0”,置计数初值和加1功能,其作用是保证程序的顺序执行,在执行跳转指令时,通过修改PC的值达到程序转移分支的目的。程序计数器PC的输出直接送往地址

14、寄存器AR(LS273芯片) 主存储器单元CISC模型机由于只运行完成一定功能的程序而不需要进行数据处理,所以只采用ROM芯片作为它的主存储器单元,没有配置读写存储器RAM芯片。它的主存储器单元是一片2568位的ROM芯片,如图4-25所示。ADDR7.0为8位坡地输入端,CS为片选信号,DOUT7.0 为8位数据输出端。在CISC模型机中,ROM芯片的读操作时序如图4-26所示。ROM的读操作仅与片选信号CS有关,CS为低电平有效,有效电平的范围为一个CPU周期。 时序产生器单元时序产生器主要用来产生节拍脉冲信号(T1、T2、T3、T4),对各种控制信号实施时间上控制。时序产生器单元元件符号

15、如图4-27所示,它内容采用一个2位普通计数器,计数值译码后产生节拍脉冲信号(T1、T2、T3、T4),Q为外部时钟输入信号。 微程序控制器单元微程序控制器器由地址转移逻辑电路ADDR、微地址寄存器aa、控制存储器CONTROM和微命令寄存器MCOMMAND等几部分组成。为了方便电路的设计与连线,在进行本模型机微程序控制器单元内部结构设计时,增加了F1、F2和F3共三个用于多根单线与总线之间转换的器件。a、 地址转换逻辑电路(ADDR)b、 微地址寄存器(aa)微地址寄存器aa设计的实验操作方法说明:它需要采用Quertus的VHDL文本设计法和电路图形设计法相结合的方法完成。首先用VHDL文

16、本设计法完成触发器MMM元件符号的创建,然后用图形输入设计法完成微地址寄存器aa元件符号创建。 c、 控制存储器(CONTROM)d、 微命令寄存器(MCOMMAND)e、 微地址转换器F1f、 地址转换器F2 g、 地址转换器F2 h微程序控制器单元crom设计的实验操作方法说明:首先用Quertus文本设计法完成地址转换逻辑电路ADDR、控制存储器CONTROM、微命令寄存器MCOMMAND、微地址转换器F1、微地址转换器F2和微地址转换器F3等元件符号的创建;然后用QuertusII的文本输入法和图形输入设计法相结合的方法完成微地址寄存器aa元件符号创建;最后用图形输入设计法完成微程序控

17、制器单元crom编译和元件符号创建。2、设计CISC模型机的顶层电路图在完成了CISC模型机的所有单元元件的设计后,就可以进行CISC模型机的顶层电路或顶层文件设计工作。其顶层电路的功能也可直接采用VHDL语言程序来描述。五、模型机的各单元VHDL源程序-ALU的VHDL源程序ALU.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.all;ENTITY ALU ISPORT(A: IN STD_LOGIC_VECTOR(7 DOWNTO 0)

18、;B: IN STD_LOGIC_VECTOR(7 DOWNTO 0);S1,S0: IN STD_LOGIC;BCDOUT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ;CY,ZI: OUT STD_LOGIC);END ALU;ARCHITECTURE A OF ALU ISSIGNAL AA,BB,TEMP:STD_LOGIC_VECTOR(8 DOWNTO 0);BEGINPROCESS(S1,S0)BEGINIF(S1=0 AND S0=0) THEN -ADDAA=0&A;BB=0&B;TEMP=AA+BB;BCDOUT=TEMP(7 DOWNTO 0);C

19、Y=TEMP(8);IF (TEMP=) THENZI=1;ELSEZI=0;END IF;ELSIF(S1=0 AND S0=1) THEN -CMP(SUB)BCDOUT=A-B;IF(AB) THENCY=1;ZI=0;ELSIF(A=B) THENCY=0;ZI=1;ELSECY=0;ZI=0;END IF;ELSIF(S1=1 AND S0=0) THEN -INCAA=0&A;TEMP=AA+1;BCDOUT=TEMP(7 DOWNTO 0);CY=TEMP(8);IF (TEMP=) THENZI=1;ELSEZI=0;END IF;ELSEBCDOUT= ;CY=0;ZI=0;

20、END IF;END PROCESS;END A;-状态条件寄存器的VHDL源程序LS74.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY LS74 ISPORT(LDFR: IN STD_LOGIC;CY,ZI: IN STD_LOGIC;FC,FZ: OUT STD_LOGIC);END LS74;ARCHITECTURE A OF LS74 ISBEGINPROCESS(LDFR)BEGINIF(LDFREVENT AND LDFR=1) THENFC=CY;FZ=ZI;END IF;END PROCESS;END A;- 8位数据寄

21、存器的VHDL源程序LS273.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY LS273 ISPORT(D: IN STD_LOGIC_VECTOR(7 DOWNTO 0);CLK: IN STD_LOGIC;O: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END LS273;ARCHITECTURE A OF LS273 ISBEGINPROCESS(CLK)BEGINIF(CLKEVENT AND CLK=1) THENO=D;END IF;END PROCESS;END A;- 1:2分配器的VHDL源程序F

22、EN2.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY FEN2 ISPORT(WR,LED_B:IN STD_LOGIC;X:IN STD_LOGIC_VECTOR(7 DOWNTO 0);W1,W2:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END FEN2;ARCHITECTURE A OF FEN2 ISBEGINPROCESS(LED_B,WR)BEGINIF(LED_B=0 AND WR=0) THENW2=X;ELSEW1=X;END IF;END PROCESS;END A;-3选1数据选择器单元VH

23、DL源程序MUX3.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX3 ISPORT(ID:IN STD_LOGIC_VECTOR(7 DOWNTO 0);SW_B,CS:IN STD_LOGIC;N1,N2:IN STD_LOGIC_VECTOR(7 DOWNTO 0);EW:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END MUX3;ARCHITECTURE A OF MUX3 ISBEGINPROCESS(SW_B,CS)BEGINIF(SW_B=0) THENEW=ID;ELSIF(CS=0)THENE

24、W=N2;ELSEEW=N1;END IF;END PROCESS;END A;-4选1数据选择器单元VHDL源程序MUX4.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX4 ISPORT(C,D,E,F: IN STD_LOGIC;X1,X2,X3,X4: IN STD_LOGIC_VECTOR(7 DOWNTO 0);W: out STD_LOGIC_VECTOR(7 DOWNTO 0);END MUX4;ARCHITECTURE A OF MUX4 ISSIGNAL SEL: STD_LOGIC_VECTOR(3 DOWNTO

25、 0);BEGINSEL- W- W- W- W- NULL;-END CASE;IF(SEL=1110) THEN -R0_outW=X1;ELSIF(SEL=1101) THEN -R1_outW=X2;ELSIF(SEL=1011) THEN -R2-outW=X3;ELSIF(SEL=0111) THEN -ALU_outW=X4;ELSEnull;END IF;END PROCESS;END A;-程序计数器单元VHDL源程序PC.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE

26、IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY PC ISPORT(load,LDPC,CLR: IN STD_LOGIC;D: IN STD_LOGIC_VECTOR(7 DOWNTO 0);O: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END PC;ARCHITECTURE A OF PC ISSIGNAL QOUT: STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS(LDPC,CLR,load)BEGINIF(CLR=0) THENQOUT=;ELSIF(LDPCEVENT AND LDPC=1) THEN

27、IF(load=0) THENQOUTPCELSEQOUT=QOUT+1; -PC+1END IF;END IF;END PROCESS;O=QOUT;END A;-主存储器单元VHDL源程序ROM16.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ROM16 ISPORT(DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);ADDR:IN STD_LOGIC_VECTOR(7 DOWNTO 0

28、);CS:IN STD_LOGIC);END ROM16;ARCHITECTURE A OF ROM16 ISBEGINDOUT= WHEN ADDR= AND CS=0 ELSE WHEN ADDR= AND CS=0 ELSE WHEN ADDR= AND CS=0 ELSE WHEN ADDR= AND CS=0 ELSE WHEN ADDR= AND CS=0 ELSE WHEN ADDR= AND CS=0 ELSE WHEN ADDR= AND CS=0 ELSE WHEN ADDR= AND CS=0 ELSE WHEN ADDR= AND CS=0 ELSE WHEN ADDR

29、= AND CS=0 ELSE WHEN ADDR= AND CS=0 ELSE WHEN ADDR= AND CS=0 ELSE WHEN ADDR= AND CS=0 ELSE WHEN ADDR= AND CS=0 ELSE WHEN ADDR= AND CS=0 ELSE WHEN ADDR= AND CS=0 ELSE;END A;-时序产生器单元的VHDL源程序COUNTER.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL

30、;ENTITY COUNTER ISPORT(Q,CLR: IN STD_LOGIC;T2,T3,T4: OUT STD_LOGIC);END COUNTER;ARCHITECTURE A OF COUNTER ISSIGNAL X: STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINPROCESS(Q,CLR)BEGINIF(CLR=0) THENT2=0;T3=0;T4=0;X=00;ELSIF(QEVENT AND Q=1) THENX=X+1;T2=(NOT X(1) AND X(0);T3=X(1) AND (NOT X(0);T4=X(1) AND X(0);EN

31、D IF;END PROCESS;END A;-地址转换逻辑电路的VHDL源程序ADDR.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ADDR ISPORT(I7,I6,I5,I4:IN STD_LOGIC;FZ,FC,T4,P1,P2:IN STD_LOGIC;SE6,SE5,SE4,SE3,SE2,SE1:OUT STD_LOGIC);END ADDR;ARCHITECTURE A OF ADDR ISBEGINSE6=1;SE5=NOT(NOT FC OR FZ)AND P2 AND T4);SE4=NOT(I7 AND P1 A

32、ND T4);SE3=NOT(I6 AND P1 AND T4);SE2=NOT(I5 AND P1 AND T4);SE1=NOT(I4 AND P1 AND T4);END A;-触发器MMM的VHDL源程序MMM.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MMM ISPORT(SE:IN STD_LOGIC;T2:IN STD_LOGIC;D:IN STD_LOGIC;CLR:IN STD_LOGIC;UA:OUT STD_LOGIC);END MMM;ARCHITECTURE A OF MMM ISBEGINPROCESS(C

33、LR,SE,T2)BEGINIF(CLR=0) THENUA=0;ELSIF(SE=0)THENUA=1;ELSIF(T2EVENT AND T2=1) THENUA DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT=000;END CASE;UA(5 DOWNTO 0)=DATAOUT(5 DOWNTO 0);D(18 DOW

34、NTO 0)=DATAOUT(24 DOWNTO 6);END PROCESS;END A;-微命令寄存器MCOMMAND的VHDL源程序MCOMMAND.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY MCOMMAND ISPORT(T2,T3,T4,I3,I2,I1,I0:IN STD_LOGIC;O:IN STD_LOGIC_VECTOR(18 DOWNTO 0);P1,P2,LOAD,LDPC,LDAR,LDIR

35、,LDR0,LDR1,LDR2,R0_B,R1_B,R2_B,S1,S0,ALU_B,LDAC,LDDR,WR,CS,SW_B,LED_B,LDFR:OUT STD_LOGIC);END MCOMMAND;ARCHITECTURE A OF MCOMMAND ISSIGNAL DATAOUT:STD_LOGIC_VECTOR(18 DOWNTO 0);BEGINPROCESS(T2)BEGINIF(T2EVENT AND T2=1) THENDATAOUT(18 DOWNTO 0)=O(18 DOWNTO 0);END IF;P2=DATAOUT(0);P1=DATAOUT(1);LDFR=D

36、ATAOUT(2) AND T4;LED_B=DATAOUT(3);SW_B=DATAOUT(4);CS=DATAOUT(5);WR=DATAOUT(6) OR(NOT T3);LDDR=DATAOUT(7) AND T4;LDAC=DATAOUT(8) AND T4;ALU_B=DATAOUT(9);S0=DATAOUT(10);S1=DATAOUT(11);R2_B=(DATAOUT(13) OR (NOT I1) OR I0)AND(DATAOUT(12) OR (NOT I3) OR I2);R1_B=(DATAOUT(13) OR I1 OR (NOT I0)AND(DATAOUT(

37、12) OR I3 OR (NOT I2);R0_B=(DATAOUT(13) OR I1 OR I0 )AND(DATAOUT(12) OR I3 OR I2);LDR2=T4 AND DATAOUT(14) AND I1 AND (NOT I0);LDR1=T4 AND DATAOUT(14) AND (NOT I1) AND I0;LDR0=T4 AND DATAOUT(14) AND (NOT I1) AND (NOT I0);LDIR=DATAOUT(15) AND T3;LDAR=DATAOUT(16) AND T3;LDPC=DATAOUT(17) AND T4;LOAD=DAT

38、AOUT(18);END PROCESS;END A;-微地址转换器F1的VHDL源程序F1.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY F1 ISPORT(UA5,UA4,UA3,UA2,UA1,UA0: IN STD_LOGIC;D:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);END F1;ARCHITECTURE A OF F1 ISBEGIND(5)=UA5;D(4)=UA4;D(3)=UA3;D(2)=UA2;D(1)=UA1;D(0)=UA0;END A;-微地址转换器F2的VHDL源程序F2.vhdL

39、IBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY F2 ISPORT(D:IN STD_LOGIC_VECTOR(5 DOWNTO 0);UA5,UA4,UA3,UA2,UA1,UA0: OUT STD_LOGIC);END F2;ARCHITECTURE A OF F2 ISBEGINUA5=D(5);UA4=D(4);UA3=D(3);UA2=D(2);UA1=D(1);UA0=D(0);END A;-微地址转换器F3的VHDL源程序F3.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY F3

40、ISPORT(D:IN STD_LOGIC_VECTOR(7 DOWNTO 0);UA7,UA6,UA5,UA4,UA3,UA2,UA1,UA0: OUT std_logic);END F3;ARCHITECTURE A OF F3 ISBEGINUA7=D(7);UA6=D(6);UA5=D(5);UA4=D(4);UA3=D(3);UA2=D(2);UA1=D(1);UA0=D(0);END A;六、模型机的单元电路图及系统顶层电路图 图5 ALU单元元件符号图6 状态条件寄存器单元元件符号图7 LS273元件符号图8 分配器单元元件符号图9 3选1数据选择器单元元件符号图10 4选1数据

41、选择器单元元件符号图11 程序计数器单元的元件符号图12 ROM芯片元件符号图13 时序产生器元件符号 图14 微程序控制器的内部结构图图15 微程序控制器单元元件符号图16 地址转换逻辑电路元件符号图17 微地址寄存器aa的内部结构图18 微地址寄存器aa的元件符号图19 触发器MMM元件符号图20 控制存储器CONTROM的元件符号图21 微地址转换器F1的元件符号 图22微命令寄存器MCOMMAND 图23 微地址转换器F2的元件符号的元件符号图24微地址转换器F3的元件符号 图25 顶层电路图七、模型机的功能仿真和硬件验证1、功能仿真波形图在CISC模型机上的仿真波形如图4-40所示。

42、图中Q为时钟输入信号,CLR为外部清“0”信号(低电平有效),ID7.0为外部的8位数据输入信号(十六进制数表示),OD7.0为8位数据输出信号(十六进制数表示),其它为器件的内部寄存器的值。2、硬件验证本课程设计设计采用GW48PK EDA实验开发系统对模型机的功能进行验证。引脚锁定前应选择目标芯片,选择的目标芯片为ACEX1K系列的EP1K30TC144-1,采用实验电路结构NO.5进行验证。引脚锁定如表3所示。(注:CLK0的时钟频率可选择1KHZ750KHZ。)表3 引脚锁定表八、设计总结在本学期课程设计实验时间里,我终于成功完成了本次课程设计实验,并能得到预期的实验结果。通过对计算机

43、组成原理、可编程芯片CPLD/FPGA和VHDL语言等相关知识的学习,掌握了EDA设计软件Quertus 的使用。在此过程中,我学习了如何运用Quertus ,并且通过该软件和运用VHDL语言设计出几个元件,并理解了其原理;另一方面通过功能仿真而更加了解组成原理硬件的运用,学习到了很多东西。通过实践与操作,让我更加深入地接触到计算机组成的原理,更好地学习计算机基础原理。九、参考文献1 陈智勇 等编. 计算机原理课程设计. 西安电子科技大学. 2006年6月 2 潘松 黄继业编. EDA技术实用教程(第二版). 科学出版社 2005年2月 3 罗克露 等编. 计算机组成原理. 电子工业出版社 2004年8月 4 江国强编. EDA技术习题与实验. 电子工业出版社 2005年1月5. 基于EDA技术的计算机组成原理课程设计实验指导书. 专心-专注-专业

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!