云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 体系结构实验手册

体系结构实验手册

  • 62 次阅读
  • 3 次下载
  • 2026/4/23 19:29:07

《高级计算机体系结构》实验

图4

三.实验环境

软件:QuartusII 6,ModelSim

硬件平台:GW48-SOPC/DSP EP1C6Q240

四.实验步骤

1.各个子模块的Verilog实现 (1)ALU模块

module alu(op,a,b,c); input op;

input [7:0] a,b; output [7:0] c;

assign c = (op==0)?(a+b):(a&b); endmodule

(2)IR模块

module ir(clk,load,din,dout); input clk,load; input [1:0] din; output [1:0] dout; reg [1:0] dout;

always @(posedge clk) begin

if(load)

dout = din; end endmodule

(3)DR模块

module dr(clk,load,din,dout); input clk,load; input [7:0] din; output [7:0] dout; reg [7:0] dout;

always @(posedge clk) begin

if(load)

dout = din;

《高级计算机体系结构》实验

end endmodule

(4)PC模块

module pc(clk,rst,load,inc,din,dout); input clk,rst,load,inc; input [5:0] din; output [5:0] dout; reg [5:0] dout;

always @(posedge clk) begin if(rst)

dout = 0; else if(inc)

dout = dout + 1; else if(load) dout = din; end endmodule

(5)AR模块

module ar(clk,load,din,dout); input clk,load; input [5:0] din; output [5:0] dout; reg [5:0] dout;

always @(posedge clk) begin

if(load)

dout = din; end endmodule

(6)AC模块

module ac(clk,rst,load,inc,din,dout); input clk,rst,load,inc; input [7:0] din; output [7:0] dout; reg [7:0] dout;

always @(posedge clk) begin if(rst)

dout = 0; else if(inc)

《高级计算机体系结构》实验

dout = dout + 1; else if(load) dout = din; end endmodule

(7)Control模块

module control(clk,rst,ir, read,membus, arload,

pcload,pcinc,pcbus, drload,drbus, alusel,

acload,acinc, irload );

parameter FETCH1 = 0; parameter FETCH2 = 1; parameter FETCH3 = 2; parameter ADD1 = 3; parameter ADD2 = 4; parameter AND1 = 5; parameter AND2 = 6; parameter INC1 = 7; parameter JMP1 = 8; input clk,rst; input [1:0] ir;

output read,membus, arload,

pcload,pcinc,pcbus, drload,drbus, alusel,

acload,acinc, irload;

reg [3:0] state,nextstate; always @(posedge clk) begin if(rst)

state <= FETCH1; else

state <= nextstate; end

always @(state or ir) begin

《高级计算机体系结构》实验

case(state)

FETCH1:nextstate <= FETCH2; FETCH2:nextstate <= FETCH3; FETCH3: begin

if(ir==0)

nextstate <= ADD1; else if(ir == 1)

nextstate <= AND1; else if(ir == 2)

nextstate <= INC1; else

nextstate <= JMP1; end

ADD1:nextstate <= ADD2; ADD2:nextstate <= FETCH1; AND1:nextstate <= AND2; AND2:nextstate <= FETCH1; JMP1:nextstate <= FETCH1; INC1:nextstate <= FETCH1; default:nextstate <= FETCH1; endcase end

assign arload = (state == FETCH1 || state== FETCH3)?1:0; assign pcload = (state == JMP1)?1:0; assign pcinc = (state == FETCH2)?1:0;

assign drload = (state == FETCH2 || state== ADD1 || state== AND1)?1:0;

assign acload = (state == ADD2 || state== AND2)?1:0; assign acinc = (state == INC1 )?1:0; assign irload = (state == FETCH3)?1:0; assign alusel = (state == AND2)?1:0;

assign membus = (state == FETCH2 || state== ADD1 || state== AND1)?1:0;

assign pcbus = (state == FETCH1)?1:0;

assign drbus = (state == FETCH3 || state== ADD2 || state== AND2 || state == JMP1)?1:0;

assign read = (state == FETCH2 || state == ADD1 || state == AND1)?1:0; endmodule

(8)三态门(6 bit)模块

module tri6(en,din,dout); input en;

搜索更多关于: 体系结构实验手册 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

《高级计算机体系结构》实验 图4 三.实验环境 软件:QuartusII 6,ModelSim 硬件平台:GW48-SOPC/DSP EP1C6Q240 四.实验步骤 1.各个子模块的Verilog实现 (1)ALU模块 module alu(op,a,b,c); input op; input [7:0] a,b; output [7:0] c; assign c = (op==0)?(a+b):(a&b); endmodule (2)IR模块 module ir(clk,load,din,dout); input clk,load; input [1:0] din; outpu

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com