计算机组成原理课程设计:基于FPGA的Verilog模型机设计。

理解简单模型机的工作原理,理解程序计数器,算数逻辑运算单元,控制单元,的工作原理。学会设计以及使用指令完成一定的功能,并将程序写入FPGA开发板并结合led灯数码管予以显示。
通过模型机设计可以掌握用verilog来硬件描述电路,掌握modlesim的仿真与调试,掌握基于ISE开发的基本流程

整个模型机modelsim模型仿真以及通过ISE软件上位机在FPGA上实现模型机的算数逻辑运算和流水灯,以及竞赛报告答辩ppt,及其演示视频的完整项目打包文件请点击以下链接:

基于FPGA的Verilog模型机设计下载

整体功能----划分为9个子功能,协同完成。子功能对应子模块。

①Prog_counter模块
②Prog_memory模块
③Control_memory模块
④Reg_16x4模块
⑤Acc模块
⑥Alu_flag模块
⑦Alu_function模块
⑧Port模块
⑨Alu_74181模块

1. 模型机构成图:在这里插入图片描述

2. 算术逻辑运算器ALU的设计: 在这里插入图片描述
3. ALU-74LS181引脚说明:

在这里插入图片描述

4. 逻辑表达式:
在这里插入图片描述

5. 进一步化简可得ALU的一位逻辑表达式如下:
在这里插入图片描述

6. 4位之间采用先行进位公式:
在这里插入图片描述

7. 用正逻辑表示的4位算术/逻辑运算单元(ALU)的逻辑电路图:
在这里插入图片描述

8. 4位的ALU74LS181运算功能发生器算数运算和逻辑运算:
在这里插入图片描述

9. 微指令和微程序的详细设计:
在这里插入图片描述
10. 存储器设计:
在这里插入图片描述

11. IO端口设计:
在这里插入图片描述

12. 程序计数器设计:
在这里插入图片描述

13. 数码管设计:

在这里插入图片描述在这里插入图片描述
14. 顶层综合仿真记录:

在这里插入图片描述
15. 运行结果截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

74LS181代码实现:

`timescale 1ns/1ns
`include "./define.v"

module alu_74181 (S, A, B, M, CNb, F, X, Y, CN4b, AEB);

  input [3:0] A, B, S;
  input CNb, M; 
  output [3:0] F;
  output AEB, X, Y, CN4b;
	
  TopLevel74181b Ckt74181b (S, A, B, M, CNb, F, X, Y, CN4b, AEB);

endmodule /* Circuit74181b */

/*************************************************************************/

module TopLevel74181b (S, A, B, M, CNb, F, X, Y, CN4b, AEB);

  input [3:0] A, B, S;
  input CNb, M; 
  output [3:0] F;
  output AEB, X, Y, CN4b;
  wire [3:0] E, D, C, Bb;
  
  Emodule Emod1 (A, B, S, E);
  Dmodule Dmod2 (A, B, S, D);
  CLAmodule CLAmod3(E, D, CNb, C, X, Y, CN4b);
  Summodule Summod4(E, D, C, M, F, AEB);

endmodule /* TopLevel74181b */

/*************************************************************************/

module Emodule (A, B, S, E);

  input [3:0] A, B, S;
  output [3:0] E;
  wire [3:0]  ABS3, ABbS2;

  assign ABS3 = A&B&{4{S[3]}};
  assign ABbS2 = A&~B&{4{S[2]}};
  assign E = ~(ABS3|ABbS2);

endmodule /* Emodule */

/*************************************************************************/

module Dmodule (A, B, S, D);

  input [3:0] A, B, S;
  output [3:0] D;
  wire [3:0]  BbS1, BS0;  

  assign BbS1 = ~B&{4{S[1]}};
  assign BS0 = B&{4{S[0]}};
  assign D = ~(BbS1|BS0|A);

endmodule /* Dmodule */

/*************************************************************************/

module CLAmodule(Gb, Pb, CNb, C, X, Y, CN4b);

  input [3:0] Gb, Pb;
  input CNb; 
  output [3:0] C;
  output X, Y, CN4b;

  assign C[0] = ~CNb;
  assign C[1] = ~(Pb[0]|(CNb&Gb[0]));
  assign C[2] = ~(Pb[1]|(Pb[0]&Gb[1])|(CNb&Gb[0]&Gb[1]));
  assign C[3] = ~(Pb[2]|(Pb[1]&Gb[2])|(Pb[0]&Gb[1]&Gb[2])|(CNb&Gb[0]&Gb[1]&Gb[2]));
  assign X = ~&Gb;
  assign Y = ~(Pb[3]|(Pb[2]&Gb[3])|(Pb[1]&Gb[2]&Gb[3])|(Pb[0]&Gb[1]&Gb[2]&Gb[3]));
  assign CN4b = ~(Y&~(&Gb&CNb));

endmodule /* CLAmodule */

/*************************************************************************/

module Summodule(E, D, C, M, F, AEB);

  input [3:0] E, D, C;
  input M; 
  output [3:0] F;
  output AEB;

  assign F = (E ^ D) ^ (C | {4{M}});
  assign AEB = &F;

endmodule /* Summodule */

Prog_counter模块,Prog_memory模块,Control_memory模块,Reg_16x4模块,Acc模块,Alu_flag模块,Alu_function模块,Port模块,BCD数码管的verilog代码实现,以及整个模型机modelsim模型仿真以及通过ISE软件上位机在FPGA上实现模型机的算数逻辑运算和流水灯,以及竞赛报告答辩ppt,及其演示视频的完整项目打包文件请点击以下链接:

基于FPGA的Verilog模型机设计下载

  • 10
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《计算原理与设计Verilog HDL版》高清是一本关于计算原理和设计的书籍,采用Verilog硬件描述语言进行讲解。本书是针对学习计算体系结构和数字设计的学生编写的,旨在通过深入浅出的方式介绍计算的基本原理和设计方法。 本书主要包括计算系统的组成、数字逻辑电路、存储器和存储系统、硬件与软件接口以及处理器等内容。通过将理论与实践相结合,读者可以全面了解计算体系结构和数字设计的原理与方法。 在Verilog HDL的实践部分,本书介绍了Verilog HDL的基本语法、模块化设计以及函数的使用等内容。通过实际的例子和练习,读者可以学会使用Verilog HDL进行数字电路的设计和仿真。 与传统的计算原理与设计教材相比,本书使用Verilog HDL作为描述语言,旨在更好地培养学生的实践能力和创新思维。同时,书中提供了大量的实例和实验,可以帮助读者巩固所学知识,并提供了一些扩展阅读的参考书目,以便读者进一步深入学习相关领域的知识。 总之,《计算原理与设计Verilog HDL版》高清是一本很实用的教材,它既涵盖了计算原理和设计的基础知识,又通过Verilog HDL的实践部分提供了一种全新的学习方式。无论是对计算原理和设计感兴趣的学生,还是希望学习Verilog HDL的人士,这本书都会是一个很好的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值