本帖最后由 GoldSunMonkey 于 2012-5-22 11:50 编辑
学习FPGA已经有一个多月了,感觉还是有所收获,在此分享一下一些学习心得。
至于什么是FPGA那就不扯了,网上到处都是,时下也就: FPGA/cpld, ARM, DSP算是比较牛X的东西了吧,下面谈谈我的学习经历:
VHDL语言的学习,VHDL语言语法结构比较严谨,刚开始可能会有很多细节的地方注意不到,不过可以暂时不用太担心,多看,多写,其实VHDL写的代码结构是十分清楚的,只要对语法结构稍微有些了解就能很容易看懂代码。由于以前C语言用的比较多,总是摆脱不了顺序执行这个思想,但FPGA却很不一样,FPGA很大部分都是并行执行的,由此可见其效率可以多高!!
如: A <= A +1;
B <= A +1;
C<= B +1; 就是一个典型的3级流水线结构,流水线结构可以提高数据的处理速率,同时在一些有输入信号和数据对齐的地方,流水线也常用到,再看如: <= 这个信号赋值的时候,应该理解成一个D触发器结构的电路,当时钟一来,便将触发器的输入端数据打到输出端。要有这样一个概念:虽然我们写的是VHDL代码,但是同时我们也的是硬件电路!总之在看程序的时候记住:并行执行这个东西。
有了一定的语言基础,接下来就可以开始熟悉一下ISE工具(xilinx)的使用了,从建立工程到编译运行没有错误,或者可以生成一个symbol。由于以前玩过单片机,所以对电路结构方面还比较容易懂,可以对板子资源有所了解,然后试着了解如何进行引脚分配,这当然是FPGA灵活性的体现。接下来便是Chipscope的使用,最好还会用modesim,因为一个大的工程如果硬仿一天也就编译几把就完了。如里前面这些都会了,FPGA算是快入门了,还有一个叫Microblaze的东西,搞定就入门了。。。。(技术很水,以后会推出各种技术心得贴吧,希望大家指正) |