转自小時不識月http://www.cnblogs.com/yuphone/archive/2010/08/27/docs_plan.html

新网址为:http://andrewz.cn

[连载计划][大家一起学FPGA/SOPC]

说明

未完成的文档,没有链接。

感言

大量反馈表明:许多FPGA初学者,在学习进程中,刚开始大多是激情万丈,但是倘若是长期不得入门要领,有一些人便会逐渐丧失学习FPGA的兴趣和信心。这是为什么呢?究其原因,不外乎以下几点:

  1. 目前市面上FPGA开发板的销售厂商数量众多,但是大多数情况下,厂商提供给FPGA初学者,仅是一些简单的例程代码和一些七凑八凑的文档和资料,严重缺乏针对FPGA入门的手把手系列文档。
  2. 市面上的FPGA设计相关书籍,有不少都是互相抄袭,翻译外文而来。虽然内容涵盖面较广,但是有些书抄的就是不得要领,对某些细节问题闪烁其辞,误导初学者。
  3. 大部分FPGA初学者没有养成勤读手册的习惯。一般情况下,我们所不了解的技术细节,在相应的手册中,都有翔实的描述。虽然大部分手册都是英文的,但是常看手册,不仅可以提高我们发现技术问题解决技术问题的能力,相应地也会提高我们的英文阅读能力。
  4. 浮躁,一部分FPGA初学者,盲目收集过多项目实例,蜻蜓点水,严重缺乏对基础知识的研究。

针对现状,(暂时省略废话10000句)……

目录

第一部分 软件入门篇

  1. Quartus II 10.0 安装指南
  2. 使用Verilog设计的Quartus II入门指南
  3. 使用Verilog设计的ModelSIm入门指南

第二部分 Verilog HDL入门篇

1 组合电路

  1. 逻辑门电路
  2. 多路选择器与多路分解器
  3. 编码器与译码器
  4. 算术运算电路

2 时序电路

  1. 触发器与锁存器
  2. 寄存器
  3. 移位寄存器
  4. 二进制计数器
  5. FIFO缓存
  6. 分频器
  7. 有限状态机FSM
  8. 带数据路径的有限状态机FSMD

3 重要话题

  1. 阻塞赋值与非阻塞赋值
  2. 参数与常量
  3. 使用有符号数
  4. 在综合中使用函数
  5. 测试平台(testbench)的结构

第三部分 Verilog HDL演练篇

1 外设实验

  1. 跑马灯
  2. 流水灯
  3. 七段数码管
  4. 按键消抖
  5. 4x4矩阵键盘
  6. LCD1602
  7. PS2鼠标
  8. PS2键盘
  9. VGA图像
  10. VGA文字
  11. PWM步进电机
  12. TLC549串行ADC
  13. TLC5620串行DAC
  14. 74HC595

。。。

2 存储器实验

  1. 片上ROM
  2. 片上RAM
  3. 片上FIFO
  4. SRAM

。。。

3 接口实验

  1. UART收发器
  2. SPI主从控制器

。。。

4 算法入门实验

  1. 加法器
  2. 乘法器
  3. 除法器
  4. CORDIC计算正余弦值

。。。

第四部分 SOPC篇

Nios II性能问题

定时器问题

OS问题

DMA问题

中断的问题

固化程序的问题

自定义外设的问题

案例分析:简易数码相框

第五部分 时序约束篇

。。。

第六部分 软件技巧篇

1 软件技巧

2 疑难杂症

3 FAQ

。。。

推荐博客

。。。

参考

0. Terasic.DE2_115_v.1.0_CDROM>DE2_115_tutorials

1. Stephen Brown, Zvonko Vranesic .Fundamentals of Digital Logic with Verilog Design 2nd Edition.Mc Graw Hill

2. 黄稚存.Summary for IEEE Verilog 1363-2001

3. Altera.Verilog设计范例

4. Altera.Recommended HDL Coding Styles

5. 卓兴旺.基于Verilog HDL的数字系统应用设计 第2版.国防工业出版社

6. 周立功.EDA实验与实践.北京航天航空大学出版社

7. 刘福奇, 刘波.Verilog HDL应用程序设计实例精讲.电子工业出版社

8. Pong P. Chu.FPGA Prototyping By Verilog Examples: Xilinx Spartan-3 Version.Wiley

9. fpga4fun

