组成原理-逻辑电路控制器CPU的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
本次计算机组成原理课程设计课题是逻辑电路控制器CPU的设计。利用maxplus 来实现计算机组成原理课程及实验中所学到的实验原理和编程思想,硬件设备自拟,设计控制器CPU的逻辑电路图,用逻辑电路图实现了一系列的指令功能,最终达到将理论与实践相联系。本次设计在maxplus中完成存数据、取数据、加指令的CPU程序,用电路图实现了相关功能,设计maxplus的指令系统(包括存数据、取数据、加指令的CPU程序),形成具有一定功能的完整的电路图。
关键词:maxplus、全加器、寄存器、逻辑电路图
目录
1.实验软件maxplus (1)
1.1 maxplus简介 (1)
1.2 maxplus的使用说明 (1)
2.设计目标 (4)
3.系统设计 (4)
3.1 四位二进制加法器 (4)
3.2 寄存器 (5)
3.3计数器 (6)
3.4 微指令集电路图设计 (7)
3.5 CPU程序设计流程图 (8)
4.程序实现 (8)
4.1 仿真电路图 (8)
4.2 仿真结果 (9)
5.总结与体会 (11)
参考文献 (11)
1.实验软件maxplus
1.1 maxplus简介
Altera公司的MAX+PLUSⅡ的全称是Multiply Array matrix and Programmable Logic User System。MAX+PLUSⅡ支持所有的CPLD和25万门以内的FLEX和ACEX系列FPGA。它集设计输入、编译、仿真、综合、编程(配置)于一体,带有丰富的设计库,并有详细的联机帮助功能,且许多操作与Windows下的操作方法完全一样,是一个集成化的、易学易用的PLD开发平台。用MAX+PLUSⅡ进行设计的一般过程,设计输入、编译、功能仿真、设计实现、时序仿真、下载、硬件检查,在对上述过程中有错误的进行设计修改。
1.2 maxplus的使用说明
逻辑设计的输入:①指定项目名称,在“File”菜单中选择Project→Name打开“Project Name”对话框;选择适当的驱动器和目录,然后键入项目名;点击“OK”。
②建立原理图设计文件,第一步打开原理图编辑器,在管理器窗口的“File”菜单中选择“New”;选择“Graphic Editor File”和“.gdf”项;点击“OK”。第二步输入元件和模块,原理图编辑窗口空白处双击鼠标左键或者在“Symbol”菜单中选择“Enter Symbol”,便打开了“Enter Symbol”对话框;选择适当的库及所需的器件(模块);点击“确定”。第三步放置输入、输出引脚,在“Symbol Name”框中键入input或output。第四步连线,将电路图中的两个端口相连,将鼠标指向一个端口,鼠标箭头会自动变成“+”;一直按住鼠标左键拖至另一个端口;放开左键,则会在两个端口间产生一根连线。输入/输出引脚和内部连线命名,输入/输出引脚命名的方法是在引脚的“PIN-NAME”位置双击鼠标左键,然后键入信号名。内部连线的命名方法是:选中连线,然后键入信号名。第六步保存文件,在“File”菜单中选择“Save As”(若该文件已有,则选“Save”)或在工具栏点击按钮,如是第一次保存,需输入文件名。建立一个默认的符号文件,在层次化设计中,如果当前编辑的文件不是顶层文件,则往往需要为其产生一个符号,将其打包成一个模块,以便在上层电路设计
时加以引用。建立一个符号文件的方法是,在“File”菜单中选择“Create Default Symbol”项即可。
编译网表提取:MAX+PLUSⅡ的编译器包括两大功能:编译和设计实现。编译的作用是检查设计输入中有无描述性错误,若无描述性错误,则提取出电路网表(Netlist);若有描述性错误,则给出出错信息(包括出错位置、错误性质),并有联机帮助功能帮助用户改正错误。运行编译器的方法是,在“MAX+PLUSⅡ”菜单中选“Compiler”选项或直接在工具栏中点击按钮。启动编译器后首先进行“编译与电路网表提取”工作。做完这一工作后编译器便停下来等待用户的指示。如果编译中未发现错误,则可以接着做“设计实现”的工作。设计实现包括数据库生成器(Database Builder)、逻辑综合器(Logic Synthesizer)、逻辑划分器(Partitioner)、设配器(Fitter)、时序仿真网表文件提取器(Timing SNF Extractor)和编程数据汇编器(Assembler)等步骤。①选项设置,编译器有很多选项设置,但并不是每一项都需要用户去设置,有些设置编译器可自动选择(如器件选择、引脚分配等),而其他的设置往往有默认值。在“Assign”菜单中选“Device”项,然后选择器件的系列和型号,型号可设为“Auto”,编译器自动选择;器件引脚分配,在原理图编辑窗口中,选中某个输入或输出信号,按鼠标右键,在弹出菜单中选“Pin/Location/Chip”,然后选引脚号。②运行“设计实现”,按上述方法做好必要的设置后,在编译器窗口中按“Start”就可以连续执行后续的设计步骤,产生的数据文件的扩展名会出现在各个执行框的下方。
仿真验证:仿真分功能仿真和时序仿真两种,两种仿真的做法是一样的,由编译时生成的仿真网表文件类型决定仿真的类型。仿真过程分三步,首先要建立波形文件,确定需要观察的信号,设计输入波形,设定一些时间和显示参数。其次才是运行仿真程序。最后是根据仿真结果(波形)分析电路功能正确与否。①建立波形文件,第一步打开原理图编辑器,在管理器窗口的“File”菜单中选择“New”或直接在工具栏上点击按钮,打开“New”列表框;选择“Waveform Editor File”和“.scf”项,按“OK”。第二步设定时间参数,从“File”菜单中选择“End Time”项,键入仿真结束时间,按“OK”;在“Options”菜单中选择“Grid Time”项,键入时间显示网格间距,按“OK”。第三步确定需观察的信号,在“Node”菜单中或在波形图编辑窗口空白处单击鼠标右键选择“Enter Nodes From SNF”(SNF指仿真网表文件)项,打开“Enter Nodes From SNF”对话框;在“Type”框中选择信号类别,最常用的是“Input”