1)资料下载:点击资料即可下载

2)对正点原子Linux感兴趣的同学可以加群讨论:935446741

3)关注正点原子公众号,获取最新资料更新

本章,我们将向大家详细介绍ALIENTEK开拓者FPGA开发板各部分的硬件原理图,让大家对 该开发板的各部分硬件原理有个深入理解,并向大家介绍开发板的使用注意事项,为后面的学 习做好准备。

本章包括以下几个部分:

3.1 开发板原理图详解

3.2 开发板使用注意事项

3.3 FPGA的学习方法

3.1 开发板原理图详解

3.1.1 FPGA

ALIENTEK开拓者FPGA开发板选择的是Cyclone IV E系列的EP4CE10F17C8,该芯片是极具功 耗和性价比优势,它拥有10320个逻辑单元、414Kbits的嵌入式存储资源、23个18×18的嵌入 式乘法器、2个通用锁相环、10个全局时钟网络、8个用户IO BANK和最大179个用户I/O,了解 器件的整体硬件资源,有助于我们在设计时根据器件提供的资源,对设计进行合理的优化,以 达到最佳的性价比。具体这些资源在设计中怎么使用,我们将在后续章节为大家介绍。

另外需要了解的一点是EP4CE10F17C8芯片的IO口分成了8组,每一组称为一个IO Bank,同 一个Bank中的所有IO供电相同,而各个Bank的IO供电可以不同。FPGA的8个I/O BANK的引脚连 接如下:

图 3.1.1.1 BANK1、BANK2 引脚连接图
图 3.1.1.2 BANK3、BANK4 引脚连接图
图 3.1.1.3 BANK5、BANK6 引脚连接图
图 3.1.1.4 BANK7、BANK8 引脚连接图

通过查看各BANK引脚与对应模块的端口连接即可确定管脚分配。

3.1.2 时钟输入

ALIENTEK开拓者FPGA开发板提供给FPGA的时钟晶振电路如下图所示:

图 3.1.2.1 时钟晶振电路

由上图可知,晶振提供给FPGA的时钟为50MHz,当需要其它频率的时钟时可通过FPGA内部的锁 相环 PLL产生,如SDRAM的驱动时钟100MHz。

3.1.3 JTAG 接口

图 3.1.3.1 JTAG 接口电路

这里,我们采用的是标准的JTAG接法(10脚),使用FPGA TCK、FPGA TDO、FPGA TDI、FPGA TMS四个引脚来对FPGA进行下载测试。

3.1.4 时钟/复位/按键电路

ALIENTEK开拓者FPGA开发板的时钟/复位/按键电路与FPGA的引脚连接如下图所示:

图3.1.4.1 时钟/复位/按键接口

其中5个输入按键的电路原理图如下图所示:

图 3.1.4.2 复位、按键电路

RESET为复位按键,按下时低电平复位。KEY0~KEY3为普通按键输入,外接上拉电阻,未按 下时按键端口输出高电平,按下时输出低电平。按键作为最简单的输入设备,适合在需要给系 统输入控制信号的场合使用。

3.1.5 LED

ALIENTEK开拓者FPGA开发板板载了4个LED,电路原理图如下图所示:

图 3.1.5.1 LED

四个LED均由FPGA驱动,当FPGA输出高电平时电亮对应的LED灯,点亮LED灯。

3.1.6 有源蜂鸣器 。

ALIENTEK开拓者FPGA开发板板载了一个有源蜂鸣器,电路原理图如下图所示:

图 3.1.6.1 有源蜂鸣器

有源蜂鸣器是指自带了震荡电路的蜂鸣器,这种蜂鸣器一上电就会自己震荡发声。而如果 是无源蜂鸣器,则需要外加一定频率(2~5Khz)的驱动信号,才会发声。这里我们选择使用有源蜂鸣 器,方便大家使用。

3.1.7 电容触摸按键

ALIENTEK开拓者FPGA开发板板载了一个电容触摸按键,电路原理图如下图所示:

图3.1.7.1 电容触摸按键