FPGA/SOPC学习转载的更多相关文章

  1. Java多线程学习(转载)

    Java多线程学习(转载) 时间:2015-03-14 13:53:14      阅读:137413      评论:4      收藏:3      [点我收藏+] 转载 :http://blog ...

  2. 【小梅哥SOPC学习笔记】SOPC开发常见问题及解决办法集锦

    SOPC开发常见问题及解决办法集锦 一.Symbol 'NULL' could not be resolved 近期在评估使用NIOS II处理器进行项目的开发,我使用的软件是Quartus II 1 ...

  3. 【小梅哥SOPC学习笔记】切换NIOS II CPU的主内存后软件中需要注意的几点设置

    切换NIOS II CPU的主内存后软件中需要注意的几点设置 有时候,我们可能面对这样一种情况: 1. 我们创建一个SOPC系统,并在QSYS中设置NIOS II的复位地址和异常地址都指向SRAM: ...

  4. 【小梅哥SOPC学习笔记】NIOS II处理器运行UC/OS II

    SOPC开发流程之NIOS II 处理器运行 UC/OS II 这里以在芯航线FPGA学习套件的核心板上搭建 NIOS II 软核并运行 UCOS II操作系统为例介绍SOPC的开发流程. 第一步:建 ...

  5. 【小梅哥SOPC学习笔记】Altera SOPC嵌入式系统设计教程

    Altera SOPC嵌入式系统设计教程 第1章 概述 SOPC(System On Programmable Chip,可编程的片上系统)是Altera公司提出来的一种灵活.高效的SOC解决方案.它 ...

  6. Windows Services 学习(转载)

    转载:http://blog.csdn.net/fakine/article/details/42107571 一.学习点滴 1.本机服务查看:services.msc /s2.服务手动安装(使用sc ...

  7. 【小梅哥SOPC学习笔记】sof与NIOS II的elf固件合并jic得到文件

    sof与NIOS II的elf固件合并jic得到文件 注意,本方法已经有更加简便的方法,小梅哥提供相应的脚本文件,可以一键生成所需文件,脚本请前往芯航线FPGA技术支持群获取. 7.1 为什么需要将S ...

  8. 【小梅哥SOPC学习笔记】NIOS II工程目录改变时project无法编译问题

    解决NIOS II工程移动在磁盘上位置后project无法编译问题 说明:本文档于2017年3月4日由小梅哥更新部分内容,主要是增加了讲解以Quartus II13.0为代表的经典版本和以15.1为代 ...

  9. 【小梅哥SOPC学习笔记】设置Eclipse在编译(build)前自动保存源代码文件

    设置Eclipse在编译(build)前自动保存源代码文件 Eclipse 常用设置之让Eclipse在编译(build)前自动保存源代码文件 一.让Eclipse在编译(build)前自动保存源代码 ...

随机推荐

  1. python中__name__属性的使用

    python常用模块目录 1.打印出函数名字而非函数名对应的地址 )打印的是函数地址 def func(): print("我是%s函数"%func) func() ------- ...

  2. Python基础_内置函数

        Built-in Functions     abs() delattr() hash() memoryview() set() all() dict() help() min() setat ...

  3. ES6的新特性(23)——ArrayBuffer

    ArrayBuffer ArrayBuffer对象.TypedArray视图和DataView视图是 JavaScript 操作二进制数据的一个接口.这些对象早就存在,属于独立的规格(2011 年 2 ...

  4. 必应词典手机版(IOS版)与有道词典(IOS版)之软件分析【功能篇】【用户体验篇】

    1.序言: 随着手机功能的不断更新和推广,手机应用市场的竞争变得愈发激烈.这次我们选择必应词典和有道词典的苹果客户端作对比,进一步分析这两款词典的客户端在功能和用户体验方面的利弊.这次测评的主要评测人 ...

  5. iOS开发学习-给圆形图片添加边框

    imageView.layer.cornerRadius = imageView.bounds.size.width * 0.5;// 设置圆角刚好是自身宽度的一半,就刚好是圆形 imageView. ...

  6. model类的构造部分属性的对象 产生的json

    在 action方法里, 产生一个对象,可能会是默认的全属性对象,那么在输出的 json就又所有 都出现了. 只是其他的属性全部是 null 那么 在 json里面配上 <!-- json 不产 ...

  7. HDU 4568 Hunter 最短路+TSP

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4568 Hunter Time Limit: 2000/1000 MS (Java/Others)Me ...

  8. quartz任务管理

    导入quartz相关jar包后,要执行任务的类须实现Job接口 package quartz; import org.quartz.Job; import org.quartz.JobExecutio ...

  9. sql server数据库中raiserror函数的用法

    server数据库中raiserror的作用就和asp.NET中的throw new Exception一样,用于抛出一个异常或错误.这个错误可以被程序捕捉到. raiserror的常用格式如下:ra ...

  10. try…catch 结构

    try…catch 结构 一旦发生错误,程序就中止执行了.JavaScript 提供了try...catch结构,允许对错误进行处理,选择是否往下执行. try { throw new Error(' ...