一、FPGA与VHDL课程简介
-
课程简介
- FPGA开发板简介
- VHDL 语言简介
-
仪器设备的使用
-
示波器的使用
-
二、VHDL 基本语法
- VHDL注释语句与文件头部编写
- VHDL 设计文件的基本格式(entity architecture)
- VHDL 实体例化与简单层次电路设计
- FPGA 双向口的使用及VHDL实现
- 模块语句编程与实验
- TTL,CMOS,LVTTL,LVCMOS电平标准
- Quartus 实验环境搭建
- FPGA设计流程(Quartus)
- Vivado 实验环境搭建
- Vivado 路径文件名字符的使用规则
- Vivado软件安装步骤
- Vivado软件的使用
- Vivado中综合,实现,编程和调试工程可能会出现的问题
- 板级硬件实验
- 7. VHDL标识符与数据类型
- VHDL标识符
- VHDL 关键字
- VHDL语言文字规则与数据表达方式
- VHDL 语言数据对象与变量
- VHDL 语言数据对象与信号
- VHDL 语言数据对象与常量
- VHDL 语言数据类型概述
- VHDL语言预定义数据类型
- VHDL IEEE库与std_logic数据类型
- VHDL预编译(常数,generic…)
- 实验设计与 Modelsim仿真
- VHDL中的时间尺度与延迟
- Quartus 中Modelsim仿真设置
- Testbench 编写初步
- 利用tb在Modelsim下仿真初步
- Quartus 仿真文件使用的理解及问题解决
8. VHDL运算符
-
- 逻辑算符及表达式
- 关系运算符及表达式
- 算术运算符及表达式
- 移位运算符及表达式
- 位拼接运算符及表达式
- 归约运算符及表达式
- 运算符优先级
- VHDL中not、!、~的区别
- VHDL中信号或数值 ‘X’ 是如何使用的
9. VHDL表达式与 语句
-
- 并发赋值语句与并发过程
- 顺序语句
- always 过程
- 函数调用–function
- VHDL中function在PRBS方面的应用
- VHDL任务(task)的语法与使用
- 利用VHDLtask 计算斐波那契数列
- 分支判断语句
- if语句
- case 语句
- 问号“?”语句
- 循环语句
- for 循环语句
- VHDL forever 循环语句
- while 循环语句
- VHDL repeat 循环语句
- VHDL中阻塞与非阻塞赋值语句
- VHDL中阻塞与非阻塞赋值语句的区别
- 变量类型及使用范围深入探讨
- VHDL中generate 语句
- VHDL中std_ulogic与std_logic的区别
- 实验设计 Modelsim 仿真
- VHDL testbench 编写进阶(1)–$display
- VHDL testbench 编写进阶(2)–$monitor
- VHDL testbench 编写进阶(3)–$strobe,$write
- VHDL testbench 编写进阶(4)–数学函数及$clog2(x)
- Modelsim仿真进阶
10. VHDL 程序设计初步
-
- Quartus 图形输入层次电路设计
- Quartus 图形界面的设计输入方法
- Quartus 图形输入法自底向上的设计方法
- Quartus 基于图形设计输入自顶向下的设计方法
- 组合电路设计
- 全加器,全减器,累加器设计
- 乘法器的设计及仿真注意事项
- 优先编码器的设计及VHDL描述
- 3/8译码器及VHDL不同实现方法
- 3/8译码器的不同实现在FPGA上综合后逻辑比较
- 数据选择器
- 数据分配器
- 实验设计 板载FPGA实验
- VHDL时序电路设计
- Quartus 图形输入层次电路设计
-
-
- 时钟的使用及触发器映射
- PLL 设置与使用
- Quartus 下PLL生成、设置与使用
- 分频器的设计
- VHDL计数器设计及触发器模型深度分析
- 数码管译码与扫描
- 数码管原理与显示译码原理
- 数码管显示译码及VHDL代码实现
- 数码管动态扫描显示VHDL实现
- 自适应按键去抖VHDL实现与FPGA板载测试
- 复杂数字钟设计与FPGA板载实验
- 利用VHDL进行复杂数字钟设计(1)–程序功能划分技巧
- 复杂数字钟设计(2)–按键去抖
- 复杂数字钟设计(3)–BCD码计数
- 复杂数字钟设计(4)–分频与显示译码
- 复杂数字钟设计(5)–调度
- 复杂数字钟设计(6)–模块组装及硬件调试(PRA006)
- 复杂数字钟设计(7)–模块组装及硬件调试(PRX100-D)
- Quartus QSF约束文件定义与使用
- FPGA中 同步复位(sync)和异步复位(async)的使用
- 阻塞与非阻塞赋值语句深度探讨及的使用技巧(1)
- 阻塞与非阻塞赋值语句深度探讨及的使用技巧(2)
- VHDL状态机设计
-
-
-
- VHDL状态机概述
- 状态机建模与VHDL程序设计–摩尔机与梅利机
- 状态机中状态编码格式
- 状态机分段描述方法
- 状态机应用
- VHDL实现16进制到10进制(BCD)转换(1)加减计数法
- VHDL实现16进制到10进制(BCD)转换(2)减法计数法
- VHDL实现16进制到10进制(BCD)转换(3)快速算法
- 硬件验证
- 硬件调试
- Signal Tap Logic Analyzer在线调试工具的使用
- Vivado软件 调试工具的使用初步
- Vivado软件 调试工具的使用进阶(VIO的使用)
- Quartus 软件 In-System Memory Content editor 使用
-
三、FPGA IPcore的配置与使用
- ROM的设计与使用
- Intel-Altera
- Quartus ROM 的生成与配置详解
- Quartus 下 mif文件的使用
- Quartus 下利用ROM 实现7段译码显示
- Quartus ROM IP Modelsim 仿真注意事项
- Quartus 软件 In-System Memory Content editor 使用
- Xilinx
- Vivado Block ROM 的生成与配置详解
- Vivado下利用ROM显示数码管实验课
- Vivado下锯齿波通过ROM 查找表转换成正弦波
- Intel-Altera
- 单口RAM的设计与使用
- 双口RAM的设计与使用
- Intel-Altera
- Quartus 双口RAM例化详解
- Quartus 双口RAM仿真与测试一
- Quartus 双口RAM仿真与测试二
- Quartus 双口RAM仿真与测试三
- Xilinx
- Xilinx 7系列FPGA Block RAM概述
- Vivado真双端口(TDP)RAM IP核的生成与配置详解
- Vivado下利用TDP RAM 实现乒乓Buffer实例
- Intel-Altera
- FIFO的设计与使用
- 自建同步时钟,数据等宽FIFO IP 方法
- Intel-Altera
- Quartus FIFO生成与配置详解
- Xilinx
- FIFO IP核在Vivado2018.2下的使用(一)标准同步FIFO
- FIFO IP核在Vivado 2018.2下的使用(二)同步FIFO, First-Word Fall-Through
- FIFO IP核在Vivado 2018.2下的使用(三)标准异步FIFO
- FIFO IP核在Vivado 2018.2下的使用(四)AXI4- Stream FIFO简单使用
- testbench 编写精通
- VHDL文件操作-$fopen,$fclose
- VHDL文件操作-$fdisplay,$fwrite,$fstrobe,$fmonitor
- VHDL文件操作-$fgetc,$fgets,$fscanf,$fread
- VHDL文件操作-$fseek,$ftell,$feof
- vivado 仿真工程中$readmemh 使用
- VHDL仿真工程应用-生成coe/mif 文件
- VHDL文件操作练习
- VHDL文件操作练习(1)BMP图像色彩替换
- VHDL文件操作练习(2)BMP图像生成coe/mif文件
四、综合设计-通讯类
- 通信概述及分类
- VHDL输入信号边沿检测电路
1. UART接口及应用
-
- 异步串行口(UART)的基本知识
- 异步串行收发(UART)协议详解(1)
- 异步串行收发(UART)协议详解(2)–波特率
- VHDL UART 设计
- UART的发送器TX的FPGA实现及实验
- 串口 UART RXD
- 多倍采样位中心对齐RXD
- 多倍采样累计判多RXD
- UART 组装与仿真
- 波特率设计与控制寄存器
- 数据帧的设计
- 串口UART实验(与计算机串口通讯)
- uart通信tx模块在FPGA实现的一种VHDL状态机写法(一)
- uart通信tx模块在FPGA实现的一种VHDL状态机写法(二)
- uart通信rx模块在FPGA实现的一种VHDL状态机写法(三)
- uart通信rx模块在FPGA实现的一种VHDL状态机写法(四)
2. I2C接口及应用
-
- I2C 接口基本理论一
- I2C接口基础知识二
- I2C接口设计
- I2C 主设备分频器设计
- I2C 主设备启动及读写控制VHDL程序设计
- I2C接口程序不同设计技巧
- I2C(IIC)VHDL开发学习技巧(一)
- FPGA I2C(IIC) VHDL开发学习技巧(二)
- 当前地址读FPGA I2C(IIC) VHDL开发学习技巧(三)
- 随机地址读FPGA I2C(IIC) VHDL开发学习(四):
- eeprom检测程序
- I2C接口应用
- E2PROM 的读写
- I2C接口ADC/DAC转换的数据读写
- PCF8951使用技巧
3. SPI接口及应用
-
- SPI 通讯协议 及 SPI 相关工程 详解
- 标准SPI 协议
- SPI 通讯协议(1)SPI 定义与应用
- SPI 通讯协议(2)简单的SPI VHDL模块及仿真
- SPI 通讯协议(3)SPI FLASH 介绍
- SPI 通讯协议(4)SPI FLASH (VHDL) 工程解析 (spi_phy.vhd)
- SPI 通讯协议(5)SPI FLASH (VHDL) 工程解析 (spi_cmd.vhd)
- SPI 通讯协议(6)SPI FLASH (VHDL) 工程解析 (spi_IF.vhd)
- SPI 通讯协议(7)SPI FLASH (VHDL) 工程解析 (TOP.vhd)及仿真
- SPI 通讯协议(8)SPI FLASH (VHDL) 工程解析 (开发板操作)
- SPI的仿真程序
- SPI 通讯协议 及 SPI 相关工程 详解
4.异步串行高速通信
-
- 差分信号原理及LVDS电气接口
- FPGA 与LVDS接口电路设计
- Quartus LVDS_RX与生成配置
- Quartus LVDS TX生成与配置
- 高速通信发送与数据串行化
- 高速串行通信异步接收器设计
- 亚稳态消除及边沿提取VHDL实现
- VHDL自适应位同步信号提取
- 同步字提取与帧同步
- 串行通信帧结构设计初步
- 接收端异步时钟域数据交换
- 信道编码–PCS子层原理与结构
- 8b/10b编码基础知识
- 8b/10b编码与PCS子层架构设计
- 8b/10b 编码VHDL代码
- 10b/8b解码VHDL代码
- VHDL 8b/10b encoder
- VHDL 10b/8b decoder
- 高速通信分层设计及PCS子层实现—发送端VHDL代码
- 高速通信分层设计及PCS子层实现—接收端VHDL代码
- 高速通信分层设计—PRA006开发板实验(Altera)
- 高速通信分层设计—PRX100T-D开发板实验(Xilinx)
- 异步过程与数据缓冲(FIFO)
- 数据缓冲与乒乓Buffer
- 高速通信乒乓Buffer数据缓冲Veri log实现–发送端
- 高速串行通信接收端乒乓Buffer数据缓冲VHDL代码
- 64b/66b
- 加扰解扰
- 高速通信中的信道编码–加扰与解扰
- 高速通信中的信道编码–加扰与解扰(加性加扰实验)
- 高速通信中的信道编码–加扰与解扰(乘性加扰实验)
- WIFI 加扰及解扰生成多项式
- 数据校验
- CPU/DSP接口设计与仿真
- CPU/DSP FPGA高速串行通信系统集成
- 通信线路故障处理
- 多机网络通信
5. 网络通信(千兆网)
-
- 互联网基本知识 —互联网构成及相关设备
- IEEE 802.3以太网的命名规范
- 10M/100M/1000M网络的区别与联系
- TCP/IP的分层原理
- 媒介无关层MII接口
- 千兆PHY RTL8211E 资料
- 网速检测及VHDL实现技巧
- Xilinx FPGA DDR 接口及VHDL实现
- 数据链路层(MAC)
- CRC原理
- CRC32 VHDL并行计算代码
- 前导知识
- 数域的概念
- 二进制数域及计算
- 模2多项式运算规则和公式
- CRC逻辑电路设计
- 互联网MAC层CRC32 生成器
- 互联网MAC层CRC32 Check VHDL代码
- 前导知识
- 网络层(IP)的分类与结构
- 网络层(IPv4)头部校验和的计算
- 地址解析协议(ARP)
- 用户数据包协议(UDP )及应用
- 传输层协议(TCP)
- 网络物理层基本知识(PCS子层)
- 8b/10b 编码VHDL语言实现
- 10b/8b解码VHDL实现
- VHDL 8b/10b encoder
- VHDL 10b/8b decoder
- 网络物理层基础知识2(PMA/PMD)
- 以太网PHY 之 MDIO接口及应用
- 以太网PHY 之 MDIO接口及应用(VHDL IP)
- 千兆PHY RTL8211E 资料
- 互联网网线及接口的基本知识
- 网络 MAC 地址用法详解
- 参考资料IEEE-EUI-OUI
- Xilinx FPGA DDR 接口及VHDL实现
- 网络综合实验(与计算机通信)
- 网络综合实验硬件模块概述
- 操作系统上以太网相关命令(ipconfig, ifconfig)
- 网络综合实验 VHDL工程(eth_phy_core.vhd及其子模块)
- 以太网工程中双端口的使用
- 网速检测及VHDL实现技巧
- MAC层接收 VHDL工程(eth_mac_rx.vhd)
- MAC层发送 VHDL工程(eth_mac_tx.vhd)
- 以太网UDP 实验(eth_ip_tx.vhd)
- 以太网UDP 实验(eth_ip_rx.vhd)
- 以太网UDP 实验(eth_udp_tx.vhd)
- 以太网UDP 实验(eth_udp_rx.vhd)
- 网络综合实验 VHDL工程(top.v及ETH_CORE.vhd)
- 网络抓包工具(wireshark)介绍
- 网络包抓取工具(wireshark 下载)
- Fiddler 工具和网络测试
- Fiddler工具——介绍与操作
- Fiddler工具——HTTP协议报文结构
- Fiddler工具——抓包原理
- Fiddler工具——HTTP协议请求和状态码
- Fiddler工具——HTTP请求Header
- Fiddler工具——HTTPS协议
- Fiddler工具——WEB页面抓包
- WEB应用测试——功能测试
- WEB应用测试——逻辑测试
- 网络交换原理
6. MVB系统及曼切斯特编码
-
- 曼彻斯特编码原理及应用
- 曼彻斯特编码FPGA 实现
- 曼彻斯特解码原理及应用
- 曼彻斯特解码FPGA实现
7. 光纤通信类
-
- XGMII及64b/66b万兆网光纤网编码格式
五、综合设计-图像处理类
1.图像接口及应用
-
- 图片转MIF/COE小软件
- 图像显示基本知识
- 视频显示接口类型
- 图像色彩空间转换
- VGA接口设计与应用
- FPGA图像处理之一:VGA显示
- FPGA图像处理之二:VGA彩条显示VHDL实现
- FPGA图像处理之三:VGA文字显示VHDL实现
- FPGA图像处理之四:VGA显示数字时钟
- FPGA图像处理之五:VGA显示图片
- HDMI高清图像接口设计与应用
- HDMI 概述
- 使用prx100t-d 开发板 以及adv7511 芯片介绍
- HDMI FPGA 工程设计1(框架设计)
- HDMI FPGA 工程设计2(VESA h,v,de)
- HDMI FPGA 工程设计3(rom, I2C 控制)
- HDMI FPGA 工程设计4(vga_show.v 模块)
2.图像采集与传输系统的设计
-
- 图像采集与传输系统(系统设计框架)
- OV5640模组介绍
- 图像采集与传输系统(摄像头驱动)
- 图像采集与传输系统(摄像头控制模块)
- 图像采集与传输系统(采集图像DDR数据存储)
- 图像采集与传输系统(hdmi 显示输出)
- 图像采集与传输理论答疑(1)
- 图像采集与传输理论答疑(2)
六、综合设计-存储器类
-
- 存储器基本知识简介
- 只读存储器原理与应用EPROM
- EEPROM的原理与使用
- I2C接口EEPROM的原理与使用
- SPI接口的EEPROM的原理与使用
- Flash 存储器的结构与原理
- 并行接口NOR FLASH 存储器读写及应用
- NAND FLASH存储器的接口与应用
- 随机存取存储器 RAM的结构与原理
- 同步DRAM的原理与结构
- DDR3-MT41J128M16HA内部结构与对外接口
- DDR SDRAM 预充电与刷新的区别
- DDR3存储器状态机及状态命令
- DDR3 时间参数
- DDR3 模式寄存器的配置与使用详解
- DDR3 读写时序
- DDR3 SDRAM硬件设计注意事项
- VHDL综合设计五 DDR3存储器接口设计与应用
- FPGA DDR3控制器设计
- Vivado DDR3 控制器生成步骤(1)
- Vivado DDR3 控制器生成步骤(2)
- Vivado DDR3 控制器生成步骤(3)
- DDR3控制器接口与使用
- DDR3控制器简单应用程序设计与测试
- FPGA DDR3控制器设计
- DDR3控制器的使用及答疑
七、综合设计-语音类
- 蜂鸣器实验
- VHDL综合设计四 语音采集与应用
- I2S的基本协议
- 语音采集及回放
八、综合设计-数字信号处理类
九、综合设计- RISC-V CPU 设计与应用
十、VHDL与FPGA设计技巧
-
- 算法优化
- 提高数字系统设计性能–数字设计与VHDL设计技巧一 全加器算法
- 权值变换法实现16进制到BCD码转换
- 权值变换法实现16进制到BCD码转换RTL代码改进
- 流水线
- 流水线原理
- 流水线优化
- 资源优化
- 约束与优化
- 约束与优化概论
- 时序分析与约束
- Quartus QSF约束文件定义与使用
- Quartus 下SDC文件的生成与使用
- Vivado XDC 文件约束文件初步
- SDC XDC input_delay模型与使用
- 时序分析与优化
- 时序收敛技巧
- 算法优化
十一、与FPGA相关的硬件设计
-
- FPGA 没有使用的管脚处理
- 电源树的分析与设计
- 时钟树的分析与设计
- 配置电路设计
- Xilinx 7系列FPGA配置简介
- IO接口资源与匹配
- Xilinx FPGA DDR 接口及VHDL实现
- CLB资源优化利用
- Xilinx7系列FPGA SRL16E原语
十二、国产FPGA开发
-
- 紫光FPGA开发系列(一):开发环境Pango Design Suite(PDS) 安装和License配置
- 紫光国产FPGA开发系列(二):创建你的第一个PDS源代码工程
- 紫光国产FPGA开发系列(三):创建PDS网表工程
- 紫光国产FPGA开发系列(四):PDS工程常用操作技巧
- 紫光国产FPGA开发系列(五)—在PDS工程中调用IP核
- 紫光国产FPGA开发系列(六)—使用Modelsim仿真PDS工程
十三、 主流FPGA简介
- Xilinx
- Xilinx主流FPGA芯片简介(一)
- xilinx主流FPGA简介(二)
- Xilinx 7系列FPGA Block RAM概述
- Xilinx原语及使用方法
- Intel-Altera
- Intel主流FPGA简介(一)
- Intel主流FPGA简介(二)
十四、 Lattice FPGA 开发
- LATTICE的FPGA开发软件diamond的安装
- LATTICE DIAMOND 软件使用 详解
- Lattice_Diamond_调用Modelsim_仿真
- Diamond在线调试助手Reveal使用
- Modelsim之TCL脚本自动化前仿真
十五、FPGA硬件资源
-
Xilinx
- Xilinx FPGA芯片底层单元的使用(一)
- Xilinx 7系列FPGA的时钟资源(1)
- Xilinx 7系列FPGA的时钟资源(2)
- Xilinx 7系列FPGA的时钟资源(3)
- Xilinx原语及使用方法
- Xilinx FPGA DDR 接口及VHDL实现
- FPGA 输入IDELAY设置及应用
- Xilinx 原语STARTUPE2的设置与应用
- STARTUPE2 在spi flash 上的使用
- Intel
- Intel MAX10 FPGA 设计完整性指南
十六、 试题
FPGA 综合试题(一)
十七、 综合资料
开发板资料
-
- FPGA 开发板FII-PRA006/010硬件资料
- PRA006/010 原理图
- FII-PRX100-D(ARTIX 100T,XC7A100T)硬件参考指南
- FII_PRX100T_DDR_V1.3 硬件原理图
- FII-BM7100 SoC开发板硬件手册
- OV5640模组原理图(BD5640_PMOD)
FPGA相关资料
Xilinx
-
-
- FPGA High-speed IO SERDES
- Xilinx FPGA 7系列时钟资源
- Vivado Design Suite User Guide — Synthesis
- Xilinx selectIO datasheet
- Xilinx FPGA 上电配置官方文档
- DDR3_Xilinx_config
- XILINX ARTIX 7 dc ac 特性手册
- Xilinx Virtual Input/Output
- 7 Series GTP Transceiver
- Vivado下Implementation过程和管理
- Vivado Design Suite User Guide(约束设置)
- Vivado Design Suite Tutorial(约束教程)
- Xilinx Tcl 命令官方文档
-
Altera
-
-
- Intel FPGA cyclone 10 LP 器件使用手册
- Quartus — Design and Synthesis
- 10Ge XGMII Altera datasheet
- Quartus原语使用文档
- MAX 10 High-Speed LVDS IO用户手册
- Altera LVDS SERDES高速收发器
- MAX 10 FPGA 信号完整性设计指南
- Altera Tcl 官方文档
-
多媒体资料
-
- AD/DA PCF8951
- I2S接口语音接口芯片WM8978
- ADV7511_Programming_Guide
- ADV7511_Hardware_Users_Guide
- OV5640_datasheet
- OV5640自动对焦照相模组应用指南(DVP接口)
- OV5640_Camera_Module_Hardware_Application_Notes_R1.0英文手册
- OV5640_Auto_Focus_Camera_Module_Application_Notes
- VESA standard pdf (英文)
通讯资料
-
- Guideline for EUI -OUI assignment
- 千兆PHY RTL8211E 资料
- Mini LVDS
- sub lvds
- SC6550B —UART IC
存储类
-
- W25Q128A datasheet
- 开发板载FLASH芯片N25Q128A13BSE40F手册
- 并行NOR Flash MX29LV800
- K9F1G08 NAND FLASH
- SRAM IS61WV51216BLL-10TI资料
- Micron DDR3 PDF 英文版
- Micron DDR4 datasheet
- Nand FLASH ECC 算法资料
- SPI EEPROM AT25040B
- Atmel I2C芯片 AT24C02 datasheet
协议与标准
-
- I2C 规范中文版
- I2C 规范英文版
- 标准SPI 协议
- SMBus 协议 英文版
- Sub LVDS (XILINX)
- CAN总线基础
- AXI4 总线英文版
- IEEE VHDL标准
- CPRI 协议 中文版
数字信号处理
-
- 英文版 cordic文档
其他
-
- 常用小电流驱动MOS管NDS331N 原版资料
- P沟道小功率MOS管NDS3386p datasheet
- RT8068A 开关电源转换芯片资料
- ASCII码一览表, ASCII码对照表
- ch9350 芯片资料