图中1K电阻是电容充电电阻,TPAD并没有直接连接在FPGA上,而是连接在多功能端口(P4) 上面,通过跳帽或者杜邦线来选择是否连接到FPGA。

3.1.8 数码管

ALIENTEK开拓者FPGA开发板板载了6个共阳数码管,电路原理图如下图所示:

图 3.1.8.1 数码管

需要注意的是,这里是用PNP作为开关控制位选信号,由PNP三极管原理可知,当基极为低 电平时,三极管导通,输出高电平;如对Q1而言,当SEL0_T为低电平时,选通数码管DIG1。

3.1.9 RS232 接口

ALIENTEK开拓者FPGA开发板板载了一个母头RS232接口,电路原理图如下图所示:

图 3.1.9.1 RS232 接口

由于FPGA输入输出引脚为TTL电平,用3.3V代表逻辑“1”,0V代表逻辑“0”;而计算机 串口采用RS-232电平,它是负逻辑电平,即-15V~-5V代表逻辑“1”,+5V~+15V代表逻辑“0”。 因此当计算机与FPGA通信时,需要一个电平转换芯片,这里我们选择的是SP3232(也可以用MAX3232)来做电平转接,同时图中的P2用来实现RS232(COM2)和RS485接口的选择。当使用 跳帽将U2_RX连接UART2_TX,U2_TX连接UART2_RX时,可以完成FPGA和RS232接口的通信;当使 用跳帽将RS485_RX连接UART2_TX,RS485_TX连接UART2_RX时,可以完成FPGA和RS485接口的通 信。当未使用跳帽进行连接时,UART2_TX和UART2_RX还可以当成扩展口来使用。

3.1.10 RS485 接口

ALIENTEK开拓者FPGA板载的RS485接口电路如下图所示:

图3.1.10.1 RS485 接口

RS485电平为LVDS电平,也不能直接连接到FPGA,同样需要电平转换芯片。这里我们使用 SP3485来做485电平转换,其中R6为终端匹配电阻,而R3和R2,则是两个偏置电阻,以保证静 默状态时,485总线维持逻辑1。RS485_RX/RS485_TX连接在P2上面,通过P2跳线来选择是否连 接在FPGA上面,RS485_DE则是直接连接在FPGA的IO口(A11)上的,该信号用来控制SP3485 的 工作模式(高电平为发送模式,低电平为接收模式)。

3.1.11 VGA 接口

ALIENTEK开拓者FPGA开发板板载了一个RGB565数据格式的VGA接口,电路原理图如下图所 示:

图3.1.11.1 VGA 接口

VGA的全称是Video Graphics Array,即视频图形阵列,是一个使用模拟信号进行视频传输 的标准。VGA接口协议规定,红绿蓝三基色模拟电压的范围为0~0.714V,其中0V代表无色,0.714V 代表满色。RGB565格式,即红色占5位数据,绿色占6位数据,蓝色占5位数据,一共可表示65536 种颜色。

ALIENTEK开拓者FPGA开发板用权电阻网络来实现RGB565信号到VGA接口三基色信号转换的 电路,即用5位权电阻网络来实现红色信号R,6位权电阻网络实现绿色信号G,5位权电阻网络 实现蓝色信号B。以红色信号R为例来说明权电阻网络参数的选取。由于R对应的数字信号为5位, 故当该5位全为1的时候对应的模拟电压信号值应为0.714V,当5位全为 0 的时候对应的模拟电压 信号值应为0V。等效电路如下图所示(终端电阻75Ω在显示器连接头内部)

图 3.1.11.2 权电阻网络全1时等效电路

其中Rx为5位权电阻网络的等效电阻,5位全为1时有:

Rx = R||2R||4R||8R||16R

可得等效电阻Rx = 271.6Ω,R = 526.3Ω。考虑到所有电阻(使用的是贴片电阻)都必 须取标称值以及减小与理论计算的误差,故将R取499Ω,后面的以标称值取1KΩ、2KΩ、4.02KΩ、 8.06KΩ。

3.1.12 MCU LCD 模块接口

ALIENTEK开拓者FPGA开发板板载的MCU LCD模块接口电路如下图所示:

