FPGA/IC设计入门1-Fpga入门

上一篇 / 下一篇  2007-04-28 19:14:13 / 天气: 晴朗 / 心情: 高兴 / 个人分类:IC Design

  来www.dicder.com很长时间了,一直说要给5life一个惊喜,还在坛子上面发了一个檄文说要支持这里到底,一晃还是一个月。今天是冬至,晚上早早下了班回家和anyka一起过节;或许是因为今天把一个程序调通的原因,特别兴奋,上来发了一帖---ahan是何人?现在说说正题,帮助一下刚刚入门的朋友们,也算是学习IC设计三年的一个总结吧。----数字电路(fpga/asic)设计入门。DICDER -- 博客专栏 z)i#ld m:FdL}U
  首先要知道自己在干什么?数字电路(fpga/asic)设计就是逻辑电路的实现,这样子说太窄了,因为asic还有不少是模拟的,呵呵。我们这里只讨论数字电路设计。实际上就是如何把我们从课堂上学到的逻辑电路使用原理图(很少有人用这个拉),或者硬件描述语言(Verilog/VHDL)来实现,或许你觉得这太简单了,其实再复杂的设计也就是用逻辑门电路搭起来的。你学习逻辑电路的时候或许会为卡拉图,触发器状态推倒公式而感到迷惑,但是其实有一点可以放心的是,实际设计中只要求你懂得接口时序和功能就可以了,用不着那么复杂得推倒公式,只要你能够用语言把逻辑关系表述清楚就可以了,具体这个逻辑关系采用什么门电路搭的,可以不关心,综合工具(synthesis tool)可以帮你处理。当然你要知道基本门电路的功能,比如D触发器,与门,非门,或门等的功能(不说多的,两输入的还是比较简单的)。---一句话,采用verilog或者VHDL描述设计对象的逻辑功能,这就是数字电路设计的任务!
sm4P5G0xcO?z0  说到这里入门必须要两个基本功:逻辑电路基础,硬件描述语言。有了这两个基本功,就算你其他都不会也能找到工作,呵呵,或许你会说,现在面试要问fpga,要问时序分析,有那么简单么?其实这些东西在你有了这两个基本功之后,其他的都可以慢慢学习。注意硬件描述语言和逻辑电路的学习可以同步学习,而且要牢记,学习硬件描述语言进步取决于你对电路的理解和你对仿真器的使用。为什么这样子说呢?因为硬件描述语言RTL(寄存器传输级)主要是用来给综合工具综合成电路的,所以要满足特定的coding style,这些coding style将对应这特定的逻辑,比如时序电路应该怎么写,组合电路怎么写,这是有一定约束的,为此若你对逻辑电路比较熟悉,你就知道自己写代码大体综合后会采用什么门电路来组成;另外,写代码就要仿真,这是不可以避免的---不仿真,你怎么知道自己写的代码符合设计的要求呢?能够熟练使用仿真器,你就有了调试代码的基本能力,否则,写再多的代码也没有用。这也是今天我感到兴奋的一个因素,目前正在使用vera验证语言,采用类C++的风格,对于习惯verilog的我开始还不习惯高级语言的调试环境,定位一个问题得花上一天;但是一旦你能够熟练使用编译仿真工具之后,你就会发现其实自己的很多想法可以很快的写成代码,并通过调试来提高自己对语言的理解。----学习的进步在于,把自己的想法用语言来实现,并调试验证是否正确。

TAG:

引用 删除 haungyt   /   2007-05-03 18:27:05
FPGA很难搞阿,正在学习中
ahan的个人空间 引用 删除 ahan   /   2007-04-29 09:35:35
转憨哥的东西要注明一下哈!
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-12-05  
 123456
78910111213
14151617181920
21222324252627
28293031   

数据统计

  • 访问量: 2580
  • 日志数: 18
  • 建立时间: 2006-07-14
  • 更新时间: 2007-08-23

RSS订阅

Open Toolbar