FPGA开发分享FPGA的基础知识及在嵌入式系统中的应用
-
Vivado联合Modelsim仿真教程及常见错误解决办法
虽然 Vivado 自带的仿真功能也很好用,但是并不能实现 modelsim 中的 dataflow 和 schematic 功能,而且仿真速度也没有 modelsim 快,因此,…
-
ZYNQ中断:共享外设中断之双核硬中断(PL to PS)
在之前的博文中曾介绍ZYNQ 的 AXI GPIO 中断的使用,主要是通过 GPIO 触发中断。然而,在 ZYNQ 的实际开发中,经常会用到 PL 到 PS 的中断。根据 CPU …
-
Xilinx SDK中BSP重定向Hardware Platform问题
最近在 Vivado 中生成并导出硬件描述时,有时候会在 .sdk 文件夹下产生新的 hw_platform,例如原来的是 hw_platform_0,现在又产生了一个 hw_pl…
-
Modelsim之原理图窗口(Schematic window)的使用
最近在研读 Opencores 上面的 IIC master 代码时,用 Modelsim 做了仿真,用到了原理图(schematic)窗口。Modelsim 的原理图窗口配合 w…
-
Verilog HDL基础:Task的用法
在研读 Opencores 上面的 IIC master 代码时,看到了 testbench 中使用了 verilog 的 task 功能,用来模拟 IIC 总线时序,非常方便。本…
-
Verilog HDL基础:Function的用法
在阅读 verilog HDL 代码时,经常看到 function 函数功能,之前对其不太了解,正好趁着这个例子来看一下 verilog 中的函数功能——function。 该函数…
-
密码保护:FPGA实现可编程时钟分频器
无法提供摘要。这是一篇受保护的文章。
-
FPGA多时钟应用的三种常见方案
FPGA 项目设计中,通常会遇到多时钟处理,例如,多个外部时钟源或一个 PLL 输出多个时钟,根据条件选择合适的时钟用作系统时钟。下面给出 3 种常见的解决方案及各自的优缺点。 方…
-
Xilinx FPGA设计之寄存器初始值问题
FPGA 开发中,有两种方法可以给寄存器赋初值: 这两种的区别在于:reg 语句中给寄存器赋初始值,在 FPGA 上电配置后就为这个初始值;如果只有复位语句中的初始值,那么上电配置…
-
Vivado中IP核约束文件和用户约束文件的编译顺序
在 Vivado 中进行 FPGA 开发时,如果用到了 IP 核,Vivado 会自动生成 IP 对应的约束文件。例如,如果用到了 MMCM/PLL IP 核,Vivado 会在 …