学习如何使用Intel FPGA MACsec IP
目录
简介
本文将介绍如何使用Intel FPGA IP创建和模拟针对Intel Agilex 7 FPGA的MaxC IP示例设计。您将了解所需的材料、Quartus Prime Pro软件和Quest the SIM仿真器的版本,以及在虚拟机上安装Linux。此设计可以轻松适配不同的仿真器和操作系统,具体步骤在MaxC IP用户指南中有详细说明。MaxC IP提供了以太网协议的数据机密性和完整性,通过在数据链路层添加少量开销,实现高速和低延迟的安全性。MaxC IP在云和数据中心之间的数据安全、5G网络中的安全数据传输以及局域网中安全的物联网设备中得以广泛应用。在示例设计中,MaxC IP是高度可参数化的模块,使用AXI Stream和AXI Lite等标准接口与其他Intel FPGA IP进行连接。
准备工作
在开始示例设计创建之前,让我们先对MaxC IP进行简要介绍并查看IP块图。MaxC IP是在以太网协议的数据链路层上通过添加少量开销实现数据机密性和完整性的功能模块。它由两个主要部分组成:常规端口和控制端口。常规端口用于与以太网接口进行通信,控制端口用于与应用逻辑进行通信并处理MaxC IP内部的明文数据。在示例设计中,数据流是这样的:测试数据包由包生成器/检查器生成,然后通过控制端口进入MaxC IP进行加密,再通过常规端口出来,成为加密的数据包。示例设计中的常规端口解密这个数据包,然后通过控制端口返回数据,最后由包生成器/检查器检查包的有效性。
创建示例设计
首先,我们需要打开Quartus Prime 22.4软件。这里已经准备好了一个演示项目,接下来我们要在右侧的IP目录中搜索MaxC Intel FPGA IP并打开它。然后,我们将创建一个针对MaxC IP的IP文件,命名为demo.ip。创建完成后,我们可以根据自己的需求在几个菜单中选择如何自定义设计。对于每个设置,都可以在MaxC Intel FPGA IP用户指南中找到更详细的说明。
配置IP设置
首先是Apology选项卡,其中包含了一些MaxC IP端口和加密通道的主要设置。这里有一些重要的选项,例如控制端口设置,可以选择让MaxC IP执行加密和解密,还是只执行加密或解密。您还可以设置TX和RX端口的数量,其中TX端口的数量受到TX和RX端口最大数量设置的限制。接下来是接口属性选项卡,其中包含与MaxC IP端口相关的设置。您可以根据需要更改端口的数据宽度,设置准备延迟和启用存储转发模式等等。还有一个包含了802.1AE Max Security标准选项的选项卡,您可以在其中选择不同的加密和完整性检查级别。最后是可选设置选项卡,其中包含一些可选的IP设置,例如是否启用包的统计计数器等。
选择示例设计参数
接下来是示例设计选项卡,您可以在此设置中选择是否生成仿真文件集和综合文件集,以及选择生成的HDL格式(在这里我们只支持Verilog)。由于我们只进行仿真,因此我们将保持生成仿真文件集的选项勾选。如果取消勾选综合选项,将不会生成用于综合的文件集。
生成示例设计
完成示例设计参数设置后,我们可以点击"Generate"按钮生成示例设计。然后选择要存放示例设计文件的目录,并等待生成完成。
模拟示例设计
生成示例设计后,我们开始进行仿真。首先,检查生成的仿真文件,然后运行Quest the SIM仿真器,并查看波形图。
检查仿真文件
在生成的仿真文件中,我们可以找到示例设计的相关文件,进入示例仿真测试台目录,其中包含了多个仿真运行脚本,我们将使用Quest the SIM 2022.10仿真器运行。打开终端,执行以下命令进行仿真:
vsim -do run_vsim.do
运行Quest the SIM仿真
仿真开始后,我们可以看到在Quest the SIM中加载了仿真文件,并开始运行仿真。等待仿真完成后,我们可以在仿真结果中查看有关仿真是否通过的消息。
查看波形图
仿真通过后,我们可以使用波形查看器查看波形图,并观察包在示例设计中的进出情况。我们可以放大波形图,观察控制组和常规组中的信号。通过观察各个信号的变化,我们可以了解加密和解密过程的功能和效果。
总结
本文介绍了如何使用Intel FPGA IP创建和模拟MaxC IP示例设计。我们了解了MaxC IP提供的以太网协议数据机密性和完整性的功能,以及示例设计中数据的流动方式。我们还详细介绍了IP的各种设置选项,并展示了如何生成示例设计和运行仿真。通过这个教程,您可以更好地理解MaxC IP的工作原理,并学会使用Quartus Prime和Quest the SIM进行IP设计和仿真。
请访问intel.com获取有关MaxC Intel FPGA IP的更多信息。谢谢观看本视频,希望对您有所帮助!
FAQ
Q: MaxC IP是否支持其他FPGA设备?
A: 是的,MaxC IP可以适配不同的FPGA设备,请参考MaxC IP用户指南中的说明。
Q: 是否有其他资源可以帮助我学习MaxC IP的更多知识?
A: 是的,您可以在intel.com上找到更多关于MaxC Intel FPGA IP的资料和文档。