|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我的逻辑是自学的,其实第一份工作原本可以完全不接触逻辑。只是看着别的项目组的人在用,自己觉得很神奇,很羡慕,所以也跟着用。当时一开始是CPLD MAX3000系列入手的。比较简单。后来网上搜索找工作的职位,发现FPGA很吃香,又开始自学FPGA。* x( [4 U" Y7 D* w; R/ x+ d3 i
第一步:你得理解逻辑器件,在你的脑海里面永远都只有与非门等逻辑器件,和D触发器;FPGA的查找表概念,其实百度一下也很清楚。记住你永远是在设计电路,而非代码或者软件。否则你在逻辑面前永远是糊涂蛋。找本数字电路好好复习一下。
$ O- l9 y0 ?" c% j; Q数电书不用买新的,借一本翻翻或者找找你当年学习的课本就好,或者找个电子版的。5 x9 g$ d5 R) |# h: W) ~) {% }
第二步:学习语言VerilogHDL,这个你永远都不要走捷径。从基本的计数器,译码器,逻辑运算,触发器,一步步写。这时候,你似懂非懂。
5 c# [5 Z3 X4 h0 ^/ r记住:一定把硬件描述语言跟电路关联上,别当C语言学。0 L& S, [6 h3 [. I
推荐一本书
+ i* l- Q+ p$ CVerilog HDL程序设计与应用
8 |; Z3 B$ y% r5 g3 G& B$ G) Y7 `/ b6 `王伟 著 4 {& \5 i+ {: q. f% W, |' k
http://item.jd.com/10137435.html
+ ?7 V. t% K# `& H1 {1 z我觉得这本书很好,我就是通过这本书实现从0到1的。我看的时候可能是第一版,还有很多错误。/ A f/ @1 m3 m+ M. g; l! k! k
第三步:搞一个仿真的环境,Modelsim,网上应该很多,破解有时候很麻烦,有空我找个好用的版本上传。大家也可以自己找找。. I& D) z# u% ?+ g
这时把你设计的电路搞过来玩玩,看看输入波形和输出波形。
; m& s2 X& N4 w2 r+ K3 |) M+ NModelsim的使用方法,这个网上有教程吧?不知道,我当年好像自己摸索的,看帮助好了。3 m- j* K& u% G" j( b' a! J7 S: c
- T9 \& I6 H2 b. d9 p2 U6 k
第四步:读datasheet,别偷懒。我当年因为没人指导,自己把datasheet打印出来,慢慢翻译慢慢读。找个原理图,自己画一个。也可以淘宝上买个试验板。记得烧录器也一起买了。
1 G+ n2 ^) `& |# o# @! n' A- C M
6 @/ ^3 {0 z" Y& h第五步:学习一下编译和烧写的环境。各家环境不一样,Xilinx是ISE,Altera是Quartus,Lattice以前是ISP Level(Win7已经不支持了),新软件的是Diamond。* e* C1 M- }$ L# o" E3 Z$ M5 C
网上下载软件之后,要会破解,你懂的。再找个软件教程,或者买本书。这个书不重要,其实就是你要熟悉工具,还有工具的特点。
6 [6 |/ q2 |, e4 u$ r记得:新建工程目录结构,不要有中文,不要有空格。曾经一个空格让我定位一个礼拜,郁闷。1 I* }- L9 y. R+ v8 {4 n
% u- E0 K5 F7 a第五步:烧录你的第一个程序。8 e& v; `# Z& I L4 P/ x# k* t9 l
& K$ p) g4 x9 Y p+ ?这时候,你已经算入门了。
, u5 ~3 _3 {% x' C8 l4 } $ u/ E8 [) r# N, y- a
后面,无非是在电路上变化。6 L2 `& k K9 }7 S% n J% G* @
我后来的提高,主要是开始写协议接口,写UART、PCI、LPC接口。如何会把一个协议做成电路,还是很开心的一件事情。
/ p$ j3 `9 S, A1 n6 C& T! C& m4 Y
% @! Q2 }, f4 _5 E/ V再然后,你会优化资源,懂时序,时钟,异步处理,增加一些工程经验。再然后,懂一些编解码,网络协议等FPGA适合做的功能。会做一些系统方案,你知道哪些处理由处理器做更适合,哪些由FPGA做更适合。. z* b: E4 K" P" J, \
' l* M6 p% f. K( }- z, Z由于篇幅有限,还有我也没专门做过逻辑设计,先说这么多,大家拍砖。
% V2 e# C% `* Y5 _ 5 s9 k! {2 O7 _$ F- J
总而言之一句话,其实FPGA、或者逻辑设计只是产品的一个组成部分,让他做他适合做的事情,在他应该出现的场景出现,毕竟不便宜。 |
|