热搜关键词: 信号与系统无刷电机ADSTCP/IP

pdf

FPGA设计技巧与案例开发详解

  • 1星
  • 日期: 2021-10-24
  • 大小: 288.24MB
  • 所需积分:1分
  • 下载次数:0
  • favicon收藏
  • rep举报
  • free评论
标签: FPGA

FPGA

本书由浅入深、由表及里,从FPGA技术的探索到资源的发现与利用,从硬件版图规划与设计到逻辑电路验证与实现,从模块化功能的研究与积累到系统集成的综合与Timingquest时序优化,系统、全面地介绍Altera  FPGA的开发流程。本书的所有例程均经过千锤百炼,相关FPGA设计的资源均由笔者多年整理归纳,希望读者能够妥善利用。

目  录

第1章  浅谈FPGA技术、优势、学习途径  (1)

1.1  FPGA的诞生、发展  (1)

1.1.1  FPGA的诞生  (1)

1.1.2  FPGA的发展与未来  (4)

1.1.3  博弈,在入门之前  (7)

1.2  Altera  FPGA介绍及发展、应用  (8)

1.2.1  Altera公司介绍  (8)

1.2.2  Altera产品介绍  (9)

1.2.3  Altera  FPGA的开发平台  (15)

1.2.4  Altera  FPGA的动态与应用  (17)

1.2.5  Altera  FPGA的应用  (20)

1.2.6  对比ARM与DSP,认清FPGA  (23)

1.3  善用网络资源,不断总结自我  (26)

第2章  Quartus  II  13.0套件的下载及安装  (29)

2.1  写在前面的话  (29)

2.2  Quartus  II  13.0软件下载  (30)

2.3  Quartus  II  13.0组件安装  (32)

2.4  Quartus  II  13.0  Device安装  (36)

2.5  USB  Blaster下载器驱动程序的安装  (39)

第3章  Verilog  HDL语法简介  (43)

3.1  What  is  Verilog  HDL?  (43)

3.2  设计层次  (44)

3.3  设计流程  (44)

3.4  基本语法介绍  (46)

3.4.1  模块module  (46)

3.4.2  注释  (47)

3.4.3  大小写  (47)

3.4.4  参数声明parameter  (48)

3.4.5  预处理指令  (48)

3.4.6  常量  (49)

3.4.7  变量  (50)

3.4.8  运算符  (51)

3.5  Verilog  HDL建模  (54)

3.5.1  结构建模  (54)

3.5.2  数据流建模  (56)

3.5.3  行为建模  (57)

3.5.4  关于状态机  (66)

第4章  MAX  II  CPLD/Cyclone  II/IV  FPGA  PCB  Layout设计  (76)

4.1  浅谈PCB  Layout  (76)

4.2  MAX  II  CPLD核心电路设计  (77)

4.2.1  MAX  II  CPLD背景及简介  (77)

4.2.2  EPM240T100C5N设计需求研究及分析  (79)

4.2.3  EPM240T100C5N核心板原理图设计  (83)

4.2.4  EPM240T100C5N核心板布局布线  (87)

4.3  Cyclone  II  FPGA核心电路设计  (88)

4.3.1  Cyclone  II  FPGA背景及简介  (88)

4.3.2  Cyclone  II数据手册解读与EP2C8Q208C8N的设计研究  (89)

4.3.3  EP2C8Q208C8N核心板原理图设计  (101)

4.3.4  FPGA核心板Layout注意事项  (110)

4.4  Cyclone  IV  FPGA核心电路设计  (113)

4.4.1  Cyclone  IV  FPGA简介  (113)

4.4.2  Cyclone  IV  FPGA数据手册分析与EP4CE6E22C8N的设计研究  (115)

4.4.3  Cyclone  IV  FPGA核心电路设计  (121)

4.5  FPGA/CPLD电路焊接、调试经验总结  (124)

4.6  本书配套FPGA开发平台硬件介绍  (128)

4.6.1  VIP_Board  3.0硬件资源介绍  (128)

4.6.2  VIP_Board  3.0相关外设实物介绍  (130)

第5章  Verilog  HDL设计与Testbench  文件架构  (134)

5.1  Verilog  HDL设计  (134)

5.1.1  Verilog  HDL与VHDL的对比  (134)

5.1.2  Verilog  HDL的发展  (135)

