第一范文网 - 专业文章范例文档资料分享平台

体系结构实验手册

来源:用户分享 时间:2025/6/11 2:41:20 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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

图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;

搜索更多关于: 体系结构实验手册 的文档
体系结构实验手册.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6yx2b6fdje8wrp6237us_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top