fpga-quartus 第一个简单项目

我这里使用的quartus II 13 sp1

1. 新建项目

在这里插入图片描述
下一步
在这里插入图片描述
填写项目目录信息
在这里插入图片描述
第一个编辑框What is the working directory for this project?就是项目文件的存放目录,New Project Wizard不会再新建项目名称命名的目录

继续next
在这里插入图片描述
在这里插入图片描述
选择 Device familyAvaliable devices 然后下一步
在这里插入图片描述
选择仿真工具和支持的语言,然后next
在这里插入图片描述
完成新建项目
在这里插入图片描述

2. 新建verilog源文件

在这里插入图片描述
输入verilog代码:

module vgatest(   // 主模块和参数
	input clk,
	output myclk
);

reg [3:0] counter;	// 计数器
reg myclk_temp;		// 临时时钟寄存器

always@(posedge clk)
begin
	if(counter < 10)
		counter <= counter + 1'b1;
	else
		begin
			counter <= 1'b1;
			myclk_temp <= ~myclk_temp;	// 计时满10个时钟进行翻转
		end
end

assign myclk = myclk_temp; // 将临时时钟寄存器赋值给输出时钟

endmodule

编译
在这里插入图片描述
编译成功后会弹出一个提示框
在这里插入图片描述

3. 引脚分配

在这里插入图片描述
可以看到模块所有的输入输出引脚
在这里插入图片描述
根据原理图选择对应合适的引脚
在这里插入图片描述
其他未使用的引脚设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择As input tri-stated 或者 As input tri-stated with weak pull-up
可以避免损伤芯片

4. 烧录程序到开发板

在这里插入图片描述
在这里插入图片描述
选择烧写文件进行烧写
在这里插入图片描述
添加项目路径中这个 sof 后缀的文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. 波形仿真

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
也可以选择列出寄存器
在这里插入图片描述
我们把 输入 clk 输出 myclk 和寄存器 counter都选择出来
在这里插入图片描述
在这里插入图片描述
设置一个50MHz的时钟
在这里插入图片描述
在这里插入图片描述
可以看到波形仿真情况

在这里插入图片描述

6. modelsim仿真

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
弹出警告框
在这里插入图片描述
解决这个警告问题:
在这里插入图片描述
在这里插入图片描述
在quartus安装目录下找到仿真器位置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于FPGA设计的贪吃蛇小游戏实验课程设计报告+quartus9.1工程源码,可以做为你的学习设计参考。 摘 要 本次电子技术基础课程设计了贪吃蛇游戏,实现了用FPGA来驱动VGA显示贪吃蛇游戏。贪吃蛇的游戏规则是玩家使用PS2键盘操控一条蛇上下左右移动不断吞下苹果,吃下一个苹果蛇身增长一节,当蛇头撞到蛇身或障壁时游戏结束。本课程设计采用Verilog HDL语言编写,涉及到VGA显示,PS2键盘操控,状态机等相关知识。 关键词:FPGA;VGA;PS2;贪吃蛇;Verilog HDL 2.1 游戏设计内容及要求 基本要求: ① 利用FPGA开发板、VGA显示器、PS2键盘实现贪吃蛇游戏。 ② 一条蛇可以看成由许多正方形的“小格子”拼凑成,称作节。节是蛇身上最小的单位。蛇的初始长度确定。 ③ 蛇的初始位置及方向由FPGA开发板随机生成,每次游戏预送100分。 ④ 用户使用开发板键盘及PS2键盘可控制蛇头的方向及速度。蛇在屏幕中运动每安全度过1秒加1分,静止状态每过1秒减1分,当游戏达到200分时自动进入游戏下一关,当游戏分值自动减为0时游戏失败终止。 ⑤ 当贪吃蛇触壁则失败。 ⑥ 实现游戏蛇身变换及游戏积分的自动动态显示。 2.2 系统分析 贪吃蛇是经典小游戏,本设计采用VGA显示的方式将游戏展现出来。游戏中玩家通过四个按键控制蛇的身体上下左右移动来吃屏幕中出现的苹果,苹果是随机出现的。当蛇吃的一个苹果时,蛇身体变长一个单位同时会有另一个苹果出现。如果蛇头撞墙或者撞到自己身体,则游戏失败。 所要设计的贪吃蛇游戏基于Cyclone III系列EP3C5E114C8N的FPGA芯片为硬件,采用Verilog HDL语言编写程序。在本设计中,有个8按键,分别是上、下、左、右、复位和游戏开始,暂停与继续按键。它们都是输入信号,输出是VGA,在电脑屏幕实现VGA显示字符,游戏画面 第3章 贪吃蛇游戏设计 3.1 VGA显示模块设计 显示器扫描方式分为逐行扫描和隔行扫描:逐行扫描是扫描从屏幕左上角一点开始,从左像右逐点扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行同步;当扫描完所有的行,形成一帧,用场同步信号进行场同步,并使扫描回到屏幕左上方,同时进行场消隐,开始下一帧。   完成一行扫描的时间称为水平扫描时间,其倒数称为行频率;完成一帧(整屏)扫描的时间称为垂直扫描时间,其倒数称为场频率,即刷新一屏的频率,常见的有60Hz,75Hz等等。标准的VGA显示的场频60Hz,行频31.5KHz。 行场消隐信号:是针对老式显像管的成像扫描电路而

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值