广州周立功单片机发展有限公司    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