草庐IT

FPGA面试题目笔记(一)——FPGA开发流程、亚稳态和竞争冒险、建立保持时间、异步FIFO深度等

文章目录1、掌握FPGA开发流程2、时序问题如何解决2.1时序逻辑电路中的亚稳态现象2.2组合逻辑延迟太大导致时序不满足要求2.3组合逻辑中的竞争和冒险问题2.3.1什么是竞争和冒险2.3.2产生原因2.3.3判断方法2.3.4解决方法3、建立时间Tsu和保持时间Th3.1有效/固有建立时间和保持时间3.2时序设计的实质3.3建立时间裕量和保持时间裕量的公式4、时钟偏移和时钟抖动4.1概念4.2如果减少时钟偏移和时钟抖动5、最小工作周期和最大工作频率的计算方式6、简述触发器和锁存器的差别7、同步和异步逻辑、电路7.1同步异步逻辑电路7.2同步复位和异步复位的区别异步复位,同步释放8、异步FIF

FPGA面试题目笔记(一)——FPGA开发流程、亚稳态和竞争冒险、建立保持时间、异步FIFO深度等

文章目录1、掌握FPGA开发流程2、时序问题如何解决2.1时序逻辑电路中的亚稳态现象2.2组合逻辑延迟太大导致时序不满足要求2.3组合逻辑中的竞争和冒险问题2.3.1什么是竞争和冒险2.3.2产生原因2.3.3判断方法2.3.4解决方法3、建立时间Tsu和保持时间Th3.1有效/固有建立时间和保持时间3.2时序设计的实质3.3建立时间裕量和保持时间裕量的公式4、时钟偏移和时钟抖动4.1概念4.2如果减少时钟偏移和时钟抖动5、最小工作周期和最大工作频率的计算方式6、简述触发器和锁存器的差别7、同步和异步逻辑、电路7.1同步异步逻辑电路7.2同步复位和异步复位的区别异步复位,同步释放8、异步FIF

FPGA开发——UART串口通信(使用FIFO IP核作为缓存,在接收模块后添加检验)