图3.1.12.1 MCU LCD 模块接口

图中MCU LCD是一个通用的液晶模块接口,支持ALIENTEK全系列TFT LCD模块,包括:2.4 寸、2.8寸、3.5寸、4.3寸和7寸等尺寸的TFT LCD模块。

图中的T_MISO/T_MOSI/T_PEN/T_SCK/T_CS用来实现对液晶触摸屏的控制(支持电阻屏和电 容屏)。LCD_BL用于控制LCD的背光。

3.1.13 RGB LCD 模块接口

ALIENTEK开拓者FPGA开发板板载的RGB LCD模块接口电路如下图所示:

图3.1.13.1 RGB LCD 模块接口

图中,J1(RGBLCD)就是RGB LCD接口,采用RGB565数据格式,并支持触摸屏(支持电阻 屏和电容屏)。该接口仅支持RGB接口的液晶(不支持MCU接口的液晶),目前ALIENTEK的RGB 接口LCD模块有:4.3寸(ID:4342 , 480*272)和7寸(ID:7084, 800*480和ID:7016,1024*600) 等尺寸可选。

图中的T_MISO/T_MOSI/T_PEN/T_CS/T_SCK用于实现对液晶触摸屏的控制(支持电阻屏和电 容屏),LCD_BL用于控制LCD的背光。特别注意:开发板上的MCU LCD模块接口与该接口的引脚 是复用的,所以在开发板上不可以同时使用MCU LCD液晶屏和RGB LCD液晶屏!

3.1.14 红外接收头

ALIENTEK开拓者FPGA开发板板载了一个红外接收头,电路原理图如下图所示:

图3.1.14.1 红外接收头

HS0038是一个通用的红外接收头,几乎可以接收市面上所有红外遥控器的信号,有了它, 就可以用红外遥控器来控制开发板了。REMOTE_IN为红外接收头输出的信号,即FPGA的红外输 入信号。

3.1.15 单总线接口

ALIENTEK开拓者FPGA开发板板载了一个单总线接口,电路原理图如下图所示:

图3.1.15.1 温湿度传感器接口

该接口支持DS18B20(温度传感器)/DHT11(温湿度传感器)等单总线传感器。图中的 1WIRE_DQ信号是传感器的数据线。

3.1.16 EEPROM

ALIENTEK开拓者FPGA开发板板载的EEPROM电路如下图所示:

图3.1.16.1 EEPROM

EEPROM芯片使用的是AT24C64,该芯片的容量为64Kb,对于我们普通应用来说是足够了的。

这里我们把A0~A2均接地,对AT24C64来说也就是把地址位设置成了0了,写代码的时候要 注意这点。IIC_SCL接在FPGA的D8引脚,IIC_SDA接在FPGA的C8引脚,另外AT24C64采用IIC协议 进行数据的读写,而IIC的串行时钟线SCL和数据线SDA均是开漏的,所以需要接上拉电阻。

3.1.17 实时时钟

ALIENTEK开拓者FPGA开发板板载了一个实时时钟RTC,电路原理图如下图所示:

图3.1.17.1 实时时钟 RTC

实时时钟芯片为PCF8563,采用直接供电(VCC3.3)和备用电源供电两种供电方式,采用 IIC协议进行通信,与EEPROM共用IIC引脚。备用电源供电时使用纽扣电池CR1220供电,安放在 开发板底部的BAT1插座。BAT54C是一款正向电压为320mV的半导体二极管。

3.1.18 环境光传感器

ALIENTEK开拓者FPGA开发板板载了一个环境光传感器,电路原理图如下图所示:

图3.1.18.1 环境光传感器

图中的U7就是环境光传感器:AP3216C,可以用来感应周围光线强度、接近距离和红外线 强度等,该芯片采用IIC接口,与EEPROM共用IIC引脚。

3.1.19 AD/DA接口

ALIENTEK开拓者FPGA开发板板载了一个AD/DA接口,电路原理图如下图所示:

图3.1.19.1 AD/DA 接口

