00_FPGA概述/概念/常识【汇总贴】
温馨提示:明德扬2023推出了全新课程——逻辑设计基本功修炼课,降低学习FPGA门槛的同时,增加了学习的趣味性,并组织了考试赢积分活动(点击→了解课程详情)http://www.mdy-edu.com/ffkc/415.html,感兴趣请联系易老师:13112063618(微信同步)【问题1】FPGA是否和ARM一样,包含了IIC、SPI、CPU等功能?
答:FPGA芯片相当于一张白纸,设计师可以在FPGA里面实现任意功能,包括IIC、SPI和CPU等,都可以设计出来。但注意,这功能是要设计出来的,它本身是没有这功能的。
【问题2】老师请问如何查看程序在开发版上的运行时间,不然怎么说FPGA的速度快?
答:FPGA的运行时间,不是看“程序的综合编译时间”,也不是像软件那样看“看程序的执行时间”,而是应该像硬件那样,看“数据进来到数据出去的时间”。这个时间,可以通过仿真来看到。
【问题3】FPGA的输出管脚,支持多种管脚标准吗?可以支持不同电平吗?电平是由谁决定的?
答:FPGA支持多种电平输出,例如LVCMOS、TTL、LVDS等。其也支持1.5V 1.8V 2.5V 3.3V等多种电平。这些都是在QUARTUS、VIVADO、ISE软件中,配置管脚时,可以同时配置电平的。
【问题4】FPGA输出管脚,在上电时候的值,是高电平还是低电平,是谁来决定的?
答:FPGA是一张白纸,值是多少,自然是FPGA代码来决定。最开始时的值,就是该信号的复位值。
【问题5】FPGA工程的设计文件只有一个吗?还是可以有多个?
答:FPGA工程由一个或多个设计文件组成。一般规范的做法是:一个模块一个文件。这意味着一个工程是由众多个模块组成的。
工程包含一个顶层模块,这个顶层模块可以通过“例化”的方法,关联下一级模块。这样一级一级关联下去。
【问题6】如果用fpga写算法,怎么把公式转换成代码?
答:这里只能作为一个宏观的解释。FPGA是一种很底层的设计,一般需要我们读懂公式后,用verilog的方法把它设计出来。
我们可以使用提verilog语法中的加法(+)、减法(-)、乘法(*),这些符合可以直接用于设计。我们还可以使用官方提供的IP核,如乘法器、除法器等。
例如一个算法:h = a + b*c + e/f,最后面的e/f可以用除法器实现,其他部分,可以直接使用代码实现。
当然,上面实现中没有考虑到时序因素,这需要我们边设计边仿真边调试。
有人认为,上面实现很很复杂,这是FPGA的一个特点,FPGA本身是一个底层硬件,实现起来是很复杂的,没办法的事。
您或许需要的资料:http://www.fpgabbs.cn/forum.php?mod=viewthread&tid=264明德扬的公开课,第3部分,是关于C语言转为VERILOG的技巧。
《FPGA至简原理与应用》一书中,关于补码的部分。
如果还有其他的疑问,可到明德扬群里提问,值班答疑老师会一一回复的。如您还未加入明德扬学习交流群,可加QQ群:764574006,期待您的加入,共同学习和进步!
页:
[1]