本帖最后由 mdyfpga 于 2022-3-31 09:18 编辑
【 问题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.mdy-edu.com/wentijieda/20210409/1212.html?1618201115
明德扬的公开课,第3部分,是关于C语言转为VERILOG的技巧。《FPGA至简原理与应用》一书中,关于补码的部分。
【问题7】输入IO时钟信号,想把这个时钟作为全局时钟用,是不是必须经过 bufg或者bufr?
答:ALTERA上不需要。XILINX的代码可能需要。虽然部分代码不用写出来,但工具会自动补充BUF。
【问题8】经过bufg,延迟是一个时钟周期吗?
答:不是,延迟跟时钟周期无关。具体请看BUFG的官方资料
如果同学们的问题我们帖子里面没有的请第一时间联系我们对新问题进行补充! 内容会不断更新。需要更多的问题答疑请收藏本网址:http://www.mdy-edu.com/wentijieda/20210410/1269.html
|