开 拓 者 开 发 板 上 板 载 的 AD/DA 器 件 为 采 用 IIC 协 议 进 行 通 信 的 PCF8591 器 件 。

AIN0/AIN1/AIN2/AIN3为模拟输入接口,AOUT为模拟输出接口。ADDA_SCL接在FPGA的E9上, ADDA_SDA接在FPGA的E8上。该芯片的输入输出接口从P3和P4引出。其中TOUT为电容触摸按键信 号,连接在电容触摸按键上,TPAD连接至FPGA的F8引脚,当使用电容触摸按键时用跳线帽短接 TPAD和TOUT,就可以实现电容触摸按键的功能。

3.1.20 I2S音频编解码

ALIENTEK开拓者FPGA开发板板载WM8978高性能音频编解码芯片,电路原理图如下图所示:

图3.1.20.1 WM8978

WM8978是一颗低功耗、高性能的立体声多媒体数字信号编解码器。该芯片内部集成了24位 高性能DAC&ADC,可以播放最高192K@24bit的音频信号,并且自带段EQ调节,支持3D音效等功 能。不仅如此,该芯片还结合了立体声差分麦克风的前置放大与扬声器、耳机和差分、立体声 线输出的驱动,减少了应用时必需的外部组件,直接可以驱动耳机(16Ω@40mW)和喇叭 (8Ω/0.9W),无需外加功放电路。

图中,SPK-和SPK+连接了一个板载的8Ω2W小喇叭(在开发板背面)。MIC是板载的麦克, 可用于录音机实验,实现录音。PHONE是3.5mm耳机输出接口,可以用来插耳机。LINE_IN 则是 线路输入接口,可以用来外接线路输入,实现立体声录音。IIC_SDA和IIC_SDA是与AP3216C等 共用一个IIC接口。

3.1.21 SDRAM

ALIENTEK开拓者FPGA开发板板载了SDRAM,此部分电路图如下图所示:

图3.1.21.1 SDRAM

图中,U23就是SDRAM芯片,型号为W9825G6KH,容量为32M字节。该芯片可以满足FPGA的各 种大内存需求场合,实现数据的缓存。

3.1.22 以太网接口(RJ45 )

ALIENTEK开拓者FPGA开发板板载了一个以太网接口(RJ45),电路原理图如下图所示:

图3.1.22.1 以太网接口

这里我们选择的是RTL8201这颗芯片作为FPGA的PHY芯片用于以太网通信。RTL8201是一块 10M/100M自适应以太网收发器,提供MII/SNI接口的MAC连接。板载一个自带网络变压器的RJ45 头(HR91105A),一起组成一个10M/100M自适应网卡。

3.1.23 CAN接口

ALIENTEK开拓者FPGA开发板板载的CAN接口电路如下图所示:

图3.1.23.1 CAN

CAN总线电平也不能直接连接到FPGA,同样需要电平转换芯片。这里我们使用TJA1050来 做CAN电平转换,其中R20为终端匹配电阻。

3.1.24 USB串口/串口 1选择接口

ALIENTEK开拓者FPGA开发板板载的USB串口和FPGA是通过P9连接起来的,如下图所示:

图3.1.24.1 USB 串口/串口1选择接口

图中TXD/RXD是相对CH340G来说的,也就是USB串口的发送和接收引脚。而UART1_RX和 UART1_TX则是相对FPGA来说的。这样,通过将TXD连接UART1_RX、RXD连接UART1_TX就可以实现 USB串口和FPGA的通信了。同时,当引脚未连接时,UART1_RX和UART1_TX可以当成普通的扩展 口来使用。

3.1.25 USB串口

ALIENTEK开拓者FPGA开发板板载了一个USB串口,其原理图如下图所示:

图3.1.25.1 USB串口

USB转串口,我们选择的是CH340G,是国内芯片公司南京沁恒的产品,稳定性经测试还不 错,所以还是多支持下国产。

USB_232是一个MiniUSB座,提供CH340G和电脑通信的接口,同时可以给开发板供电,VUSB 就是来自电脑USB的电源,USB_232是本开发板的可选供电口。

3.1.26 OLED/摄像头模块接口

