课题:总线传递实验
一、实验目的
1.完成数据在总线上的传递并理解其运行过程
2.掌握采用总线结构进行信息传递的方法
二、实验设备
1.装有 ISE Design Suite 14.7 的计算机一台
2.EDK-3 SA ISE 实验平台
三、实验任务
1.实现总线传递控制模块设计
2.验证数据在总线上的传递过程
四、实验原理
各部件之间信息的传递功能:
(1) I—>O,P
(2) P—>M
(3) I—>M
(4) M—>P
显示管:
1.操作现象
按下sw3,随着数值的改变,高低电平的变化,数据在总线上呈现不同的传递,因而有不同的输出。
2.个人理解:
数码管显示器从左往右为PMOI:
I为74LS244,是TTL八同相三态缓冲器/ 线驱动器,其CMOS器件对应为74HC244, 常作为单片机的输入输出数据缓冲器,在选通时输入数据送到总线上,在非选通时对总线呈高阻态,没有存储功能。
P、M、O为74LS273,是一种带清除功能的8D触发器, 1D ~8D为数据输入端,1Q~8Q为数据输出端,正脉冲触发,低电平清除,常用作8 位地址锁存器具有存储功能。
Sw3数值为0时:未输入;
Sw3数值为1时:I中传入0111;
Sw3数值为2时:因为M未通过,I中数据传入O与P;
Sw3数值为3时:P数据传入M,O低电平清除;
Sw3数值为4时:I传入M;
Sw3数值为0时:M数据传入P.
五、部分代码
定义时序产生模块:
module TimingGen(
input Clk, //System Clock 40Mhz
input Button, // setep clock
input Rstn, // reset, low active
input Clk_sel, // sequence timing or step timing select
output [6:0] Bit1_seg, // Display
output t1,
output t2,
output t3,
output t4,
output Clk_m1
);
// wire Clk_m1;
wire Clk_i,Clk_ii;
wire PB_R;
// wire t1,t2,t3,t4;
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)
);
ClkSel ClkSel_Module (
.Clk_s(Clk),
.Clk_i(Clk_i),
.Clk_ii(Clk_ii),
.Clk_m1(Clk_m1),
.Clk_sel(Clk_sel)
);
Bit1_Display Bit1_Display_Module (
.Clk_s(Clk),
.Clk_m1(Clk_m1),
.Bit1_seg(Bit1_seg),
.Rstn(Rstn),
.w1(t1),
.w2(t2),
.w3(t3),
.w4(t4)
);
Debouncer Debouner_Module (
.Clk_s(Clk),
.PB(Button),
.PB_state(),
.PB_up(PB_R),
.PB_down()
);
endmodule
74LS273 :
module ls273(clk_s,Clock,Clear,D,Q);
input clk_s,Clock,Clear;
input [3:0] D;
output [3:0] Q;
reg [3:0] Q;
always@(posedge clk_s )
begin
if (Clock==1) begin
if (Clear==0)
Q<=4'b0000;
else
Q<=D;
end
end
endmodule
74LS244 :
module ls244(G,A,Y);
input G;
input [3:0] A;
output [3:0] Y;
assign Y=(G==0)?A:'bz;
endmodule
六、问题思考
1.限制数据在总线中传递的因素有哪些?
材料因素;时钟频率;字长;串并行方式。
2.如果要提高数据传递的并行性,可以采用哪些方案?
提高频率,缩短周期,增加字长,并行传输。
切换SW17到off端,重新实验观察实验现象,分析变化原因。
Sw3的数值会自动增加,手动脉冲变为自动脉冲;从代码看,实验的时钟周期开始自动变换。