Verilog MIPS32 CPU(九)-- 顶层文件
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 04/28/2017 07:27:12 PM
// Design Name:
// Module Name: Interfaces
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
////////////////////////////////////////////////////////////////////////////////// module Interface(
input clk,
input rst,
output [:] o_seg,AN
); // wire [7:0] o_seg,AN;
wire [:] instr,rdata1,rdata2;
wire [:] pc;
wire [:] reg_data;
wire reg_wena,ram_wena,pc_ena;
wire [:] ram_addr; wire [:] alu_op; wire [:] alu_r;
wire [:] rs,rt,rd; wire [:] hi,lo,cop_data; parameter ENA = 'b1;
parameter DIS = 'b0; wire [:] pc_in,alu_a,alu_b;
wire [:] ram_data;
wire [:] wdata,exc_addr;
wire [:] mult_hi,mult_lo,div_hi,div_lo;
wire [:] waddr;
wire [:] cause;
wire z,c,o,n; wire mtc0,eret;
wire [:] mdu; wire [:] IRAdd = pc>>;
wire [:] mul_out;
wire [:] watch_out;
// wire [31:0] watch_out2=call_code;
wire seg7_cs,teq_exc; wire scan_dir; drive IR(.a(IRAdd[:]), .spo(instr)); pcreg pcreg(
clk,
rst,
pc_ena,
pc_in,
pc); alu alu(
alu_a,
alu_b,
alu_op,
alu_r,
z,c,n,o); RegFiles regfiles(
clk,
rst,
reg_wena,
rs,
rt,
waddr,
wdata,
rdata1,
rdata2
); CP0 CP0(
clk,rst,teq_exc,mtc0,
pc,
rd,rdata2,
eret,cause,
cop_data,exc_addr); ram ram(
clk,
ram_wena,
ram_addr[:],
reg_data,
ram_data,
watch_out
); seg7x16 seg7x16(
clk,rst,
watch_out,
o_seg,AN); MDU MDU(
.mdu(mdu),
.clk(clk),.rst(rst),
.mul_out(mul_out),
.rdata1(rdata1),.rdata2(rdata2),
.hi(hi),.lo(lo),
.pc_ena(pc_ena)); CtrlUnit CtrlUnit(
.instr(instr),
.rdata1(rdata1),
.rdata2(rdata2),
.pc(pc),
.clk(clk),
.ram_data(ram_data),
.mul_out(mul_out[:]),
.rs(rs),.rt(rt),.rd(rd),
.hi(hi),.lo(lo),
.cop_data(cop_data),
.exc_addr(exc_addr),
.teq_exc(teq_exc),
.mtc0(mtc0),.eret(eret),
.mdu(mdu),
.cause(cause),
.reg_wena(reg_wena),.ram_wena(ram_wena),
.waddr(waddr),.ram_addr(ram_addr),
.wdata(wdata),.reg_data(reg_data),
.pc_in(pc_in),
.alu_a(alu_a),.alu_b(alu_b),.alu_r(alu_r),
.alu_op(alu_op));
endmodule
Verilog MIPS32 CPU(九)-- 顶层文件的更多相关文章
- Verilog MIPS32 CPU(八)-- 控制器
Verilog MIPS32 CPU(一)-- PC寄存器 Verilog MIPS32 CPU(二)-- Regfiles Verilog MIPS32 CPU(三)-- ALU Verilog M ...
- Verilog MIPS32 CPU(六)-- MDU
Verilog MIPS32 CPU(一)-- PC寄存器 Verilog MIPS32 CPU(二)-- Regfiles Verilog MIPS32 CPU(三)-- ALU Verilog M ...
- Verilog MIPS32 CPU(七)-- DIV、DIVU
Verilog MIPS32 CPU(一)-- PC寄存器 Verilog MIPS32 CPU(二)-- Regfiles Verilog MIPS32 CPU(三)-- ALU Verilog M ...
- Verilog MIPS32 CPU(五)-- CP0
Verilog MIPS32 CPU(一)-- PC寄存器 Verilog MIPS32 CPU(二)-- Regfiles Verilog MIPS32 CPU(三)-- ALU Verilog M ...
- Verilog MIPS32 CPU(四)-- RAM
Verilog MIPS32 CPU(一)-- PC寄存器 Verilog MIPS32 CPU(二)-- Regfiles Verilog MIPS32 CPU(三)-- ALU Verilog M ...
- Verilog MIPS32 CPU(三)-- ALU
Verilog MIPS32 CPU(一)-- PC寄存器 Verilog MIPS32 CPU(二)-- Regfiles Verilog MIPS32 CPU(三)-- ALU Verilog M ...
- Verilog MIPS32 CPU(二)-- Regfiles
Verilog MIPS32 CPU(一)-- PC寄存器 Verilog MIPS32 CPU(二)-- Regfiles Verilog MIPS32 CPU(三)-- ALU Verilog M ...
- Verilog MIPS32 CPU(一)-- PC寄存器
Verilog MIPS32 CPU(一)-- PC寄存器 Verilog MIPS32 CPU(二)-- Regfiles Verilog MIPS32 CPU(三)-- ALU Verilog M ...
- 66.为什么有时候在ISE软件中,顶层文件不能置顶?
什么时候回出现顶层文件不能置顶呢?嘿嘿,肯定是工程中有错误啦. 如果你的顶层文件包含了include文件,这个时候就会出现这种情况了.但好像出现在刚新建工程的时候,因为当顶层文件不包括Include文 ...
随机推荐
- C# 命名空间(Namespace)
命名空间的设计目的是提供一种让一组名称与其他名称分隔开的方式.在一个命名空间中声明的类的名称与另一个命名空间中声明的相同的类的名称不冲突. 也即是不同的命名空间可以有相同的类名
- Halcon学习之七:改变图像的现实方式和大小
change_format ( Image : ImagePart : Width, Height : ) 改变Image图像大小,而且ImagePart图像为灰度值图像. crop_domain ( ...
- CodeFirst(反射+特性)
using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using Sy ...
- Linux 登陆提示文字
/etc/issue是从本地登陆显示的信息 /etc/issue.net是从网络登陆显示的信息 /etc/motd内容由系统管理员确定,常用于通告信息,如计划关机时间的警告等 每次用户登录时,/etc ...
- 添加 MyEclipse Persistence Tools 类库
1).右键点击你的项目,然后选择Properties.2).在 Java Build Path 页面, 在 Libraries 面板下选择 Add Library….3).选择 MyEclipse L ...
- Linux实战教学笔记31:Keepalived高可用集群应用实践
1.1 Keepalived高可用软件 1.1.1 Keepalived介绍 Keepalived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入 ...
- bash's parameter expansion
[bash's parameter expansion] #: find first from left, remove-left ##: find last from left, remove le ...
- 30-Transformation(HDU4578)-区间线段树(复杂)
http://acm.hdu.edu.cn/showproblem.php?pid=4578 Transformation Time Limit: 15000/8000 MS (Java/Others ...
- 10-最小生成树-Prim算法
#include <iostream> #include <cstring> #include <cstdio> using namespace std; #def ...
- Idea安装lombok插件及使用
安装lombok插件:File-settings 具体步骤如下图:1 2.找到Plugins 然后在搜索栏里搜索lombok 点击下放的Search in repositories 3.选中lombo ...