ALIENTEK开拓者FPGA开发板板载了一个OLED/摄像头模块接口,电路原理图如下图所示:

图3.1.26.1 OLED/摄像头模块接口

图中P1接口可以用来连接ALIENTEK OLED模块或者ALIENTEK摄像头模块。如果是OLED模块, 则CMOS_PWDN和CMOS_XCLK不需要接(在板上靠左插即可),如果是摄像头模块,则需要用到全部引脚。

3.1.27 SD卡接口

ALIENTEK开拓者FPGA开发板板载了一个SD卡(大卡/相机卡接口,电路原理图如下图所示:

图 3.1.27.1 SD 卡接口

图中SD_CARD为SD卡接口,该接口在开发板的底面。SD卡采用4位SDIO方式驱动,理论上最 大速度可以达到24MB/S,非常适合需要高速存储的情况。

3.1.28 SPI FLASH

ALIENTEK开拓者FPGA板载的SPI FLASH电路原理图如下图所示:

图3.1.28.1 SPI FLASH芯片

SPI FLASH芯片型号为M25P16,存储容量为16Mbit(2M字节),采用SPI协议和FPGA进行通 信,可做为FPGA的配置芯片(完全兼容EPCS16芯片),以保证FPGA在重新上电后仍能继续工作。

3.1.29 ATK模块接口

ALIENTEK开拓者FPGA开发板板载了一个ATK模块接口,电路原理图如下图所示:

图3.1.29.1 ATK 模块接口

如图所示,U3是一个1*6的排座,可以用来连接ALIENTEK推出的一些模块,比如:蓝牙串 口模块、GPS模块、MPU6050模块等。有了这个接口,我们连接模块就非常简单,插上即可工作。

3.1.30 WIRELESS模块接口

ALIENTEK开拓者FPGA开发板板载了一个WIRELESS模块接口,电路如下图所示:

图3.1.30.1 无线模块接口

该接口用来连接NRF24L01、SPI WIFI模块等无线模块,从而实现开发板与其他设备的无线 数据传输(注:NRF24L01不能和蓝牙/WIFI连接)NRF_CE/NRF_CS/NRF_IRQ连接在FPGA的J1/G2/G1 上,而另外3个SPI信号则接FPGA的F1/F3/G1。

3.1.31 引出IO口

ALIENTEK开拓者FPGA开发板总共有三组主IO引出口:P6、P7和P8。其中,P6和P7分别采用 2*24排针引出,总共引出88个IO口,P8采用1*16排针,按顺序引出D0~D15共16个IO口。如下图 所示:

图3.1.31.1 引出IO口

引出的IO口可扩展用做其他用途。

3.1.32 FPGA 电源设计

Cyclone IV FPGA需要四组供电,分别为内核供电(VCCINT)、PLL模拟电路供电(VCCA)、 PLL数字电路供电(VCCD_PLL)和IO单元供电(VCCIO)。其中,内核供电电压根据器件是否为 低电压版本区分,低电压版本,内核供电为1.0V,非低电压版本供电为1.2V。PLL模拟部分供 电为固定的2.5V。IO供电电压值支持1.2V、1.5V、1.8V、2.5V、3.0V、3.3V多种电平标准,即 有6种可选值。Cyclone IV FPGA器件供电示意图如下:

图3.1.32.1 Cyclone IV E 供电示意图

由上图可知,设计FPGA供电电源可以简单的直接分两路供电:1.2V和2.5V。一般而言,IO 单元供电电压可以根据需要灵活设计,需要注意的是BANK3不支持1.2V供电。ALIENTEK开拓者 开发板FPGA供电电源电路如下图所示:

图3.1.32.2 FPGA供电电源电路

由图可知,开拓者开发板上的IO BANK统一用3.3V供电,以提供足够大的供电电压。另外 电源引脚附近一般需要加高频滤波电容以提供平滑稳定的电压。

3.1.33 电源适配器输入接口

ALIENTEK开拓者FPGA开发板由电源适配器供电的电源接口原理图如下图所示:

图3.1.33.1 电源适配器供电电源接口

DC_IN用于外部直流电源输入,输入电压(12V)经过U16 DC-DC芯片转换为5V电源输出, 其中D3是防反接二极管,避免外部直流电源极性接反的时候,烧坏开发板。

3.1.34 电源按键开关

ALIENTEK开拓者FPGA开发板的供电电源可以从电源适配器供电,也可以通过USB供电,无 论通过哪种方式供电,都经过电源开关K1控制是否对开发板供电,其原理图如下图所示:

图3.1.34.1 电源按键开关

VBTN为电源适配器输入的12V电压经电源转换芯片转换后得到的5V电压,VUSB为通过USB 接口输入的电压。TAP1引脚为开关按键控制的向开发板输出的电源电压(VCC5)。需要特别注 意的是:对于供电电流需求大的器件如LCD,当使用USB供电时,由于最大电流不超过500mA, 可能会导致使用时会出现LCD闪烁的现象,如果出现此种现象,改用电源适配器供电即可。

3.1.35 电压转换电路

ALIENTEK开拓者FPGA开发板提供了3.3V、2.5V、1.2V的电源电压,皆由5V电源电压转换而 来,其电压转换电路原理图如下图所示:

图3.1.35.1 电压转换电路

当电路接通后,通过电压转换芯片得到3.3V电压,点亮电源指示灯PWR,可以通过电源指示灯 PWR判断开发板供电是否正常。

3.1.36 电源输入输出接口

ALIENTEK开拓者FPGA开发板板载了两组简单电源输入输出接口,其原理图如下图所示:

图3.1.36.1 电源输入输出接口

图中,VOUT1和VOUT2分别是3.3V和5V的电源输入输出接口,有了这2组接口,我们可以通 过开发板给外部提供3.3V和5V电源了,虽然功率不大(最大1000ma),但是一般情况都够用了, 大家在调试自己的小电路板的时候,有这两组电源还是比较方便的。同时这两组端口,也可以 用来由外部给开发板供电。

图中D4是TVS管,可以有效避免VOUT外接电源/负载不稳的时候(尤其是开发板外接电机/ 继电器/电磁阀等感性负载的时候),对开发板造成的损坏。同时还能一定程度防止外接电源 接反对开发板造成的损坏。

3.2开发板使用注意事项

为了让大家更好的使用ALIENTEK开拓者FPGA开发板,我们在这里总结该开发板使用的时 候尤其要注意的一些问题,希望大家在使用的时候多多注意,以减少不必要的问题。

1. USB供电电流最大500mA,且由于导线电阻存在,供到开发板的电压,一般都不会有 5V,如果使用了很多大负载外设,比如4.3寸屏、7寸屏、摄像头模块等,那么可能引 起USB供电不足,所以开发板如果连接大负载模块的朋友,或者同时用到多个模块的时候, 建议大家使用一个电源适配器供电。

2. 当你想使用某个IO口用作其他用处的时候,请先看看开发板的原理图,该IO口是否 有连接在开发板的某个外设上,如果有,该外设的这个信号是否会对你的使用造成 干扰,先确定无干扰,再使用这个IO。

3. 开发板上需要连接跳帽的地方比较多,大家在使用某个功能的时候,要先查查实现 这个功能是否需要连接跳帽,以免浪费时间。

4. 当液晶显示白屏的时候,请先检查液晶模块是否插好(拔下来重新插试试),如果还 不行,可以通过串口看看LCD ID是否正常,再做进一步的分析。

至此,本手册的实验平台ALIENTEK开拓者FPGA的硬件部分就介绍完了,了解了整个硬件对 我们后面的学习会有很大帮助,有助于后面的管脚约束(分配),在编写程序的时候,可以事 半功倍,希望大家细读!另外ALIENTEK开发板的其他资料及教程更新,都可以在技术论坛 http://www.openedv.com 下载到,大家可以经常去这个论坛获取更新的信息。

3.3FPGA的学习方法

FPGA作为目前最热门的非CPU类处理器,正在被越来越多的公司选择使用。学习FPGA的朋 友也越来越多,初学者可能会认为FPGA很难学,以前只学过51,或者甚至连51都没学过的,一看到FPGA就懵了。其实,万事开头难,只要掌握了方法,学好FPGA,还是非常简单的,这里我 们总结学习FPGA的几个要点:

1. 一款实用的开发板。

这个是实验的基础,有时候软件仿真通过了,在板上并不一定能跑起来,而且有个开发板 在手,什么东西都可以直观的看到,效果不是仿真能比的。但开发板不宜多,多了的话连自己 都不知道该学哪个了,觉得这个也还可以,那个也不错,那就这个学半天,那个学半天,结果 学个四不像。倒不如从一而终,学完一个再学另外一个。

2. 掌握方法,勤学慎思。

FPGA不是妖魔鬼怪,不要畏难,FPGA的学习和普通单片机一样,基本方法就是: a) 了解FPGA的基本结构。 学习FPGA之前需要先对FPGA的基本结构和其功能有个大概的了解,如锁相环PLL、FIFO等。 需要知道PLL是用来产生不同频率的时钟,如使用SDRAM时需要产生100MHz的驱动时钟,使用 WM8978(音频编解码芯片)时需要生成12MHz的时钟;FIFO用于数据的缓存和异步时钟域数据 的传递等。 b) 了解Verilog HDL基本语法 没有软件的硬件就如同行尸走肉一般。软件是硬件的灵魂,硬件是软件的舞台。好的软件 设计才能发挥硬件的性能,而软件的精髓在于代码。学习FPGA也是这样,Verilog HDL做为一 种硬件描述语言,是对数字电路的一种描述,而数字电路是并行工作的,因而在编写Verilog HDL时要有并行的思想,不同于软件设计语言,软件设计语言是由CPU统一进行处理,一条指令 一条指令的串行运行,所以软件设计语言是基于串行的设计思想,因而在写Verilog HDL代码 的时候要注意这种差别。另外对于Verilog HDL的基本语法是务必要掌握的,如一般常用的 module/endmodule 、 input/output/inout 、 wire/reg 、 begin/end 、 posedge/negedge 、 always/assign、if/else、case/default/endcase/parameter/localparam等关键字要清楚它 们的作用和区别。掌握了Verilog HDL的基本语法和Verilog HDL的并行设计思想后,会觉得 Verilog HDL和C语言一样简单。

