1、 5 计算机设计与实践实验课程教学大纲 Design and Practice on Computer 课程编码: DZ240122 适用专业: 集成电路设计与集成系统 先修课程: 计算机组成与设计 学 分 数: 4 总学时数 : 64 实验(上机)学时: 64 考核方式: 系考 执 笔 者 : 刘有耀 编写日期: 2012-7-6 一、课程性质和任务 本课程主要是通过实验来进一步巩固和扩大计算机组成与设计课程所学的内 容,为设计计算机系统打下坚实的基础。通过实验深入理解 MIPS 指令系统,进一步熟悉 DE2-70 开发平台,较熟练地掌握 Quartus 使用方法和技巧,提高运用 Veril
2、og HDL 语言来设计硬件系统的能力,掌握 MIPS 寄存器组、运算器、桶形移位器、状态机、组合逻辑控制器的设计方法,掌握单周期 MIPS CPU 基本设计方法。理解 MIPS CPU 与编译器、操作系统的关系。 二、实验教学内容及要求 主要内容: 本实验课程通过对 CPU 中的运算单元、寄存器组、控制单元电路的设计,然后设计实现单周期 CPU,最后设计存储器、总线控 制器。 基本要求: 通过可实验课程学生加深对 CPU 结构和功能的理解,并锻炼设计实现 CPU 的基本能力,为 SoC 设计打下基础。 重点: 单周期 CPU 和多周期 CPU 设计、微程序控制器设计。 难点: 单周期和多周期
3、 ALU 控制器设计、微程序控制器状态机设计。 实验一: 寄存器组设计 主要内容:根据实验原理框图完成一个由 32 个寄存器组成的字长为 32位的寄存器组设计,并在 Quartus II 上模拟实现。根据实验原理框图完成一个由 16 个寄存器组成的字长为 4 位的寄存器组设计,并在 Altera DE2-70 开发板实现。 基本要求:通过 此实验使学生了解寄存器组工作原理,学会用 FPGA 实现寄存器组电路,掌握寄存器组在 CPU 中的工作原理。 重点: CPU 中寄存器组工作原理。 6 难点:寄存器组控制电路设计。 实验二: 静态随机存储器设计 主要内容:用 Verilog HDL 语言来编
4、写实现一种静态随机存储器器,并在 Altera DE2-70 开发板实现。 基本要求:通过此实验使学生理解 静态随机存储器 工作原理,学会用FPGA 实现 静态随机存储器 电路,掌握 静态随机存储器 的工作原理及其电路设计。 重点:理解整数乘法器工作原理。 难点:整数乘法器的设计。 实验三: 32 位桶形移位器设计 主要内容:设用 Verilog HDL 语言来描述 32 位桶形移位器设计,在Quartus II 上实现模拟仿真,并在 Altera DE2-70 开发板实现 8 位的桶形移位器,使其能够正常工作。 基本要求:通过此实验使学生理解桶形移位器工作原理,学会用 FPGA实现桶形移位器
5、电路,掌握桶形移位器的工作原理及其电路设计。 重点:桶形移位器的工作原理。 难点:桶形移位器的电路设计。 实验四: 总线控制器设计 主要内容:用 Verilog HDL 语言来编写实现一种 总线控制器 ,并在 Altera DE2-70 开发板实现。 基本要求:通过此实验使学生理解 总线控制器 工作原理,学会用 FPGA实现 总线控制器 电路,掌握 总线控制器 的工作原理及其电路设计。 重点:理解整数乘法器工作原理。 难点:整数乘法器的设计。 实验五: 整数的乘法运算部件 主要内容:用 Verilog HDL 语言来编写实现一种 32 位整数乘法器,并在 Altera DE2-70 开发板实现
6、。 基本要求:通过此实验使学生理解整数乘法器工作原理,学会用 FPGA实现整数乘法器电路,掌握整数乘法器的工作原理及其电路设计。 重点:理解整数乘法器工作原理。 难点:整数乘法 器的设计。 7 实验六: 算术逻辑单元设计 主要内容:设计 ALU 电路,用 Verilog HDL 语言描述 32 位的 ALU 的电路设计,并在 Altera DE2-70 开发板实现 ALU,使其能够支持基本的指令。 基本要求:通过此实验使学生理解 ALU 工作原理,学会用 FPGA 实现ALU,掌握 ALU 的工作原理及其电路设计。 重点: ALU 基本工作原理。 难点: ALU 电路设计。 实验七: 单时钟周
7、期 CPU 的设计 主要内容:用 Verilog HDL 语言来描述单周期 CPU 设计,能够完成规定的指令,并在 Altera DE2-70 开发板实现。 基本要求:通过此实验使学生理解单周期 CPU 工作原理,学会用 FPGA实现单周期 CPU 电路,掌握单周期 CPU 的工作原理及其电路设计。 重点:单周期 CPU 的工作原理。 难点:单周期 CPU 的控制通路和数据通路设计。 实验八: 多时钟周期 CPU 的设计 主要内容:用 Verilog HDL 语言来描述多周期 CPU 设计,能够完成规定的指令,并在 Altera DE2-70 开发板实现。 基本要求:通过此实验使学生理解多周期
8、 CPU 工作原理,学会用 FPGA实现单周期 CPU 电路,掌握多周期 CPU 的工作原理及其电路设计。 重点:多时钟周 期 CPU 的工作原理与逻辑功能实现。 难点:单周期 CPU 的控制通路和数据通路设计。 实验九: 微程序控制器设计 主要内容:设计微程序控制器电路,用 Verilog HDL 语言描述微程序控制器的电路设计,并在 Altera DE2-70 开发板实现,使其能够支持基本的指令。 基本要求:通过此实验使学生理解微程序控制器的工作原理,学会用FPGA 实现微程序控制器,掌握微程序控制器的工作原理及其电路设计。 重点:微程序控制器工作原理。 难点:微程序控制器电路设计。 8
9、三、各教学环节的学时分配 四、实验部分 教学内容和要求:(含课内实验的课程填写本部分) 1、实验项目及学时分配 其中:演示性实验 0 %,验证性实验 0 %,设计性实验 47 %,综合性实验 53 % 序号 实验项目名称 实验内容及要求 学 时 实验类型 演示 验证 设计 综合 1 实验一: 寄存器组设计 根据实验原理框图完成 一个由 m 个寄存器组成的字长为 2n 位的寄存器组的 设计,并在 Altera DE2-70 开发板实现。 5 项目 章节 主要内容 学时分配 讲课 习题课 实验 上机 合计 第一章 寄存器组设计 1 4 5 第二章 静态随机存储器设计 1 4 5 第三章 32 位桶
10、形移位器设计 1 2 3 第四章 总线控制器设计 1 2 3 第五章 整数的乘法运算部件 2 4 6 第六章 算术逻辑单元设计 2 6 8 第七章 单时钟周期 CPU 的设计 2 12 14 第八章 *多时钟周期 CPU 的设计 2 18 20 第九章 *微程序控制器设计 2 18 20 合计 14 50 64 9 2 实验二: 静态随机存储器设计 用 Verilog HDL 语言来编写实现一种静态随 机存储 器器 ,并 在 Altera DE2-70 开发板实现。 5 3 实验三: 32 位桶形移位器设计 用 Verilog HDL语言来描述 32位 桶形移位器设计 ,在 Quartus I
11、I 上实现模拟仿真,并 在 Altera DE2-70 开发板实现 8 位的 桶形移位器 ,使其能够正常工作。 3 4 实验四: 总线控制器设计 用 Verilog HDL 语言来编写实现一种总线控制器,并在 Altera DE2-70 开发板实现。 3 5 实验五: 整数的乘法运算部件 用 Verilog HDL 语言来编写实现一种32 位 整 数 乘 法 器 , 并 在 Altera DE2-70 开发板实现。 6 6 实验六: 算术逻辑单元设计 设计 ALU 电路,用 Verilog HDL 语言描述 32 位的 ALU 电路设计 , 并 在Altera DE2-70 开发板实现 ALU
12、,使其能够支持基本的指令。 8 7 实验七: 单时钟周期 CPU 的设计 用 Verilog HDL 语言来描述 单周期CPU 设计,能够完成规定的指令,并在 Altera DE2-70 开发板实现。 14 8 *实验八: 多时钟周期 CPU 的设计 用 Verilog HDL 语言来描述 多周期CPU 设计 ,能够完成规定的指令,并在 Altera DE2-70 开发板实现。 20 9 *实验九: 微程序控制器设计 设计微程序控制器电路,用 Verilog HDL 语言描述微程序控制器的电路设计,并在 Altera DE2-70 开发板实现,使其能够支持基本的指令。 20 合计 64 30
13、34 比例 100% 46.88% 53.12% 注:带“ *”的实验八和实验九二选一。 2、 实验所需设备及材料 序号 实验项目名称 每组每组需要的 主要仪器设备 每组需要的 主要实验材料 10 人数 设备名称 数量 材料名称 数量 性 质 1 所有实验 1 FPGA 开发板 35 / / / EDA 软件 35 / / / PC 机 1 / / / 五、本课程与其它课程的联系 本课程先修课:计算机组成与设计、 FPGA 课程设计 本课程后续课:微处理器设计课程设计、基于 FPGA 的嵌入式系统设计 六、建议教材及参考资料 建议教材: 1 蒋丽华 .基于 EDA 技术的单周期 CPU 设计与实现 计算机组成原理实践 .北京:清华大学出版社 .2012 年 6 月 参考资料: 1杨军 .基于 Quartus II 的计算机组成与体系结构综合实验教程 .北京:科学出版社 .2011 年 1 月 2张泽生 . 计算机组成原理实验教程 . 待出 .