5.1.3  Verilog  HDL代码设计风格  (136)

5.2  Testbench文件架构  (141)

5.2.1  Testbench的介绍  (141)

5.2.2  Testbench代码设计风格  (142)

5.3  Quartus  II工程目录文件夹的定制  (145)

第6章  4位计数器的设计与仿真验证  (147)

6.1  写在前面的话  (147)

6.2  FPGA/CPLD开发流程  (147)

6.3  基于Quartus  II  13.0的4位计数器设计流程  (149)

6.3.1  Quartus  II  工程的创建  (149)

6.3.2  4位计数器的逻辑电路设计  (152)

6.3.3  Quartus  II编译流程与工程设置分析  (155)

6.4  基于Modelsim-Altera  10.1d的4位计数器仿真验证流程  (166)

6.4.1  关于FPGA设计的各种仿真概念分析  (167)

6.4.2  Modelsim版本的简要介绍  (168)

6.4.3  Modelsim工程的创建  (168)

6.4.4  Testbench激励文件的编写  (171)

6.4.5  Modelsim波形的仿真与分析  (174)

6.5  设计思路的验证与总结  (182)

第7章  LED驱动电路设计  (183)

7.1  LED驱动电路设计方案1—入门  (183)

7.1.1  LED驱动电路设计方案  (183)

7.1.2  8位LED的自加显示实验  (185)

7.2  LED驱动电路设计方案2—升级  (196)

7.2.1  LED电路设计方案  (196)

7.2.2  74HC595驱动分析与实现  (198)

7.3  8位LED跑马灯显示实验  (208)

7.4  LED特效呼吸灯的设计  (215)

7.4.1  PWM协议的基本介绍  (215)

7.4.2  LED呼吸灯的设计  (216)

第8章  独立按键与矩阵键盘的FPGA驱动电路实现  (227)

8.1  按键及其工作模式介绍  (227)

8.1.1  按键抖动原理分析  (228)

8.1.2  硬件消抖动  (228)

8.1.3  软件消抖动  (230)

8.2  独立按键的FPGA驱动电路设计  (230)

8.2.1  独立按键电路设计  (230)

8.2.2  FSM状态机的Verilog  HDL介绍  (231)

8.2.3  FPGA按键驱动设计方案1  (234)

8.2.4  FPGA按键驱动设计方案2  (248)

8.3  矩阵键盘的FPGA驱动电路设计  (252)

8.3.1  工作原理及电路设计  (252)

8.3.2  FPGA矩阵键盘驱动设计  (255)

第9章  “Hello  World”的LCD1602显示驱动实现  (267)

9.1  LCD1602介绍及硬件设计  (267)

9.1.1  LCD1602字符液晶介绍  (267)

9.1.2  LCD1602硬件电路设计  (268)

9.1.3  LCD1602的时序及初始化分析  (271)

9.2  LCD1602的FPGA驱动电路实现  (275)

9.2.1  LCD1602的C语言实现方案  (276)

9.2.2  LCD1602的Verilog  HDL实现方案  (277)

第10章  优化设计FPGA全局时钟管理模块  (290)

10.1  异步复位,同步释放机制  (290)

10.1.1  组合电路中的竞争-冒险  (291)

10.1.2  时序电路中的竞争-冒险  (292)

10.2  无PLL的全局时钟管理模块设计  (296)

10.3  Quartus  II  IP核介绍及PLL的定制  (305)

10.3.1  Quartus  II  IP核的介绍  (305)

10.3.2  PLL  IP核的定制与分析  (311)

10.4  带PLL的全局时钟管理模块设计  (319)

第11章  基于FPGA与MCU通信的SPI协议设计  (325)

11.1  SPI总线协议介绍及硬件的设计  (325)

11.1.1  SPI总线协议介绍  (325)

11.1.2  STM8的硬件电路设计  (327)

11.1.3  SPI总线协议时序分析  (329)

11.2  SPI总线协议的通信实现  (330)

11.2.1  STM8的SPI总线收发设计  (330)

11.2.2  边沿检测电路的FPGA实现  (332)

11.2.3  SPI通信的数据接收模块设计  (334)

11.2.4  SPI通信的数据发送模块设计  (343)

第12章  基于FPGA与PC通信的UART串口设计  (351)

12.1  追根溯源透析串口通信  (351)

12.1.1  串口通信简介  (351)

12.1.2  串口波特率  (354)