3. 多思考,多动手。

所谓熟能生巧,先要熟,才能巧。如何熟悉?这就要靠大家自己动手,多多练习了,光看 或说是没什么太多用的。只有在使用FPGA的过程中,才会一点点的熟悉,也只有动手实练,才 能对FPGA有切实的感受。

熟悉了之后,就应该进一步思考,也就是所谓的巧了。我们提供了几十个例程,供大家学习,跟 着例程走,无非就是熟悉FPGA的过程,只有进一步思考,才能更好的掌握FPGA,也即所谓的举一 反三。例程是死的,人是活的,所以,可以在例程的基础上,自由发挥,实现更多的其他功能, 并总结规律,为以后的学习和使用打下坚实的基础,如此,方能信手拈来。

所以,学习一定要自己动手,光看视频,光看文档,是不行的。举个简单的例子,你看视频,教 你如何煮饭,几分钟估计你就觉得学会了。实际上你可以自己测试下,是否真能煮好?机会总 是留给有准备的人,只有平时多做准备,才可能抓住机会。

只要以上三点做好了,学习FPGA基本上就不会有什么太大问题了。如果遇到问题,可以在我 们的技术论坛:开源电子网:http://www.openedv.com 提问,论坛FPGA板块有各种主题,很多疑问已经 有网友提过了,所以可以在论坛先搜索一下,很多时候,就可以直接找到答案了。论坛是一个 分享交流的好地方,是一个可以让大家互相学习,互相提高的平台,所以有时间,可以多上去 看看。

