RFSoC学习笔记
资料
-
Xilinx, Inc, “ZCU208 Evaluation Board User Guide”, UG1410, v1.0, July 2020
-
RFSoC-MTS Repository - Enabling Multi-Tile Synchronization on the ZCU208
-
Zynq UltraScale+ RFSoC ZCU111 Evaluation Kit - Known Issues and Release Notes Master Answer Record
-
Zynq UltraScale+ RFSoC ZCU208 Evaluation Kit - Known Issues and Release Notes Master Answer Record
-
CASPER Tutorials DSP工具库
-
phase-coherent 相参信号
-
RFSoC NCO phase issues 似乎要禁用MTS
-
https://support.xilinx.com/s/question/0D54U00007XIpXNSA1/synchronize-ncos-on-zcu216?language=en_US
-
How to implement the NCO Frequency Hopping feature with Single Converter Mode - Part 1
-
How to implement the NCO Frequency Hopping feature with Single Converter Mode Part 2
-
代码
-
jupyter notebook如何下载所有文件夹,并保留层级结构
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27import os
import tarfile
def recursive_files(dir_name='.', ignore=None):
for dir_name,subdirs,files in os.walk(dir_name):
if ignore and os.path.basename(dir_name) in ignore:
continue
for file_name in files:
if ignore and file_name in ignore:
continue
yield os.path.join(dir_name, file_name)
def make_tar_file(dir_name='.', tar_file_name='tarfile.tar', ignore=None):
tar = tarfile.open(tar_file_name, 'w')
for file_name in recursive_files(dir_name, ignore):
tar.add(file_name)
tar.close()
dir_name = '.'
tar_file_name = 'archive.tar'
ignore = {'.ipynb_checkpoints', '__pycache__', tar_file_name}
make_tar_file(dir_name, tar_file_name, ignore)
ZCU208
8A34001烧写方案
https://gitlab.ras.byu.edu/alpaca/i2c-utils/-/blob/master/zcu216/100g_phy_test.c
PYNQ
-
How to use XRFdc_IntrClr in PYNQ
1
2(“A RFdc object”)._call_function(“IntrClr”, 0, 0, 0, 4294967295)
//The first 0 indicates that you are setting up an ADC, the second one indicates that you are setting up the tile 0 of the ADC and the last indicates the block number of the tile. -
内存分配
https://discuss.pynq.io/t/pynq-maximum-allocatable-memory-cma/1593/5
问题
-
构建RFSoC-PYNQ遇到IP核授权问题,需要申请该IP授权
-
为什么Overlay没download?
1
2
3
4#pynq\pynq\overlay.py
def __init__(
self, bitfile_name, dtbo=None, download=True, ignore_version=False, device=None, gen_cache=False
): -
编译
安装Vivado petaLinux 2022.1
1
2
3
4
5
6
7#克隆仓库
git clone --recursive https://github.com/Xilinx/RFSoC-PYNQ.git
#安装petaLinux
chmod 755 ./petalinux-v2022.1-04191534-installer.run
./petalinux-v2022.1-04191534-installer.run
#假设安装到/home/pc/Xilinx/
source /home/pc/Xilinx/settings.sh打开Makefile 添加
1
2
3
4image: checkenv_rfsocpynq gitsubmodule ${PREBUILT_SDIST_DST} ${PREBUILT_ROOTFS_DST} checkenv_pynq ${IMAGE}
@echo ""
@echo " RFSoC-PYNQ completed building image: ${IMAGE}"
@echo ""1
make BOARD=ZCU208 image
-
加入ILA检测不到
使用ILA后 时钟配置和Overlay加载有先后顺序
1
2
3#zcu208
xrfclk.set_ref_clks(lmk_freq=245.76, lmx_freq=491.52)
base = Overlay(bit_path,ignore_version=True) -
hwh没有IP核 在bd Address editor里Unsign后重新分配
-
增加Jupyter笔记本的内存限制
Jupyter笔记本电脑具有默认的内存限制大小。您可以按照以下步骤尝试增加内存限制:
1)使用命令生成配置文件:1
jupyter notebook --generate-config
2)打开位于" jupyter"文件夹内的jupyter_notebook_config.py文件,然后编辑以下属性:
1
NotebookApp.max_buffer_size = your desired value
请记住在属性值之前删除"#"。
3)保存并运行jupyter笔记本。 -
内存分配 RuntimeError: Allocate failed: 4294967295
ERROR downloading bitstream PYNQ OS for ZCU102
PYNQ底层原理
- pybind11 C++映射到python
RFSoC学习笔记