1.课程设计目的
摘要: 一、 实验目的 (1) 学习用MAX+Plus II开发系统对可编程逻辑器件编程的方法;(2) 学习“ CPLD /FPGA数字发展实验箱”的使用方法以及把文件下载到CPLD芯片中的方法。 二、 仿真电路设计及设计思路 仿真电路图如图所示。具体的电路接法及工作原理说明如下: 用两个74LS194四位双向移位寄存器模拟乒乓球台,其中第一个74LS194的DL输出
一、 实验目的
(1) 学习用MAX+Plus II开发系统对可编程逻辑器件编程的方法;
(2) 学习“ CPLD /FPGA数字发展实验箱”的使用方法以及把文件下载到CPLD芯片中的方法。
随着科学技术日益迅速的发展,数字系统已深入到生活的各个方面,它具有技术效果好、经济效益高、技术先进、造价低、可靠性高、维修方便等优点。所以我们用Verilog HDL设计一款乒乓球游戏电路。通过给定的一个信号满足灯的亮和灭、灭与移动的速度,进而来实现乒乓球游戏。
2,设计思想和过程
分别定义af、aj、bf、bj,分别表示A的发球与接球、B的发球与接球。采用七段数码管分别记录和显示其A与B的得分情况,当控制指定的按键来实现接球与发球的游戏功能,并且利用7位二进制来控制具体的乒乓球的运动情况和各个得分情况,来实现课题所要求的各种情况。对于时间方面,可以采用分频器来进行具体的时间控制。
代码
module tbpp;
reg clk;
reg af;
reg aj;
reg bf;
reg bj;
reg reset;
wire[4:0] shift;
wire[6:0] seg7;
wire[6:0] seg8;
initial
begin
clk=0;
reset=0;
#10 reset=1;
#20 reset=0;
end
always #5 clk=~clk;
initial
begin
af=0;bf=0;
#40 bf=1;
#10 bf=0;
repeat (4) @(posedge clk);
#5 aj=1;
#10 aj=0;
repeat (3) @(posedge clk);
bj=1;
#10 bj=0;
#30;
@(posedge clk);
#5 bf=1;
#10 bf=0;
#100 $stop;
end
pp pp(shift,seg7,seg8,clk,reset,af,aj,bf,bj);
endmodule
module pp(shift, seg7, seg8, clk50Mhz, rst, af, aj, bf, bj);
output[4:0] shift;
output[6:0] seg7;
output[6:0] seg8;
input clk50Mhz;
input af;
input aj;
input bf;
input bj;
input rst;
reg[4:0] shift;
reg[6:0] seg7;
reg[6:0] seg8;
reg clk2hz;
reg[3:0] a_score, b_score;
reg[23:0] cnt;
reg a, b;
reg[4:0] shift_1;
always@(posedge clk50Mhz)
begin
if(cnt==24'd12500000)
begin
clk2hz=~clk2hz;
cnt<=0;
end
else
cnt<=cnt+1;
end
always@(posedge clk2hz)
begin
if(rst)
begin
a_score<=0;
b_score<=0;
a<=0;
b<=0;
shift_1<=0;
end
else
begin
if(!a&&!b&&af)
begin
a<=1;
shift_1<='b10000;
end
else if(!a&&!b&&bf)
begin
b<=1;
shift_1<='b00001;
end
else if(a&&!b)
begin
if(shift_1>'b00100)
begin
if(bj)
begin
a_score<=a_score+1;
a<=0;
b<=0;
shift_1<='b00000;
end
else
begin
shift_1[4:0]<=shift_1[4:0]>>1;
end
end