OpenFPGA使用两个 XML文件: 架构描述文件和仿真配置文件。这和只使用一个XML文件(架构文件)的VPR8不同。
一、OpenFPGA 架构描述文件
OpenFPGA的示例架构文件保存在OpenFPGA/openfpga_flow/openfpga_arch
目录下
OpenFPGA的架构文件包含 设备级信息、电路级信息以及对原始VPR架构的注释。
根标签<openfpga_architecture>
:所有的其他子标签都包含在此标签下。
<circuit_library>
:包含大量的circuit_model
,每个模型代表一个 FPGA 基础逻辑单元,如 LUT、MUX。<technology_library>
:包含晶体管级参数,可以指定用于构建circuit_model
时使用哪些晶体管模型。<configuration_protocol>
:包含了在 FPGA Fabric中使用的配置协议的详细描述。<connection_block>
:包含对原始 VPR XML中所定义的连接块<connection_block>
的注释。<switch_block>
:包含对原始 VPR XML中所定义的开关盒<switchlist>
的注释。<routing_segment>
:包含对原始 VPR XML中所定义的路由段<segmentlist>
的注释。<direct_connection>
:包含对 Tile 间直接连接定义的注释<directlist>
:Tile 间直接互连描述<pb_type_annotation>
:包含对可编程块架构的注释<complexblocklist>
:
二、OpenFPGA 仿真配置文件
所在路径为OpenFPGA/openfpga_flow/openfpga_simulation_settings
,此文件包含了 testbench 生成器所需的参数,都在根标签<openfpga_simulation_setting>
下定义。
子标签有:
<clock_setting>
:定义了仿真中与时钟相关的设置,例如时钟频率和要仿真的时钟周期数。由FPGA-Verilog 和 FPGA-SPICE 共同使用<simulator_option>
:定义了在HDL和SPICE仿真器中可用的通用选项。由 FPGA-SPIC E使用。<monte_carlo>
:定义在蒙特卡罗仿真中使用的关键参数。由 FPGA-SPICE 使用。<measurement_setting>
:定义用于测量信号转换和延迟的参数。由FPGA-SPICE使用。<stimulus>
:定义用于在 testbench 中产生电压激励的参数。由FPGA-SPICE使用的。