1、 上海 浦东新区张东路 1387 号 45幢 位于 母公司美国国家仪器 NI中国总部大楼 内 电话 : +86-21-58893151 邮箱: “ 你 的 Basys 3 第一个 入门实验 ” 官方 指导 手册 目 录 1. Basys3 硬件 电路 .P3 1.1 电源 电路 P5 1.2 LED 灯 电路 P6 1.3 拨码开关 电路 .P7 1.4 按键 电路 P8 1.5 数码管 电路 .P8 1.6 VGA 电路 .P9 1.7 I/O 扩展 电路 .P10 1.8 FPGA 调试及配置电路 P10 2. Basys3 电路 实验 七段 数码管显示实验 P12 基础入门 综合进
2、阶 3 第一章 Basys3 硬件电路 Basys3 是围绕着一个 Xilinx Artix-7 FPGA 芯片 XC7A35T-1CPG236C 搭建的,它提供了完整、随时可以使用的硬件平台,并且它适合于从基本逻辑器件到复杂控制器件的各种主机电路。 Basys3 板上集成了大量的 I/O 设备和 FPGA 所需的支持电路,让您能够构建无数的设计而不需要其他器件。 主要规格 /特殊功能 产品规格: Basys3为想要学习 FPGA和数字电路设计的用户提供一个理想的电路设计平台。 Basys3板提供完整的硬件存取电路 ,可以完成从基本逻辑到复杂控制器的设计。四个标准扩展连接器配合用户设计的电路板
3、,或 Pmods( Digilent设计的 A / D和 D / A转换,电机驱动器,传感器输入等)其他功能。扩展信号的 8针接口均采用 ESD保护,附带的USB 电缆,提供电源和编程接口,因此不需要额外配置电源或其他编程电缆 , 使之成为了入门或复杂数字电路系统设计的完美低成本平台。 关键特性: 33,280 个逻辑单元,六输入 LUT结构 1,800 Kbits 快速 RAM块 5个时钟管理单元 , 均各含一个锁相环 (PLL) 90个 DSP slices 内部时钟最高可达 450MHz 1个片上模数转换器 (XADC) 外围设备 : 16个拨键开关 16个 LED 5个按键开关 4位
4、7段数码管 3个 Pmod连接口 一个专用 AD信号 Pmod接口 12位的 VGA输出接口 USB-UART桥 串口 flash 用于 FPGA编程和通信的 USB-JTAG口 可连接鼠标、键盘、记忆棒的 USB口 基础入门 综合进阶 4 序号 描述 序号 描述 1 电源指示灯 9 FPGA配置复位按键 2 Pmod连接口 10 编程模式跳线柱 3 专用 模拟信号 Pmod连接口 11 USB连接口 4 4位 7段数码管 12 VGA连接口 5 16个拨键开关 13 UART/JTAG共用 USB接口 6 16个 LED 14 外部电源接口 7 5个按键开关 15 电源开关 8 FPGA编程
5、指示灯 16 电源选择跳线柱 基础入门 综合进阶 5 1.1 电源电路 Basys3 开发板可以通过 2 种方式进行供电,一种是通过 J4 的 USB 端口供电;另一种是通过 J6 的接线柱进行供电( 5V)。通过 JP2 跳线帽的不同选择进行供电方式的选择。 电源开关通过 SW16 进行控制, LD20 为电源开关的指示灯。电源的电路如下图所示: 图 1 USB 接口电路 说明,如果选用外部电源(即 J6)那么应该保证: 1,电源电压在 4.5V-5.5V 范围内; 2,至少能提供 1A 的电流。 注意:只有在特别情况下电源电压才可以使用 3.6V 电压 。基础入门 综合进阶 6 1.2 L
6、ED 灯电路 LED 部分的电路如图所示。当 FPGA 输出为高电平时,相应的 LED 点亮;否则, LED 熄灭。板上配有 16 个 LED,在实验中灵活应用,可用作标志显示或代码调试的结果显示,既直观明了又简单方便。 基础入门 综合进阶 7 1.3 拨码开关电路 拨码开关的电路如图所示。在使用这个 16 位拨码开关时请注意一点,当开关打到下档时,表示 FPGA 的输入为低电平。 基础入门 综合进阶 8 1.4 按键电路 按键部分的电路如图所示。板上配有 5 个按键,当按键按下时,表示 FPGA 的相应输入脚为高 电平。在学习过程中,我们建议每个工程都有一个复位输入,这对代码调试将大有好处。
7、 1.5 数码管电路 数码管显示部分的电路如图所示。我们使用的是一个四位带小数点的七段共阳数码管,当我们相应的输出脚为低电平时,该段位的 LED 点亮。位选位也是低电平选通。 基础入门 综合进阶 9 1.6 VGA 显示电路 VGA 视频显示部分的电路如图所示。我们所用的电阻搭的 12bit(212 色 )电路,由于没有采用视频专用 DAC 芯片,所以色彩过渡表现不是十分完美。 基础入门 综合进阶 10 1.7 IO 扩展电路 4 个标准的扩展连接器 (其中一个为专用 AD 信号 Pmod 接口 ) 允许设计使用面包板、用户设计的电路或 Pmods 扩展 Basys3 板板,( Pmods 是
8、价格便宜的模拟和数字 I / O 模块,能提供一个A/ D D / A 转换,电机驱动器,传感器 投入和许多其他功能)。 8 针连接器上的信号免受 ESD 损害和短路损害,从而确保了在任何环境中的 使用寿命更长。 1.z FPGA 调试及配置电路 上电后, Basys3 板上必 须配置 FPGA,然后才能执行任何有用功能。在配置过程中,一“Bit ”文件转移到 FPGA 内存单元中实现逻辑功能和电路互连 。借助赛灵思免费的 Vivado 软件可以通过VHDL, Verilog 语言,或基于原理图的源文件创建 .bit 文件。 编程下载: 下载程序 3 种方式: 用 Vivado通过 JTAG方
9、式下载 .bit文件到 FPGA芯片 。 用 Vivado通过 QSPI方式下载 .bit文件到 Flash芯片,实现掉电不易失 。 用 U盘或移动硬盘通过 J2的 USB端口下载 .bit文件到 FPGA芯片(建议将 .bit文件放到 U盘根目录下,且只放 1个) ,该 U盘应该是 FAT32文件系统。 注意: 1、 下载方式通过 JP1的短路帽进行选择 ; 2、系统默认主频率为 100MHz 基础入门 综合进阶 11 引脚分配表格: LED PIN CLOCK PIN SWITCH PIN BUTTON PIN Seven-segment digital tube PIN LD0 U16
10、MRCC W5 SW0 V17 BTNU T18 AN0 U2 LD1 E19 SW1 V16 BTNR T17 AN1 U4 LD2 U19 SW2 W16 BTND U17 AN2 V4 LD3 V19 SW3 W17 BTNL W19 AN3 W4 LD4 W18 SW4 W15 BTNC U18 CA W7 LD5 U15 SW5 V15 CB W6 LD6 U14 SW6 W14 CC U8 LD7 V14 SW7 W13 CD V8 LD8 V13 USB(J2) PIN SW8 V2 CE U5 LD9 V3 PS2_CLK C17 SW9 T3 CF V5 LD10 W3 PS
11、2_DAT B17 SW10 T2 CG U7 LD11 U3 SW11 R3 DP V7 LD12 P3 SW12 W2 LD13 N3 SW13 U1 LD14 P1 SW14 T1 LD15 L1 SW15 R2 VGA PIN JA PIN JB PIN JC PIN JXADC PIN RED0 G19 JA0 J1 JB0 A14 JC0 K17 JXADC0 J3 RED1 H19 JA1 L2 JB1 A16 JC1 M18 JXADC1 L3 RED2 J19 JA2 J2 JB2 B15 JC2 N17 JXADC2 M2 RED3 N19 JA3 G2 JB3 B16 J
12、C3 P18 JXADC3 N2 GRN0 J17 JA4 H1 JB4 A15 JC4 L17 JXADC4 K3 GRN1 H17 JA5 K2 JB5 A17 JC5 M19 JXADC5 M3 GRN2 G17 JA6 H2 JB6 C15 JC6 P17 JXADC6 M1 GRN3 D17 JA7 G3 JB7 C16 JC7 R18 JXADC7 N1 BLU0 N18 BLU1 L18 BLU2 K18 BLU3 J18 HSYNC P19 YSYNC R19 基础入门 综合进阶 12 第二章 电路实验 这一章我们将通过硬件描述语言 HDL Verilog,对Basys3上的各
13、模块进行逻辑验证,实现相应的实验目标。事不宜迟,让我们马上进入这一阶段的学习。 2 七段数码管显示实验 利用开发板 4 个 7 段数码管依次显示数字“ 1234”和“ 4321”,通过判断拨键开关 SW0 的状态进行选择数码管是顺序显示数字还是逆序显示数字。 亦可使用按键开关控制模式转换。 如:当 SW0=1 时显示“ 1234”; 当 SW0=0 时显示“4321 ”; 要求: 1.给出行为仿真波形 2.将程序烧录到 ROM 里面 3.开发板演示 操作步骤详解: 第一步: 打开 Vivado,相信大家都知道怎样打开一个软件,稍等软件启动后,进入如下界面: 基础入门 综合进阶 13 第二步:
14、点 Create New Project 进入新建工程向导 第三步: 在弹出 窗口 填写 Project名称,此处为“ display_7seg”,存储地址为桌面文件夹“ NEW”下的子文件夹“ vivado”。基础入门 综合进阶 14 在弹出窗口按下图设置: 由于我们是新建工程,所以此处默认没有可以添加的源文件,并且设置编程语言和仿真语言均设置为 Verilog。点击 Next 基础入门 综合进阶 15 也没有可以添加的 IP,所以不添加 IP, 点击 Next如下图: 也没有可以添加的约束文件,所以不添加,点击 Next如下图: 基础入门 综合进阶 16 选择 FPGA芯片,如下图选择 x
15、c7a35tcpg236-1 完成设置,如下图: 基础入门 综合进阶 17 弹出如下窗口: 第四 步: 新建(添加)源文件 如上图, 右击 Design sourse选择 Add Sourse,弹出下图窗口: 基础入门 综合进阶 18 如上图选择第二个选项。弹出下图窗口: 基础入门 综合进阶 19 在上图中选择 Create File在弹出下面窗口填写新建源文件名称为 display_7seg 点击 OK,弹出下图: 在上图中点击 Finish在弹出窗口填写模块名称和端口,如下 2张图所示 基础入门 综合进阶 20 基础入门 综合进阶 21 设置完成,弹出下图: 1.双击 2.编写代码 基础入
16、门 综合进阶 22 第五 步: 新建(添加)仿真文件 如下图,右击源文件选择 Add Sourse 如下图,选择第三个新建仿真文件: 基础入门 综合进阶 23 在下图的弹出窗口选择 Create File 在 下图的弹出窗口,设置文件名为 display_7seg_tb 在接下来的 2张图中的编写直接参考源文件的步骤 基础入门 综合进阶 24 基础入门 综合进阶 25 如下 2张图,编写仿真源文件代码: 编写仿真源文件代码 基础入门 综合进阶 26 运行仿真: 如上图右击 Run Simulation,选择 Run Behavioral Simulation,弹出仿真波形窗口如下 3张 图: 基础入门 综合进阶 27 第六 步: 综合 如上图单击 Run Synthesis,完成后弹出下面窗口: 在上图中点击关闭 基础入门 综合进阶 28 第七 步: 分配引脚 如上图,右击约束子目录下文件夹,选择 Add Sourse弹出下列窗口: 如上图选择第一个 基础入门 综合进阶 29 如上图选择 Create File弹出下面的窗口,填写约束文件的文件名 display_7seg 基础入门 综合进阶 30 编写约束文件如下: 在 Floorplanning窗口的视图如下: 在上图中单击 Run implementation,运行完成后弹出下面窗口: