首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

学习FPGA设计的体会(每周更新)

学习FPGA设计的体会(每周更新)

学习FPGA设计的体会

[此贴子已经被admin于2007-8-7 9:51:07编辑过]

学习FPGA设计的体会(每周更新)

我真正使用FPGA有10年了吧,在这个论坛潜水也有一两年了,很少发新的帖子,看到很多人对学习FPGA有很多的困惑,包括设计,语言,工具的使用等等。我将我的一些学习体会和看法写出来,抛砖引玉,希望对大家有所帮助和启发。

(1) FPGA工程师首先应该是一个硬件工程师,对所需要设计的系统的需求,架构,有深刻了解。
     只有了解这些,才能知道那些可以功能可以或最好在FPGA中完成,应该如何估算需要资源,甚至将来需要增加的功能,从而选择FPGA型号,在设计上FPGA内部的系统架构如何分解,各个功能模块接口如何设计划分,以达到高稳定,可重用。

(2)语言设计的捷径
       我偶尔到HDL语言论坛去看看,看到很多人对语言的学习感到困难,其实语言的学习并不困难,其捷径是什么,答案:先用原理图设计,尤其是一些基本的逻辑功能单元。分频计数,开关,串并、并串等等。从某种角度来说语言的本质是原理图设计,如果您脑袋里想的原理图,手指在键盘上敲出来的是语言,你可以不用担心代码可综合性。其实我学习语言是今两年的事情,我只看两三天Verilog语言语法,然后看看基本逻辑单元的表示方法和例子,就可以用Verilog进行设计了,当然会在设计过程中碰到一些语法表示的困难,翻翻书就可以了。
      当然,不是语言不重要,功能的实现也需要语言准确的表达,例如case语句如何避免LATCH。

(3)有关仿真
      我曾经有一个做FPGA的同事,每当设计完一个功能模块,就看到用MODELSIM仿真好几天,一个设计下来,仿真耗用他很多时间,为什么会这样,原因有两个:基本原因是:功能架构或者说思路没有想好,在那里凑,第二个原因是因为写代码的时候他脑袋里没有形成时序图。如果这两方面都想好,仿真的工作量会大大减少的。
     在设计和仿真过程时,多想一想被处理的与其他信号的时序关系,这对你的设计能力大有益处。
     我刚开始FPGA设计时,一个简单的计数器都要仿真半天,别说一个功能模块了,那个阶段设计是靠仿真才能设计出来的(汗,数字电路没有学好)。但随着设计的增多,水平的提高,仿真用的时间越来越少了,为什么?因为当你的脑袋里有时序图时,仿真回归了它真正的本意,只不过验证你(脑袋里的时序)设计是否正确的一个工具。
(4)设计思路
     设计思路是指在系统或功能电路设计时的方法和技巧,我不知道定义是否准确,但他非常非常重要,是具有战略意义层面上的重要,一个好的思路,往往功能实现时简单,可靠,移植性好,反之,感觉电路繁杂,思路不清的,就要回头审视一下自己的思路。
     设计思路的提高需要积累,多看看别人的设计,尤其是功能电路的设计,比较一下自己的设计,总结一下经验教训,看得多了,手段也就多了,另外多从系统的(The higher level)角度看看你的设计,你会发现更多的东西,不久,你会发现你不仅仅是一名FPGA工程师,而且是一名系统工程师。

呵呵,不错,最好能加上设计实例就好了!
我不是高手

很好的体会

学习中

“设计思路的提高需要积累,多看看别人的设计,尤其是功能电路的设计,比较一下自己的设计,总结一下经验教训,看得多了,手段也就多了,另外多从系统的(The higher level)角度看看你的设计,你会发现更多的东西,不久,你会发现你不仅仅是一名FPGA工程师,而且是一名系统工程师。

系统的规划是很重要的,看看什么模块是可以重复使用的,看看什么模块是速度瓶颈。

等等,然后再分列,解决。

这个版主不太冷 =========================== 我的中电网博客:http://blog.chinaecnet.com/u/20/index.htm
很有用 我是个初学者 能不能介绍些实例 谢谢
学习了,谢谢!
学习了,谢谢!
返回列表