12.1.3  串口协议分析  (354)

12.2  串口电路的设计  (355)

12.2.1  TTL转RS-232电路的设计  (355)

12.2.2  USB→UART转换电路设计  (356)

12.2.3  UART电路的调试  (357)

12.3  细说真正的任意分频  (358)

12.3.1  分频电路的重要性  (358)

12.3.2  任意频率发生器原理  (358)

12.3.3  任意频率发生器的验证  (360)

12.4  串口通信的硬件实现  (364)

12.4.1  uart_receiver接收模块的设计  (364)

12.4.2  uart_transfer发送模块的设计  (372)

12.4.3  PC2FPGA  UART联调测试  (376)

第13章  基于FPGA的VGA驱动显示设计  (383)

13.1  VGA接口、时序及驱动电路设计  (383)

13.1.1  VGA接口介绍  (383)

13.1.2  VGA时序分析  (385)

13.1.3  RGB三原色模型  (388)

13.1.4  VGA驱动电路设计  (391)

13.2  VGA驱动的FPGA实现  (396)

13.2.1  VGA驱动时序电路的设计  (396)

13.2.2  任意分辨率的VGA显示控制器设计  (408)

13.3  “Hello  World”的VGA显示驱动实现  (411)

13.3.1  “Hello  World”字模的提取  (411)

13.3.2  C2Mif软件的介绍与Mif文件的生成  (414)

13.3.3  VGA字符显示的FPGA实现  (418)

13.4  彩色图像的VGA显示驱动实现  (422)

13.4.1  彩色图像显示的理论分析  (422)

13.4.2  彩色图像的数据提取  (423)

13.4.3  VGA彩色图像显示的FPGA实现  (424)

第14章  基于SDRAM的VGA显示控制器的设计与实现  (427)

14.1  跨时钟域数据交互  (427)

14.2  SDRAM的介绍及其控制器的移植与优化  (431)

14.2.1  SDRAM的特性及时序驱动介绍  (431)

14.2.2  SDRAM的硬件驱动电路设计  (435)

14.2.3  SDRAM控制器的移植与优化  (437)

14.2.4  Sdram_Control_2Port的封装与协议制定  (454)

14.3  基于SDRAM的VGA显示控制器的实现  (459)

第15章  基于OV7725的摄像头视频图像采集系统  (471)

15.1  系统框架设计思路分析  (472)

15.1.1  系统框架分析  (472)

15.1.2  算法的实现流程  (473)

15.2  OV7725摄像头介绍与视频采集实现  (476)

15.2.1  CMOS摄像头的简介  (476)

15.2.2  OV7725的特性介绍及驱动电路设计  (478)

15.2.3  OV7725  SCCB接口及寄存器介绍  (483)

15.2.4  OV7725感光阵列与视频时序分析  (492)

15.2.5  OV7725寄存器I2C初始化设计  (495)

15.2.6  OV7725的视频采集模块设计  (510)

15.3  OV7725视频图像显示的实现  (527)

15.4  本章小结  (537)

第16章  TimeQuest的分析与实践  (539)

16.1  写在前面的话  (539)

16.2  保持裕量和建立裕量的深刻理解  (539)

16.3  时钟约束—内对内模型  (542)

16.3.1  内对内模型公式分析  (542)

16.3.2  约束时钟及PLL  (543)

16.4  output引脚约束—内对外模型  (553)

16.4.1  内对外模型公式分析  (553)

16.4.2  output引脚约束  (554)

16.5  input引脚约束—外对内模型  (556)

16.6  阶段性小总结  (557)

16.7  约束异常  (557)

16.7.1  Set  Multicycle  Path  (557)

16.7.2  Set  False  Path  (562)

16.8  决战SDRAM时序约束  (562)

16.9  Altium  Designer查看走线报表  (573)

第17章  基于FPGA的系统设计  (575)

17.1  FPGA芯片选型  (575)

17.2  FPGA的与众不同—PCB布局在设计原理图之前  (582)

17.3  存储器的选型  (583)

17.4  FPGA外围器件的选择与设计  (584)

17.4.1  电阻  (585)

17.4.2  电容  (585)

17.4.3  磁珠  (588)

17.4.4  保险丝  (590)

17.5  基于核心板的系统设计  (592)

17.6  基于低功耗系统的电源选型  (593)