FPGA开发——UART串口通信(使用FIFOIP核作为缓存,在接收模块后添加检验)一、UART简介1、概述2、通信协议二、FIFO说明1、FIFO简介2、QuartusII软件中FIFOIP核的调用三、系统框图1、实现功能2、模块设计四、代码实现1、顶层模块2、接收模块(uart_rxd)3、检验模块(uart_verfy)4、发送模块(uart_txd)5、测试文件五、仿真及上机调试1、Modelsin仿真2、上机调试六、说明七、参考资料一、UART简介1、概述 UART:是一种硬件功能,是一种主要采用异步串行通信方式的通用异步收发传输器。它通过使用通信接口(例如RS232、RS422、R

FPGA开发——UART串口通信(使用FIFO IP核作为缓存,在接收模块后添加检验)

FPGA开发——UART串口通信(使用FIFOIP核作为缓存,在接收模块后添加检验)一、UART简介1、概述2、通信协议二、FIFO说明1、FIFO简介2、QuartusII软件中FIFOIP核的调用三、系统框图1、实现功能2、模块设计四、代码实现1、顶层模块2、接收模块(uart_rxd)3、检验模块(uart_verfy)4、发送模块(uart_txd)5、测试文件五、仿真及上机调试1、Modelsin仿真2、上机调试六、说明七、参考资料一、UART简介1、概述 UART:是一种硬件功能,是一种主要采用异步串行通信方式的通用异步收发传输器。它通过使用通信接口(例如RS232、RS422、R

快速上手Xilinx DDR3 IP核(4)----把MIG IP核封装成一个FIFO(下)(Native接口)

写在前面        本文将把Xilinx的MIGIP核DDR3的Native接口进行二次封装,将其封装成一个类似FIFO的接口,使其应用起来更加方便简单。        本文为下篇,建议与上篇一起阅读,有利于理解:                快速上手XilinxDDR3IP核(3)----把MIGIP核封装成一个FIFO(上)(Native接口)    DDR3系列文章:        快速上手XilinxDDR3IP核----汇总篇(直达链接)1、FIFO控制模块    本模块的主要作用是例化两个FIFO:写FIFO、读FIFO。写FIFO:写位宽16bit,写端口与用户端相连,写入

快速上手Xilinx DDR3 IP核(4)----把MIG IP核封装成一个FIFO(下)(Native接口)

写在前面        本文将把Xilinx的MIGIP核DDR3的Native接口进行二次封装,将其封装成一个类似FIFO的接口,使其应用起来更加方便简单。        本文为下篇,建议与上篇一起阅读,有利于理解:                快速上手XilinxDDR3IP核(3)----把MIGIP核封装成一个FIFO(上)(Native接口)    DDR3系列文章:        快速上手XilinxDDR3IP核----汇总篇(直达链接)1、FIFO控制模块    本模块的主要作用是例化两个FIFO:写FIFO、读FIFO。写FIFO:写位宽16bit,写端口与用户端相连,写入

Verilog实现异步FIFO(重难点)

FIFO总概图来自文章SimulationandSynthesisTechniquesforAsynchronousFIFODesign一个异步FIFO一共由五个基本模块组成,分别是①RAM存储器模块②FIFO写地址以及写满判断模块(写控制端口)③FIFO写时钟同步到读时钟模块④FIFO读地址以及读空判断模块(读控制端口)⑤FIFO读时钟同步到写时钟模块下面是FIFO顶层模块概图:Wdata:写入数据Wfull:写满信号Winc:写请求信号(写使能信号)Wclk:写时钟Wrst_n:写复位信号(低电平有效)Rdata:读出数据Rempty:读空信号Rinc:读请求信号(读使能信号)Rclk:读

Verilog实现异步FIFO(重难点)

FIFO总概图来自文章SimulationandSynthesisTechniquesforAsynchronousFIFODesign一个异步FIFO一共由五个基本模块组成,分别是①RAM存储器模块②FIFO写地址以及写满判断模块(写控制端口)③FIFO写时钟同步到读时钟模块④FIFO读地址以及读空判断模块(读控制端口)⑤FIFO读时钟同步到写时钟模块下面是FIFO顶层模块概图:Wdata:写入数据Wfull:写满信号Winc:写请求信号(写使能信号)Wclk:写时钟Wrst_n:写复位信号(低电平有效)Rdata:读出数据Rempty:读空信号Rinc:读请求信号(读使能信号)Rclk:读

Uart回环(不带FIFO)及Testbench

一、串口概念串行通信分为两种方式:同步串行通信(I2C/SPI)异步串行通信(UART)区别:同步串行通信需要通信双方在同一时钟的控制下,同步传输数据。异步串行通信是指通信双方使用各自的时钟控制数据的发送和接收过程。二、UART协议  UART(UniversalAsynchronousReceiver-Transmitter),它在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的串行数据转换成并行数据。UART串口通信需要两根信号线来实现,一根用于发送,另外一根接收。控制高低电平达到数据的传输功能,输入全双工通信。三、协议格式一帧数据由4部分组成:起始位(1bit)数据位(6

Uart回环(不带FIFO)及Testbench

一、串口概念串行通信分为两种方式:同步串行通信(I2C/SPI)异步串行通信(UART)区别:同步串行通信需要通信双方在同一时钟的控制下,同步传输数据。异步串行通信是指通信双方使用各自的时钟控制数据的发送和接收过程。二、UART协议  UART(UniversalAsynchronousReceiver-Transmitter),它在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的串行数据转换成并行数据。UART串口通信需要两根信号线来实现,一根用于发送,另外一根接收。控制高低电平达到数据的传输功能,输入全双工通信。三、协议格式一帧数据由4部分组成:起始位(1bit)数据位(6