广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com
目 录
1.2
1.3
1.4
1.1
第 1 章 ProASIC3 实验例程 ........................................................................................ 1
DualPort RAM 实验 ..................................................................................................... 1
1.1.1 实验目的 ........................................................................................................... 1
1.1.2 实验设备 ........................................................................................................... 1
1.1.3 实验内容 ........................................................................................................... 1
1.1.4 实验步骤 ........................................................................................................... 1
1.1.5 实验测试与结果 ............................................................................................. 10
FlashROM 实验 .......................................................................................................... 12
1.2.1 实验目的 ......................................................................................................... 12
1.2.2 实验设备 ......................................................................................................... 12
1.2.3 实验内容 ......................................................................................................... 12
1.2.4 实验步骤 ......................................................................................................... 12
1.2.5 实验下载及测试 ............................................................................................. 27
LED 实验 .................................................................................................................... 30
1.3.1 实验目的 ......................................................................................................... 30
1.3.2 实验设备 ......................................................................................................... 30
1.3.3 实验原理 ......................................................................................................... 30
1.3.4 实验步骤 ......................................................................................................... 31
1.3.5 实验测试与结果 ............................................................................................. 41
Static PLL 实验 .......................................................................................................... 42
1.4.1 实验目的 ......................................................................................................... 42
1.4.2 实验设备 ......................................................................................................... 42
1.4.3 实验内容 ......................................................................................................... 42
1.4.4 实验步骤 ......................................................................................................... 42
1.4.5 实验测试与结果 ............................................................................................. 50
Two Port RAM 实验 ................................................................................................... 51
1.5.1 实验目的 ......................................................................................................... 51
1.5.2 实验设备 ......................................................................................................... 51
1.5.3 实验内容 ......................................................................................................... 51
1.5.4 实验步骤 ......................................................................................................... 51
1.5.5 实验测试及结果 ............................................................................................. 60
UART 实验 ................................................................................................................. 62
1.6.1 实验目的 ......................................................................................................... 62
1.6.2 实验设备 ......................................................................................................... 62
1.6.3 实验原理 ......................................................................................................... 62
1.6.4 实验步骤 ......................................................................................................... 65
1.6.5 实验测试与结果 ............................................................................................. 76
1.7 带存储器的 Soft FIFO 的实验 .................................................................................. 78
1.7.1 实验目的 ......................................................................................................... 78
1.7.2 实验设备 ......................................................................................................... 78
1.7.3 实验内容 ......................................................................................................... 78
1.7.4 实验步骤 ......................................................................................................... 78
1.5
1.6
i
广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com
1.10
1.7.5 实验测试与结果 ............................................................................................. 86
1.8 蜂鸣器实验 ................................................................................................................. 88
1.8.1 实验目的 ......................................................................................................... 88
1.8.2 实验设备 ......................................................................................................... 88
1.8.3 实验原理 ......................................................................................................... 88
1.8.4 实验步骤 ......................................................................................................... 90
1.8.5 实验测试与结果 ........................................................................................... 100
1.9 恒定系数乘法实验 ................................................................................................... 101
1.9.1 实验目的 ....................................................................................................... 101
1.9.2 实验设备 ....................................................................................................... 101
1.9.3 实验内容 ....................................................................................................... 101
1.9.4 实验步骤 ....................................................................................................... 101
1.9.5 实验测试与结果 ........................................................................................... 111
数码管实验 ........................................................................................................... 112
1.10.1 实验目的 ....................................................................................................... 112
1.10.2 实验设备 ....................................................................................................... 112
1.10.3 实验原理 ....................................................................................................... 112
1.10.4 实验步骤 ....................................................................................................... 114
1.10.5 实验测试与结果 ........................................................................................... 127
1.11 同步 FIFO 实验 ........................................................................................................ 128
1.11.1 实验目的 ....................................................................................................... 128
1.11.2 实验设备 ....................................................................................................... 128
1.11.3 实验内容 ....................................................................................................... 128
1.11.4 实验步骤 ....................................................................................................... 128
1.11.5 实验测试与结果 ........................................................................................... 136
动态 CCC 实验 ..................................................................................................... 137
1.12.1 实验目的 ....................................................................................................... 137
1.12.2 实验设备 ....................................................................................................... 138
1.12.3 实验内容 ....................................................................................................... 138
1.12.4 实验步骤 ....................................................................................................... 139
1.12.5 实验测试与结果 ........................................................................................... 150
1.12
ii
广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com
第1章 ProASIC3 实验例程
1.1 DualPort RAM 实验
1.1.1 实验目的
如何使用 SmartGen 创建 Dual Port RAM 模块;
如何添加 SmartGen 元件到一个工程设计里;
如何使用串口对 FPGA 上的 RAM 进行初始化;
如何利用串口调试程序,读取 RAM 里面的内容,并验证数据的正确性。
1.1.2 实验设备
硬件:PC 机,ProASIC3 StartKit 开发板一套,Flash Byte 下载器一个
软件:Libero V8.3
1.1.3 实验内容
本实验的顶层结构如图 1.1 所示。用 SmartGen 生成一个 2k×8 大小的 Dual Port RAM,
并通过串口发送数据初始化 RAM。然后,再通过串口返回到上位机的串口调试程序显示,确
认数据是正确的。整个工程由串口发送模块、接收模块、RAM 读写控制模块及 Dual Port RAM
这四个模块构成。
图 1.1 设计的顶层模块图
1.1.4 实验步骤
1. 解压源文件并在 Libero 中建立工程
将 DP_RAM_lab.zip 压缩包中的源文件解压到你电脑上的 C:\Actel_lab 处(文件夹
Actel_lab 可自行建立)。HDL 源文件在压缩包里面。
(1) 打开 Libero 8.3 并创建一个新的工程。在新工程对话框中输入下面所列出的工程文
件名称、工程存放路径、选择语言类型到相应的对话框中,然后点击“Next”。
Project Name:
Project location: C:\Actel_lab\DP_RAM_lab
Preferred HDL Type: Verilog
DP_RAM
1
广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com
图 1.2 工程文件基本设置图
(2) 输入以下内容到对话框中,然后点击“Next”。
Family:
Die:
Package:
ProASIC3
A3P250
208 PQFP
图 1.3 选择芯片系列型号
(3) 选择“Next”,接受默认的工具选项。
2
广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com
图 1.4 工具选择
(4) 从 Add Files 对话框中,点击 Add,将 C:\Actel_lab\DP_RAM_lab 目录下的源文
件 rec.v、writeram.v、top.v 和 send.v 导入,然后点击 Finish。
图 1.5 添加 HDL 文件
(5) 源文件将出现在 Libero 窗口的最左边的垂直文件树栏中,如图 1.6 所示。
图 1.6 文件树
2. 用 SmartGen 创建 2k×8 大小的 RAM
在这一步骤当中,你可以使用 SmartGen 创建 2k×8 大小的 Dual Port RAM 模块。
(1) 在 Libero 8.0 窗口中,点击 IP 目录(Catalog)窗口中的 RAM。如图 1.7 所示。
3
广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com
图 1.7 IP Catalog
(2) 然后双击 Dual Port RAM,在弹出的 Dual Port RAM 对话框中,将 Dual Port RAM
的读写深度都设置为 2048,读写宽度为 8。选择非流水线数据输出,取消复位信号
RESET,如图 1.8 所示。设置完成后,点击 Generate。
图 1.8 Two Port RAM 对话框
(3) 点击 Generate。在生成 Core 的对话框中输入以下信息,然后点击 OK。
Core name: RAM2k8 (注意区分字母的大小写)
(4) 点击 Close 按钮,关闭生成 Core 的对话框。
4
广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com
(5) 完成上述操作之后,RAM2k8 源文件和 SmartGen 宏将出现在 Libero 窗口中,如
图 1.9 所示。这表明,RAM 已成功生成。
图 1.9 源文件和 Core 在 Libero 树型栏和文件栏中
双击打开 RAM2k8.v 文件,从程序中可以看到,2k×8 的 RAM 是通过 RAM4K×9 的
RAM 块例化而成的。
因为在 ProASIC3/E 系列中,SRAM 是由 4,608 bits 的 RAM 块组成的。在 SmartDesign,
只有两种 RAM 核(RAM4K9 and RAM512X18) 和一种 FIFO 核 (FIFO4K18) 被用于所有的
存储器配置当中。双端口的 RAM 使用 RAM4K9 核,两个端口的 RAM 可以使用 RAM4K9
和 RAM512×18 的核。当选择好最高效的纵横比之后,那么软件就自动的层叠 RAM 块以
创建更大的宽度和深度。SmartDesign 也支持生成有不同的读写纵横比的存储器。
RAM4K9 可以通过 WIDTHA 和 WIDTHB 这两个信号确定相应的位数页数比(aspect
ratio),如表 1.1 所示。
表 1.1 WIDTHA[1:0]允许的位数页数比设置表
WIDTHA1, WIDTHA0
WIDTHB1, WIDTHB0
00
01
10
11
00
01
10
11
D×W
4k×1
2k×2
1k×4
512×9
注:位数页数比设置是一个常量,不能在运行过程中更改。
在 RAM2k8.v 源程序中,可以看到对 WIDTHA1, WIDTHA0 和 WIDTHB1, WIDTHB0
的配置都是
WIDTHA1=GND, WIDTHA0=VCC;
WIDTHB1=GND, WIDTHB0=VCC。
即用的配置比是
WIDTHA1, WIDTHA0 = 01,WIDTHB1, WIDTHB0 = 01;
因此,例化的 RAM4K9 的深度宽度是 2k×2,所以要构成 2k×8 的双口 RAM,需要 4
块配置比为 2k×2 的 RAM4K9 层叠而成。从表 1.2 中也可以看出这一点。
5
广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com
表 1.2 RAM 和 FIFO 存储模块配置
3. 完成顶层描述
在这一步中,你可以在顶层描述中例化在 SmartGen 软件中创建的 Dual Port RAM 模块,
并将 Dual Port RAM 模块、RAM 控制模块、串口发送、接收模块连接成一个完整的系统。
(1) 在 Libero HDL 编辑窗口中打开 top.v。rec.v、和 send.v
(2) 完成 rec.v 模块、send 模块、writeram.v、top.v 模块和 DPRAM 模块的端口连接,
(提供的源程序已经连接好)。
(3) 保存 top.v 文件。使用 Libero HDL 的检查器检查,确认程序中没有错误。直接在
HDL 编辑窗口中,右键点击空白区域,在出现的快捷菜单中选择“Check HDL File”,
即可对程序进行简单的检查,如图 1.10 所示。
图 1.10 用 Libero HDL 工具对程序进行检查
(4) 纠正在 Libero 里的 Log Window 中出现错误,直到没有错误提示为止。
6