計算机组成原理FPGA实验指导书
《计算机组成原理》
实验指导书
计算机科学与技术学院
目录
实验一 熟悉实验平台……………………………………………………………………(3)
实验二 总线传送…………………………………………………………………………(10)
实验三 运算器的设计与调试……………………………………………………………(14)
实验四 存贮器的设计与调试……………………………………………………………(20)
实验五 控制器的设计与调试…………………………………………………………...(26)
附 录 常用器件简介……………………………………………………………………(30)
实验一 熟悉实验平台
一.实验目的
熟悉使用Verilog硬件描述语言
熟悉ISE开发环境
掌握实验箱组成
熟悉时序发生器的组成原理;
掌握数字逻辑器件Verilog语言的编写;
二.实验设备
装有ISE10.1的PC机一台
EDK-3SAISE实验箱一台
三.实验内容
1.节拍信号T1—T4波形如图-1所示
图-1 节拍时序波形图
每个节拍内均包含脉冲clk_m1。节拍信号有三种工作方式。这三种工作方式受Clk_sel,Clk_sel1电平开关组合控制。
Clk_selClk_sel1功能说明00连续时标方式01单周期时标方式10单周期时标方式11单拍时标方式
时标信号的启动,停止受Button,Rstn按钮开关控制。
2.用Verilog语言实现时序代码如下:
module Timeen(
input Clk, //System Clock 40Mhz
input Button, // setep clock
input Rstn, // reset, low active
input Clk_sel, // sequence timing or step timing select
input Clk_sel1,
output [4:1] t, // Display(T1-T4) output M1
);
wire Clk_m1;
wire Clk_i,Clk_ii;
wire PB_R;
assign M1=Clk_m1;
GenClk_i Clk_i_Module (
.Clk_s(Clk),
.Clk_i(Clk_i),
.Rstn(Rstn)
);
GenClk_ii Clk_ii_Module (
.PB_R(PB_R),
.Clk(Clk),
.Clk_ii(Clk_ii)
);
Debouncer Debouner_Module (
.Clk_s(Clk),
.PB(Button),
.PB_state(),
.PB_up(PB_R),
.PB_down()
);
ClkSel ClkSel_Module (
.Clk_s(Clk),
.Clk_i(Clk_i),
.Clk_ii(Clk_ii),
.Clk_m1(Clk_m1),
.Clk_sel(Clk_sel),
.Clk_sel1(Clk_sel1)
);
Bit1_Display Bit1_Display_Module (
.Clk_s(Clk),
.Clk_m1(Clk_m1),
.T(t),
.Rstn(Rstn),
.Clk_i(Clk_i)
);
endmodule
module GenClk_i(
input Clk_s,
output Clk_i,
input Rstn
);
reg [24:0] Cnt;
assign Clk_i= Cnt[24];
always@(posedge Clk_s or negedge Rstn)
begin
if (!Rstn)
Cnt<=0;
else
Cnt <= Cnt + 1;
end
endmodule
module GenClk_ii(
input PB_R,
input Clk,
output Clk_ii
);
reg Cl