fpga供电电压偏低会怎样_正点原子【FPGA-开拓者】第三章 硬件资源详解相关推荐

  1. 【正点原子FPGA连载】 第三章 硬件资源详解 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: h ...

  2. fpga供电电压偏低会怎样_[走近FPGA]之开发板介绍篇

    开发板概述 在走近FPGA预告篇中,我们已经提到了系列文章使用的开发平台,硬木课堂Xilinx Artix 7 FPGA板,如下图所示.它使用的FPGA芯片型号为Xilinx Artix-7 XC7A ...

  3. 25 linux ndk 头文件_正点原子Linux第二十五章RTC实时时钟实验

    1)资料下载:点击资料即可下载 2)对正点原子Linux感兴趣的同学可以加群讨论:935446741 3)关注正点原子公众号,获取最新资料更新 第二十五章RTC实时时钟实验 实时时钟是很常用的一个外设 ...

  4. 韦东山 IMX6ULL和正点原子_正点原子Linux第五十七章Linux MISC驱动实验

    1)资料下载:点击资料即可下载 2)对正点原子Linux感兴趣的同学可以加群讨论:935446741 3)关注正点原子公众号,获取最新资料更新 第五十七章Linux MISC驱动实验 misc的意思是 ...

  5. qq自定义diy名片代码复制_「正点原子FPGA连载」第六章自定义IP核-呼吸灯实验

    1)摘自[正点原子]领航者 ZYNQ 之嵌入式开发指南 2)实验平台:正点原子领航者ZYNQ开发板 3)平台购买地址:https://item.taobao.com/item.htm?&id= ...

  6. bmp文件头_「正点原子FPGA连载」第十九章SD卡读BMP图片LCD显示

    1)摘自[正点原子]领航者 ZYNQ 之嵌入式开发指南 2)实验平台:正点原子领航者ZYNQ开发板 3)平台购买地址:https://item.taobao.com/item.htm?&id= ...

  7. activiti高亮显示图片_【正点原子FPGA连载】第二十章SD卡读BMP图片HDMI显示实验领航者 ZYNQ 之嵌入式开发指南...

    1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手册+视频下 ...

  8. 扩展中断控制器8259实验_「正点原子FPGA连载」第十三章双核AMP实验

    1)摘自[正点原子]领航者 ZYNQ 之嵌入式开发指南 2)实验平台:正点原子领航者ZYNQ开发板 3)平台购买地址:https://item.taobao.com/item.htm?&id= ...

  9. 实验一 简单io应用—流水灯控制示例程序_【正点原子FPGA连载】第十章呼吸灯实验--领航者ZYNQ之linux开发指南...

    1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手册+视频下 ...

