FPGA针对工作流
您可以使用硬件软件(HW / SW)合作设计的工作流通信工具箱为Xilinx™支持包万博1manbetx®Zynq®的电台只针对FPGA结构的底层Zynq系统芯片(SoC)。FPGA针对使用代码生成翻译指定子系统HDL代码并创建一个定制的比特流的FPGA结构。这个习俗比特流然后下载到FPGA开发板。通过移动部分或全部你的算法的硬件,您加快主机处理。您还可以使用FPGA的目标在实际硬件原型设计。FPGA针对支持可用于接收路径万博1manbetx和传播路径,一次一个。
资源利用率
FPGA资源利用率是一样的HW / SW合作设计工作流。概述,请参阅默认在Xilinx FPGA资源利用率Zynq-Based特别提款权。
限制
双工操作使用发射机和接收机块在同一模型发生只有当目标的手臂®处理器充分利用HW / SW合作设计工作流。建议做传输或接收FPGA瞄准,但不能两者兼得。
发射机FPGA瞄准和接收器FPGA针对不支持资源共享。万博1manbetx
在你开始之前
只针对FPGA Zynq SoC的织物,您必须安装高密度脂蛋白编码器™和高密度脂蛋白编码器为万博1manbetxXilinx Zynq平台支持包。
此外,您必须安装以下第三方工具:
Xilinx Vivado®开发工具,版本2019.1
安装所需的所有软件产品,遵循中概述的步骤s manbetx 845安装硬件软件合作设计(跳过步骤4)。
步骤1。创建一个算法
当设计一个特别提款权算法Zynq无线电硬件,每个接收机和发射机的设计必须满足下面的仿真软件万博1manbetx®要求:
数量的渠道
支持射频卡之间的通道数不同。万博1manbetx
ADI射频SOM -一个和两个渠道支持。万博1manbetx如果您使用的是单通道,使用单通道数据来源。如果您使用的是两个渠道,使用双通道数据源。
ADI FMCOMMS2或FMCOMMS3——一个和两个渠道支持。万博1manbetx如果您使用的是单通道,使用单通道数据来源。如果您使用的是两个渠道,使用双通道数据源。
ADI FMCOMMS4——一个频道。使用单通道数据来源。
ADI FMCOMMS5——四个渠道支持。万博1manbetx如果您使用的是单通道,使用单通道数据来源。如果您使用多个通道,使用多个通道数据来源。
输入/输出信号的指导方针
工作流有特定需求的用户逻辑子系统的边界。下图显示了数据和有效的用户逻辑单通道用户逻辑子系统的输入和输出。多通道参考设计包含多个组I和Q数据行。
每个数据输入或输出必须是16位。不支持复杂的输入和输出端口的HDL子系统。万博1manbetx因此,真实和虚构的信号必须建模子系统边界。
模型的所有港口对于给定的参考设计,即使在港口不习惯。
数据输入和输出子系统建模使用单独的数据和有效信号。在仿真万博1manbetx软件中,数据和有效的线路必须在同一采样率。因此,子系统的输入和输出的时钟频率必须相等。
时钟数据和有效信号HDL子系统的最快的速度。
当de-asserted Tx数据有效信号时,最后一个样本值。
de-asserted Rx数据有效信号时,相关的样品不是发送回主机。如果你有一个大downsampling因素在你接收用户的逻辑,主机接收块超时的风险。
标量模式
HDL代码生成,您的自定义算法必须在标量模式运作。你可以不定位输入信号转换为标量数据类型使用Unbuffer块。然后您可以输出转换回帧信号使用缓冲块。在这个边界Unbuffer和缓冲块,该算法在标量模式,这对HDL代码生成是必要的。
步骤2。验证无线硬件连接
在目标FPGA之前,必须与无线电通信主机硬件。
创建一个对象的电台
sdrdev
函数。如果您正在使用一个FMCOMMS5无线电硬件、指定“FMCOMMS5”
而不是“AD936x”
当调用sdrdev
。无线电= sdrdev (“AD936x”);
通过调用验证host-radio沟通
testConnection
方法在广播中对象。testConnection(电台);
这个函数查询设备并返回成功或失败。
步骤3。建立第三方工具
设置系统环境访问Xilinx Vivado MATLAB®。的hdlsetuptoolpath
MATLAB函数将所需的文件夹添加到搜索路径,使用Xilinx你指定的安装文件夹。
例如:
在Windows中®:
hdlsetuptoolpath (“ToolName”,“Xilinx Vivado”,“路径”,…“C: \ Xilinx \ Vivado \ 2019.1 \ bin \ vivado.bat ')
在Linux中®:
hdlsetuptoolpath (“ToolName”,“Xilinx Vivado”,“路径”,…' / opt / Xilinx / Vivado / 2019.1 / bin ')
步骤4。生成使用高密度脂蛋白HDL IP核心工作流的顾问
HDL IP核心代允许您生成一个可共享和可重用IP核心模块自动从一个仿真软件模型。万博1manbetx高密度脂蛋白编码器从模型生成HDL代码块。万博1manbetx通过使用特别提款权参考设计,您可以创建一个IP核心硬件集成到收音机。
满意后模拟硬件子系统的行为,产生高密度脂蛋白IP核心SDR参考设计和集成。
设置
确保高密度脂蛋白子系统作为一个原子单元。您可以检查这个设置子系统单击右键并选择包含算法块参数(子系统)。
通过右键单击启动HDL工作流顾问子系统包含算法和选择HDL代码>高密度脂蛋白工作流顾问。
答:设置目标
在步骤1.1工作流顾问,选择
IP核心代
为目标工作流程。然后选择所需的Zynq无线电硬件目标平台。ADI射频SOM
ZedBoard和FMCOMMS2/3/4
ZC706和FMCOMMS2/3/4
ZC706和FMCOMMS5
ZCU102和FMCOMMS2/3/4
最后,选择
Xilinx Vivado
随着合成工具。接受默认的项目文件夹,或输入一个有效的路径你的项目文件夹的位置。所有其他字段自动填充。点击运行这个任务。
在步骤1.2工作流顾问,选择的参考设计您的系统。只选择其中一个选项:
接收路径
传输路径
点击应用,然后单击运行这个任务。检查警告日志文本区域中底部的工作流顾问和之前进行所需的更改。
在工作流顾问1.3步,设置目标接口,并验证处理器/ FPGA同步被设置为
自由奔跑
。然后将用户逻辑映射到参考设计。映射射频通道时,指的是一个16位每个I和Q组件端口的用户逻辑。定义了通道指定数量。例如,在[0:15基带Rx I1)
映射到接收方通道1的实数部分射频卡。确保适当的目标平台接口选择为每个端口。点击应用,然后单击运行这个任务。
在步骤1.4工作流顾问,为您的设计选择目标频率。
点击运行这个任务。
b .运行设计检查
在工作流顾问步骤2中,单击运行所有检查和准备你的设计对HDL代码生成。如果任何任务失败或警告,试图纠正这个问题。你不能继续,直到你解决所有问题。
c . HDL代码生成
在工作流顾问步骤3中,单击运行所有生成的IP核心的HDL代码。
d .嵌入式系统集成
工作流顾问4.1集成了IP核心进入SDR参考设计和生成一个Vivado项目。创建项目,集合成的目标来
没有一个
,然后单击运行这个任务。工作流顾问只需要步骤4.2硬件软件合作设计工作流,当针对ARM处理器和FPGA结构。选择跳过这个任务,然后单击运行这个任务。
工作流顾问步骤4.3生成一个比特流的FPGA结构。生成外部壳层的比特流,选择
外部运行构建过程
。使用这个选项,您可以继续使用MATLAB在FPGA映像构建。点击运行这个任务。几分钟的步骤完成,基本的项目检查后进行,步骤是用一个绿色的复选标记。在继续之前,验证的外部命令窗口Vivado比特流没有印刷错误。程序Zynq硬件。
工作流顾问步骤4.4下载比特流到设备上。
继续这一步之前,调用
zynq
使用以下语法来确保MATLAB函数建立正确的物理硬件无线电的IP地址。devzynq = zynq (“linux”,“192.168.3.2”,“根”,“根”,“/ tmp”);
在工作流顾问步骤4.4中,你有三个选择下载比特流。
与
下载
比特流持续在权力周期(推荐)。与
JTAG
在权力周期,比特流并不持久
另外,如果你想加载比特流工作流顾问外,调用
downloadImage
函数。如果您正在使用和FMCOMMS5无线电硬件、指定“FMCOMMS5”
而不是“AD936x”
当调用sdrdev
。无线电= sdrdev (“AD936x”);downloadImage(广播,“FPGAImage”,…“hdl_prj \ vivado_ip_prj \ vivado_prj.runs \ impl_1 \ system_top.bit ')
这个函数调用重命名生成的
system_top.bit
文件system.bit
和下载文件通过以太网连接到无线硬件。该比特流持续在权力周期。
第5步。验证硬件实现
答:取代子系统
创建一个单独的模型来验证目标子系统。使用原始的组件和子系统用于生成定制的比特流换成无线硬件I / o。
下面的例子显示了这个过程的HDLRx子系统。
与HDLRx接收机子系统
在以下gdp8 % HDL-optimized接收机模型,HDLRx子系统。gdp8 %模型只包含解码组件从原始模型。组件由HDLRx子系统现在在FPGA上实现。
过程模型
b .运行仿真
运行仿真。从你的算法模型现在生产实时数据输出。
另请参阅
功能
sdrdev
|hdlsetuptoolpath
(高密度脂蛋白编码器)|zynq
(嵌入式编码支持包Xilinx 万博1manbetxZynq平台)