17.7  高速系统的PCB设计要点  (598)

17.7.1  结构布局  (598)

17.7.2  电路板的多层设计  (598)

17.7.3  过孔设计要点  (599)

17.7.4  防止串扰的布线原则  (600)

17.7.5  差分线布线原则  (600)

17.7.6  开关电源PCB设计要点  (601)

17.8  本章小结  (602)

第18章  基于高速相机的嵌入式视觉处理系统设计  (603)

18.1  视觉处理系统概述  (603)

18.2  嵌入式视觉处理系统结构设计  (604)

18.3  芯片选型  (606)

18.4  基于Camera  Link工业相机接口的硬件设计  (608)

18.5  基于Camera  Link接口的FPGA程序设计要点  (612)

18.6  基于VGA接口的图像的实时缩小与算法结构  (613)

18.7  FPGA与DSP的协同工作模式  (616)

18.8  乒乓操作的进阶—零延时数据传输  (616)

18.9  系统调试  (617)

18.10  本章小结  (618)

缩略语对照表  (619)

符号对照表  (625)

推荐帖子 最新更新时间:2021-12-06 23:35

Qt学习之路第9篇 资源文件
上一章节中我们介绍了如何使用 QAction 添加动作。其中,我们使用 QIcon 加载了一张 png 图片。那时候我们使用的是 Qt 资源文件。现在我们来仔细了解下 Qt 的资源系统。 Qt 资源系统是一个跨平台的资源机制,用于将程序运行时所需要的资源以二进制的形式存储于可执行文件内部。如果你的程序需要加载特定的资源(图标、文本翻译等),那么,将其放置在资源文件中,就再也不需要担心这些文件的
兰博 Linux与安卓
[MXCHIP]WIFI Link bug修复之实现用户按键启动1081扫描AP
这两天一直在学习wifi部分。大概上了解了一下庆科wifi固件的工作原理,但是在查找资料的时候,发现使用的是EMW3161的demo,在WIFI_Link例程里的main()函数中有一个Button_Init()函数,它的定义在platform.c中,如图:这个函数简单说就是定义了一个用户按键。首先定义了一个GPIO_InitTypeDef变量,再开启按键所在引脚时钟,然后是给GPIO_Ini
wo4fisher RF/无线
高保真数字音频无线麦克风
一、作品简介1.成品图片2.目的和功能 背景:由于传统的无线麦克风电路部分集成度较低,并且每块PCB板都需要进行人工调试,导致生产工艺繁琐,品质的一致性难以保证,直接造成生产成本提高,因而市面售价高昂,导致市场竞争力降低,因应市场所需高集成度的单芯片数学无线麦克风产品出现能满足广大厂家需求。目的:采用BK9521,BK9524 系列数字芯片制作的无线麦克风,由于实现了从射频到基带的完全集成,这样
走过的风景 DIY/开源硬件专区
STM32L4用串口2给PC 发送hello word
#include "stm32l4xx_hal.h" #include "periph.h" UART_HandleTypeDef UartHandle; int main() {         char ch[]="hello word";         HAL_Init();         SystemClock_Config();   __HAL_RCC_USART2_CLK_ENA
xutong stm32/stm8
【ESP32学习】SDIO方式使用TF卡
上周介绍了在ESP32学习板上使用TF卡的方法,但是因为开发板上的电阻没有焊接,给TF卡的使用带来一些影响,因此今天测试使用外接TF卡。使用的TF卡如下图所示: 按照SDIO完整方式连线,具体连线如下表: SP32 pinSD nameGPIO14 (MTMS)CLKGPIO15 (MTDO)CMD / DIGPIO2DAT0 / DOGPIO4DAT1GPIO12 (MTDI)D
dcexpert MicroPython开源版块
bq24630充电疑惑
请问,,有谁做过bq24630充电管理,,,急,,我现在遇到两个问题,,一直超找不到问题 问题一:当只接输入,不接电池和负载时,电池端有6V的电压,,一直不理解,6V电压怎么来的,,因为我改过VFB电阻,还是6V。当我接入的电池电压小于6V时,系统充电正常。但是当电池电压大于6V系统就不能正常充电。奇怪? 问题2:当我空载不接电池和负载时,此时充电状态STATE1为ON,显示正在充电,,但是我
feng1234567 模拟与混合信号

评论

登录/注册

意见反馈

求资源

回顶部

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
×