使用FPGA-in-the-Loop加速通信系统仿真
这个示例使用FPGA-in-the-Loop (FIL)模拟加速通信系统的一部分。应用程序使用维特比算法解码一个卷积编码随机流BPSK调制,通过AWGN信道发送,然后解调。使用取样方法导致适度加速超过正常模型®模拟,而使用“过程框架”选项会导致进一步加速。金宝app
下面的例子使用了通信工具箱™与高密度脂蛋白编码器™和HDL校验™显示设计工作流使用FPGA-in-the-loop加速模拟。
需求和先决条件
工具需要运行这个例子:
FPGA设计软件
一个支持的FPGA开发金宝app板。硬件支持金宝app,看到金宝app支持FPGA器件FPGA验证。
使用以太网连接:千兆以太网适配器安装在主机上,千兆以太网交叉电缆
连接使用JTAG: USB导火线I或II为英特尔FPGA板电缆和驱动程序。Digilent®JTAG电缆和司机Xilinx FPGA板。
连接使用PCI Express®: FPGA板安装到主机的PCI Express插槽。
要求:MATLAB®和FPGA设计软件可以在本地安装在您的计算机或网络设备访问。如果你使用软件的网络需要第二个网络适配器安装在你的电脑提供一个私有网络的FPGA开发板。咨询您的计算机的硬件和网络指导学习如何安装网络适配器。
1。开放和执行仿真软件模型金宝app
打开模型。由于大量的数据处理,仿真没有费尔大约需要9秒。我们将在以下步骤提高仿真速度使用FPGA-in-the-Loop。
2。生成HDL代码
这一步需要高密度脂蛋白编码器。如果你没有HDL编码人员,您可以使用预生成的HDL文件在当前目录中。
如果你要使用这些复制文件,直接进入步骤3。
维特比生成HDL代码块子系统通过执行以下步骤:
一个。右键单击现有费尔块标记viterbi_block1
。点击删除,删除这一块代码生成。
b。在建模选项卡上,单击模型设置。
d。点击HDL代码生成面板和确保hdlcoderviterbi_for_fil / viterbi_block被选中。
e。点击生成。
另外,您可以通过输入以下命令生成HDL代码在MATLAB提示:
makehdl (“hdlcoderviterbi_for_fil / viterbi_block”)
3所示。FPGA设计的软件环境
在使用FPGA-in-the-Loop之前,确保你的系统环境访问FPGA设计软件的设置正确。您可以使用函数hdlsetuptoolpathFPGA设计软件添加到当前MATLAB系统路径。
4所示。运行FPGA-in-the-Loop向导
启动费尔向导中,输入以下命令在MATLAB提示:
filWizard;
4.1硬件选项
从董事会列表中选择一个董事会。单击Next继续。
4.2源文件
一个。添加所有以前生成的高密度脂蛋白的源文件维特比块
子系统。
b。选择文件viterbi_block.vhd
作为顶级文件。你可能需要让FPGA-in-the-Loop向导窗口宽为了看到这些选项。
c。请注意,viterbi_block
已经进入了您作为默认顶层模块的名字。单击Next继续。
4.3 DUT的I / O端口
观察到顶层模块的端口被正确识别。单击Next继续。
4.4构建选项
一个。选择一个输出文件夹。
b。单击Build构建费尔块和编程文件。
在构建过程中,发生以下行为:
费尔块名叫viterbi_block生成新的模型。
新模型生成后,费尔向导打开一个命令窗口,FPGA设计软件进行合成,映射,place-and-route时机分析,FPGA编程文件生成。对于这个块,这些步骤大约需要20分钟。
当FPGA设计软件过程完成后,在命令窗口消息让你知道你可以关闭窗口。
5。开放和费尔完成仿真软件模型金宝app
一个。打开hdlcoderviterbi_for_fil.mdl
b。复制到它前面生成的费尔块和连接在平行或viterbi_block的地方。请注意,原来的块右边的输入。让费尔块有其输入右边,右键单击,然后选择格式>翻转块。
6。配置费尔块
一个。双击费尔块模型中打开块面具。
b。点击负载。
c。点击好吧关闭块面具。
7所示。费尔模拟运行
为20480秒,观察运行仿真性能。
FrameSize = 1;抽搐;sim卡(“hdlcoderviterbi_for_fil”);fs1 = toc
你可以尝试设置帧尺寸更大的号码。对于这个示例,帧大小设置为1024字节。
FrameSize = 1024;抽搐;sim卡(“hdlcoderviterbi_for_fil”);fs2 = toc
在我们的测试中,模拟时间约为16秒FrameSize = 1时,在模型与模拟没有费尔,但仿真时间减少到12秒增加到1024帧尺寸时使用Xilinx Spartan-6 SP605董事会。金宝app这个特殊的董事会和系统整体加速了约1.7倍,但其他董事会和通信系统可能会更快。
加速= fs1、fs2
通过删除模型块版本,只有模拟费尔金宝app版本,并通过添加更多的块费尔设计和删除模型范围的一部分,显示尽可能多的,更大的加速效果是可能的。
这就是使用FPGA-In-the-Loop加速通信系统仿真例子。