最新文章

  1. break 和continue在循环中起到的作用
  2. 基于事件的 NIO 多线程服务器--转载
  3. NOIP2008提高组(前三题) -SilverN
  4. 【数据库学习笔记】——创建数据库连接对象connection
  5. Java捕获异常密码_Java捕获异常的问题
  6. SYBASE的管理(三)
  7. python中一切皆是对象,对象都是在堆上存放的,一切都是指针
  8. 【笔试/面试】—— linux(rpm)
  9. java导出word的几种方式
  10. Android PackageManager 详解
  11. 无线接入回传一体化关键技术及标准化进展
  12. C# 设置开机启动启动
  13. 小新pro16独显版安装NVIDIA驱动
  14. 小米note4退出google账号
  15. AI for Science年度激辩:AlphaFold成功难以复制,数据人才生态建设都是挑战|MEET2023...
  16. 【笔记】Polygon mesh processing读书笔记(5)
  17. js前端计算两个日期的间隔时间(时间差)
  18. java英语 随时保存
  19. MY-I.MX6-DEMO Android4.4.2环境搭建
  20. 支付宝618红包怎么领?怎么用?

热门文章

  1. 【ElasticSearch】es ResourceWatcherService 的 初始化 启动 源码解析
  2. 【elasticsearch】ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)]
  3. 【java】Java 最坑爹的 10 大功能点
  4. 【MySQL】MySQL每秒统计一次showglobal status
  5. Failed with error: ssh variant simple does not support setting port
  6. RabbitMQ和Kafka的显著差异(5)
  7. leetcode题解200-岛屿数量
  8. MySQL高级-视图
  9. [转载]C# MemoryStream(内存流)
  10. linux配置https