목차
소스코드 전문입니다.
각 블럭 별로 폴더별로 나눠져있습니다.
각 블럭 별로 폴더별로 나눠져있습니다.
본문내용
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Module Name: 32bit MultiCycle MIPS - Top module -
// Project Name: 32bit MultiCycle MIPS
//////////////////////////////////////////////////////////////////////////////////
module MultiCycle_MIPS(clk, rst, MemData, MemRead, MemWrite, Address, MWritedata, c_PC,
c_Instruction, c_MDR);
input clk, rst;
input [31:0] MemData;
output [31:0] c_PC;
output [31:0] c_Instruction;
output [31:0] c_MDR;
output MemRead;
output MemWrite;
output [31:0] Address;
output [31:0] MWritedata;
// Main Control Unit wire
wire PCWriteCond;
wire PCWrite;
wire IorD;
wire MemRead;
wire MemWrite;
wire MemtoReg;
wire IRWrite;
wire CauseWrite;
wire IntCause;
wire EPCWrite;
wire [1:0]PCSource;
wire [1:0]ALUOp;
wire [1:0]ALUSrcB;
wire ALUSrcA;
wire RegWrite;
wire RegDst;
//ALU Control Unit wire
wire [2:0]ALU_Op;
//ALU wire
wire [31:0]ALU_Result;
wire [31:0]ALU_a;
wire [31:0]ALU_b;
wire Overflow;
wire Zero;
//Registers wire
wire [4:0]Writeregister;
wire [31:0]Writedata;
wire [31:0]Readdata1;
wire [31:0]Readdata2;
//Program Counter wire
wire [31:0]PCIn;
wire [31:0]PC;
wire PCctrl;
wire PCWriteCond2;
assign PCWriteCond2 = Zero && PCWriteCond;
assign PCctrl = PCWriteCond2 || PCWrite;
//Instruction Register wire
wire [31:0]Instruction;
//ShiftLeft 2 wire
wire [31:0]ShiftLeft2_1;
wire [27:0]ShiftLeft2_2;
wire [31:0]JumpAddr;
//ALUOut Register wire
wire [31:0]ALUOut;
//////////////////////////////////////////////////////////////////////////////////
// Module Name: 32bit MultiCycle MIPS - Top module -
// Project Name: 32bit MultiCycle MIPS
//////////////////////////////////////////////////////////////////////////////////
module MultiCycle_MIPS(clk, rst, MemData, MemRead, MemWrite, Address, MWritedata, c_PC,
c_Instruction, c_MDR);
input clk, rst;
input [31:0] MemData;
output [31:0] c_PC;
output [31:0] c_Instruction;
output [31:0] c_MDR;
output MemRead;
output MemWrite;
output [31:0] Address;
output [31:0] MWritedata;
// Main Control Unit wire
wire PCWriteCond;
wire PCWrite;
wire IorD;
wire MemRead;
wire MemWrite;
wire MemtoReg;
wire IRWrite;
wire CauseWrite;
wire IntCause;
wire EPCWrite;
wire [1:0]PCSource;
wire [1:0]ALUOp;
wire [1:0]ALUSrcB;
wire ALUSrcA;
wire RegWrite;
wire RegDst;
//ALU Control Unit wire
wire [2:0]ALU_Op;
//ALU wire
wire [31:0]ALU_Result;
wire [31:0]ALU_a;
wire [31:0]ALU_b;
wire Overflow;
wire Zero;
//Registers wire
wire [4:0]Writeregister;
wire [31:0]Writedata;
wire [31:0]Readdata1;
wire [31:0]Readdata2;
//Program Counter wire
wire [31:0]PCIn;
wire [31:0]PC;
wire PCctrl;
wire PCWriteCond2;
assign PCWriteCond2 = Zero && PCWriteCond;
assign PCctrl = PCWriteCond2 || PCWrite;
//Instruction Register wire
wire [31:0]Instruction;
//ShiftLeft 2 wire
wire [31:0]ShiftLeft2_1;
wire [27:0]ShiftLeft2_2;
wire [31:0]JumpAddr;
//ALUOut Register wire
wire [31:0]ALUOut;
추천자료
4층 엘리베이터 elevator controller 베릴로그 설계
State Transition Diagram of Signal Lamp, 베릴로그, 실험소스
ALU, Shifter, 베릴로그 소스, 예비, 결과레포트
Single Cycle CPU 제작,베릴로그, 소스, 레포트
RAM에서의loadstore 기능구현, 베릴로그, 쿼터스, 결과소스
ALU( Ripple Carry Adder 이용 ),Wallace( 곱셈기 ),베릴로그,쿼터스, 소스
Control Logic Unit, 베릴로그, 결과파일, 소스
RCA, CLA, Subtractor(Compararot이용), 베릴로그, 소스파일있음.
Verilog(베릴로그) 이용한 시계 설계
소개글