00-FPGA基础知识(Xilinx暑期FPGA学校学习)
00-FPGA基础知识(Xilinx暑期FPGA学校学习)
if-else硬件结构
前者输入延迟6ns,后者输入延迟8ns,先选后加延迟大,但加法器只用一个,芯片面积小–>成本。
慎用Latch
Latch:锁存器。电平敏感。–引入毛刺信号(glitch)
Register(FF, Flip-flop):触发器,寄存器。边沿敏感。
易引入latch的途径:使用不完备的条件判断语句。–if缺少else,case缺少default。组合逻辑才会考虑,时序逻辑会直接生成Register。
亚稳态的概念
在一个时钟域的信号进入另一个时钟域时,亚稳态会产生问题。为了避免亚稳态问题,通常采用双锁存器法–电平同步器(最早发明的时候用的锁存器,实际上用的是两个触发器)。
命令信号可以接受,但如果是数据信号,一般用的结构是FIFO和SRAM(双端)。
FIFO
状态机-FSM
两段式FSM
采用task来描述输出,这个使用的是组合逻辑。
两段式FSM一般采用组合逻辑,易产生毛刺。
如果时序允许插入一个额外的时钟节拍,通过寄存器寄存一个节拍,可以有效地消除毛刺。
如果设计中不允许额外的节拍插入(Latency),可以采用三段式FSM。
三段式FSM
两段式FSM是利用寄存器后的CS进行判断,而三段式FSM利用的是寄存器前的NS进行判断。
概念补充
LVDS:Low-voltage differential signaling.低压差分信号
SoC:System-on-a-Chip
Edge Computing:数据处理和应用逻辑运行在网络边缘的设备中,而不是全部保存在云中,是云计算(Cloud Computing)的延伸概念。
I2oT(AIoT,EI): AI+IoT或Intelligent IoT
HLS 入门
高层次综合:C/C++等高级语言 --> Verilog HDL/VHDL硬件描述语言 --> 封装成IP --> vivado工具调用 --> bit流
新建工程步骤
在这里选择自己的器件和设置时钟
HLS会根据我们设置的时钟自动生成一个最优的RTL代码封装成IP。
Directive:如果我们需要对算法进行性能或面积的优化,需要在这里添加HLS的一些指导约束。