moerjielovecookie

Sawen_Blog

一个普通工科牲的博客网站
x
github
follow
email

FPGA

Vivado中关于综合的设置
优化级别(-O或--optimize) 0:默认优化,缩短编译时间。 1:减少功耗(运行Power_DefaultOpt策略)。 2:提升内核速度(添加PHYS_OPT_DESIGN步骤)。 3:最高性能(启用重定时和物理优化)。 s:减少逻辑资源(运行Area…
cover

Petalinux报错记录

编译时卡住,检查 build.log 发现 log 文件提示 Unable to connect to bitbake server,此时只需要将 build 文件夹下的 bitbake.lock 删除即可 在最新版的 UG1144 (v2022.2) 文档中…
cover
cover
cover

Petalinux

参考《UG 1157 PetaLinux Command Line Reference Guide》 Copy //创建petalinux工程 petalinux-create -t project --template zynq -n <name> //配置工程 cd…
cover
cover
cover
cover
cover

多频点数字上变频器-调试记录

通过 mm-s-fifo 将 PS 侧的 GP 接口转化为 stream 接口。 2025-3-14 可以看出 mm-s-fifo 的输出一直没变,后级的 ready 信号可能有问题。 mm-s-fifo 的 valid 信号有问题 解决方法 勾选 cut…
cover
cover
cover
cover
cover
cover
cover

FIFO

FIFO 本质是由 RAM 加上读写逻辑构成的先入先出的数据缓冲器。与 RAM 的区别是 FIFO 没有外部读写地址线,顺序写入顺序读出数据,其数据地址是由内部读写指针自增完成,因此 FIFO 在读写时不需要考虑读写冲突的问题。 根据 FIFO 工作的时钟域,可以分为同步…
cover
cover
cover
cover
cover
cover

FPGA开发时序图绘制

开始的时候画时序图都是拿 visio 硬连,但是那个线宽太难统一了,丑不拉几的,遂学习 waveform 语法使用代码来画时序图。 开始 Vscode 中安装 waveform render 或者在 GitHub 搜索 wavedrom 安装即可。由于 vscode…
cover

ZYNQ-PS GPIO中断过程

查找中断控制器配置信息并初始化中断控制器驱动(XScuGic_LookupConfig、XScuGic_CfgInitialize) 设置中断类型(XScuGic_SetPriorityTriggerType) 为中断设置中断处理函数(XScuGic_Connect) 使能中…
cover
cover
cover
cover
cover

ZYNQ-IP-AXI-GPIO

AXI GPIO 可以将 PS 端的一个 AXI 4-Lite 接口转化为 GPIO 接口,并且可以被配置为单端口或双端口,每个通道的位宽可以独立配置。 通过使能三态门可以将端口动态地配置为输入或输出。 AXIGPIO 是 ZYNQ PL 端的一个 IP 核,可以将 AXI…
cover
cover

Verilog中if语句和case语句综合出的电路区别

区别是 if else 的逻辑判断有优先级,最内层的 if 的优先级最高,case 的逻辑判断是并列的。 每个 if else 综合出来的电路是一个 2 选 1 选通器。当信号有明显优先级时使用该语句,但是 if 嵌套太多的话会导致路径延时过大,降低运行速度…
cover
cover
cover
cover
cover

ZYNQ中的GPIO

GPIO 通过 MIO 提供 54 路接口,其中 16 路位于 bank 500,剩余位于 bank 501。还通过 EMIO 接口提供从 PL 来的 64 路输入和 128 路输出。GPIO 控制和状态寄存器内存映射在基址 $0xE000_A000$。 ZYNQ 的…
cover
cover
cover
cover

FIR滤波器的架构

全并行脉动滤波器对对称系数、反对称系数和零值系数进行了优化。滤波器的时延受到滤波器系数的对称性影响。 当对称系数绝对相等时,它们共享同一个 DSP block。这种配对共享允许在实现的过程中使用 Xilinx 和 Altera 的 dsp block 中的 pre-adder。…
cover
cover

Quartus报错记录

报错如下 可以看到 Pin_F 16 既被用于 DAC_DATA,又被用于 nCEO 引脚,因此才会报错不能将多个引脚赋到 Pin_F 16 上。 Solution 将 nCEO 的 value 设置为 Use as regual I/O 即可解决问题。
Testbench仿真脚本编写指北
Note 由于 Quartus 的 VWF 仿真只能仿真很短的时间,而且 Vivado 仿真的时候也需要添加激励信号,因此需要编写 testbench 文件进行激励仿真。 编写 testbench 的目的是为了测试 module 的功能、性能是否符合设计的预期…
FPGA中的电平标准
FPGA 在与外界进行信息交换时,为了确保信息的正确性,发送和接收信息都要对信息有认定的标准。在数字电路中,我们常用电压高低来表示 “0” 和 “1”,那么多高的电压才会被当作 “1” 呢,这个时候就需要一个标准,这个标准就是电平标准。…
阻塞赋值和非阻塞赋值
阻塞赋值 “=” 必须是阻塞赋值完成后,才进行下一条语句的执行;赋值一旦完成,等号左边的变量值立即变化。在同一个块中,阻塞赋值表达式的书写顺序会影响赋值的结果。硬件没有对应的电路。 即串行赋值,语句从上到下顺序执行,立即生效 非阻塞赋值 “<=” 在赋值开始时计算表达式右边…
cover
cover
cover
cover
cover
cover
cover
cover
cover
cover
cover
cover
cover
cover
cover
cover
cover
cover
cover

HDL coder使用手册

💡 由于本科毕设女朋友准备使用 FPGA 完成,因此写这篇文章帮助她快速上手 HDL coder 的使用,降低前期入门的难度。 名字中含有 HDL 的库中的模块一般都可以用来生成 HDL 代码。直接搜索模块名称,比如搜索 fir, 可以看到旁边会显示位于哪个库中…
cover
cover
cover
cover
cover
cover
cover

ZYNQ

ZYNQ 体系结构 Zynq 的总体架构包含两个部分:PS(处理器系统)和 PL(可编程逻辑)。这两部分的供电电路上相互独立的,因此 PS 和 PL 可以单独使用,不被使用的部分可以断电以降低功耗。不过 Zynq 最有价值的模式上两个组成部分结合起来使用。 PS(处理器系统) 作…
ブログは、創作者によって署名され、ブロックチェーンに安全に保存されています。