fpga学习优化逻辑时序的几个办法 FPGA中用VHDL或Verilog编写的逻辑可以称之为软件吗?

[更新]
·
·
分类:互联网
3172 阅读

fpga学习优化逻辑时序的几个办法

FPGA中用VHDL或Verilog编写的逻辑可以称之为软件吗?

FPGA中用VHDL或Verilog编写的逻辑可以称之为软件吗?

不能称之为软件,业界内将其称之为代码,区别于软件。这是因为, FPGA的VHDL和Verilog HDL 为硬件描述语言,经编译后对应的实际的电路,如连线(wire)、逻辑门(amp,| ,)、寄存器(register)、乘法器(*)等等。编写的逻辑最后对应的是时序/组合逻辑电路,如

不可以,因为Verilog或VHDL属于硬件描述语言,注意:是描述语言,而不是编程语言,它最后编译出来下载到FPGA后是真正的硬件电路,与编程语言完全不是一个概念,比如,一个简单的“加法”操作,软件执行过程中,CPU内部还要进行取指令-取寄存器数据-进行累加-保存数据等操作,而FPGA逻辑就是一个硬件加法器,就像74系列逻辑芯片一样,是一个可以看得到摸得到的硬件!
从设计文件的角度,我们也不能将Verilog或VHDL编写的逻辑称为软件,一般行业称之为“源代码”

从oddr输出的同步时钟和数据需要约束吗?

这个实现是没有问题。 关键是FPGA能否正确的将并行的数据采集到,请从下几点考虑:
1、PCB设计时,请保证8个数据线和时钟线做等长处理
2、做好输入IO的时序约束,约束方法看官方的文档
3、最好使用AD输出的随路时钟采集数据,并明确采样的沿
4、如果不想使用时序约束,考虑使用IOdelay(Xilinx的FPGA) 并行数据的采集对FPGA来说是很麻烦的,要考虑时钟和各个数据的同步,这正是并行传输速度上不去的原因,所以现在串行是数据传输的主流方法,建议考虑使用AD的串行模式会更加简单。

verilog代码是如何“debug”的?

如题。最近学习fpga,写了不少verilog,开始思考如何debug的问题!c语言是顺序执行,而verilog是并行执行。

Verilog HDL不能像C语言一样调试方便,但一般可以借助工具来调试。Verilog HDL 一般可以通过以下来调试。
1.在编辑器上Quartus II / QuestaSim/Modelsim 等工具编写,编译,直到没有警告和错误,
2.使用专门的仿真工具QuestaSim/Modelsim等仿真工具对代码进行仿真,仔细核对内部功能和时序是否与自己设计的一致,
3.利用FPGA自带逻辑分析仪结合JTAG进行在线调试(Signal Tap II ),效率高。

可以使用ila ip核,或者自己写寄存器查看相关的信号,但还是要通过添加ila观察信号。
如果是前期调试可以通过仿真来看逻辑正不正确。