本文主要介绍Xilinx P4的仿真文件和软硬件仿真流程。
1 仿真文件
Xilinx提供了一些仿真的例子,在<安装目录>/data/ip/xilinx/vitis_net_p4_<P4版本>/example_design/examples下,如five_tuple例子是用来根据五元组信息匹配规则插入vlan字段、forward例子是用来对IPV4和IPV6的数据包进行转发。在每个例子中都有数据平面处理逻辑的定义文件.p4、命令文件cli_commands.txt和仿真数据文件traffic_in.user。
创建一个Vivado工程,例化一个P4 IP,然后在IP的配置中选择一个P4文件,编译器会对P4文件进行编译,然后对P4 IP进行配置。右键P4 IP选择Open IP Example Design即可打开仿真例程。在例程中存在下图所示的文件,不同的版本文件会存在一些不同。所有需要的文件都在vitis_net_p4_0_ex.sim/sim_1/behave/xsim下,包括新生成的traffic_out.user和traffic_out.meta,原始文件在imports下。仿真时会执行xsim下的vivado_wc_pre.tcl,调用import下的run-p4bm-vitisnet.tcl利用源文件main.json、traffic_in.user、cli_commands.txt生成输出文件traffic_out.user和traffic_out.meta,仿真过程可查看p4bm-vitisnet_log_cli.txt文件,这个过程相当于软件仿真。
为了方便使用,自己创建工程,然后将这些文件复