3.8VGA显示颜色--明德扬科教2(mdy-edu.com)
接上面内容3.8VGA显示颜色--明德扬科教1(mdy-edu.com)
第5节 简化版步骤分享
这里依旧会分享简化版的步骤,方便掌握基础原理后进行反复操作复习。
5.1 设计实现
5.1.1顶层信号
新建目录:D:mdy_bookcolor_exec1。在该目录中,新建一个名为color_exec1.v的文件,用GVIM打开后开始编写代码。
确定顶层信号,信号和管脚的对应关系见表3.8- 6。
表3.8 - 6信号和管脚关系

写出顶层信号代码:

声明输入输出属性:

5.1.2信号设计
首先进行架构设计。设计目标中确定显示器中需要显示640*480分辨率的图像,因此使用下表中的第一种分辨率:
表3.8-5常见分辨率参数

根据设计目标得到VGA行同步时序图如下所示:

图3.8-15带时间信息的VGA行同步时序
设计计数器架构,表示计数基准时间的计数器cnt0代码如下:

表示计数hys长度的计数器cnt1代码如下:

设计行同步信号的代码如下:

设计VGA场同步时序计数器cnt2代码如下:

场同步信号的代码如下:

设计lcd_rgb信号代码如下:

至此,主体程序已经完成,接下来将module补充完整。
5.1.3信号定义
首先定义信号类型,cnt0、add_cnt0 和 end_cnt0的信号定义如下:

cnt1、add_cnt1和end_cnt1的信号定义如下:

cnt2、add_cnt2和end_cnt2的信号定义如下:

lcd_rgb的信号定义如下:

hys和vys的信号定义如下:

至此,整个代码的设计工作已经完成。最终得到完整的设计代码如下:





下一步是新建工程和上板查看现象。
5.2 综合与上板
5.2.1新建工程
打开软件Quartus Ⅱ,点击“File”下拉列表中的New ProjectWzard...新建工程选项。

图3.8-21Quartus新建工程
直接点击“Next”。

图3.8-22Quartus新建工程介绍
此时出现的是工程文件夹、工程名、顶层模块名设置界面(目录为:D:/mdy_book/color_exec1,工程名和顶层名为color_exec1),完成设置后点击“Next”。

图3.8-23QUARTUS新建工程设置名称
选择“Empty project”后点击“Next”。

图3.8-24QUARTUS新建工程类型
点击右侧的“Add”按钮,选择“color_exec1.v”文件后点击“Next”,完成文件添加。

图3.8-25QUARTUS添加文件
对芯片型号进行选择,在“Device family”选项中选择“Cyclone ⅣE”,“Available devices”选项中选择“EP4CE15F23C8”,随后点击“Next”。

图3.8-26QUARTUS选择芯片型号
直接点击“Next”。

图3.8-27QUARTUS设置工具界面
点击“Finish”,完成新建工程。

图3.8-28QUARTUS新建工程汇总界面
5.2.2综合
新建工程后界面如下图所示,点击“编译”。

图3.8-29QUARTUS新建工程后界面
编译成功如下图所示。

图3.8-30QUARTUS编译后界面
5.3 配置管脚
进行管脚配置,在菜单栏中点击“Assignments”后点击“Pin Planner”,此时会弹出配置管脚的窗口。

图3.8-31 QUARTUS配置管脚选项
在配置窗口“location”根据信号和管脚关系配置管脚,配置完成关闭“Pin Planner”即可自动保存配置信息。

图3.8-32QUARTUS配置管脚
5.3.1再次综合
在此打开“QUARTUS”软件,在菜单栏中选择“Processing”,随后点击“StartCompilation”再次进行综合。

图3.8-33QUARTUS编译选项
出现 QUARTUS 编译成功标志时表示此次编译成功。

图3.8-34QUARTUS编译成功标志
5.3.2连接开发板
下载器接入电脑 USB 接口,将开发板接上电源,开发板的VGA口连接到一台显示器上后按下蓝色开关。

图3.8-35开发板连接图
5.3.3上板
打开 QUARTUS 界面后单击“

”图标:

图3.8-36QUARTUS界面
点击“add file”,添加.sof文件完成添加后点击“Start”,在“Progress”中会显示进度,当进度条显示“100%”为成功,可观察显示器现象。

图3.8-37QUARTUS下载程序界面
第6节 扩展练习
至此,VGA显示颜色设计已经完成,相信同学们已经可以完全掌握这一设计。那么在掌握这项工程后可以多做一些思考,尝试在工程原理不变的基础上进行一定的数据调整,试着改变图像显示区域或者改变显示颜色等参数,挑战一下独立完成多个设计。也欢迎有更多思路和想法的同学前往至简设计法论坛进行交流讨论。