转载请注明出处!
作者:雪天鱼
OpenFPGA Shell中包括了 VPR、FPGA-Verilog、FPGA-SDC和FPGA-Bitstream。
这里我打算从FPGA-Verilog入手学习。
FPGA-Verilog 所生成的网表都保存在该次 Task 运行目录中,网表结构如下图所示:
以之前跑的 demo 为例:
这些网表文件所建模的 Fabric 如下图所示:
fabric_netlists.v
:这个文件定义了 fpga_top.v
使用的所有的相关Verilog netlist的绝对路径。这方便仿真器和后端工具添加网表,只需要将此一个文件添加到仿真器或后端项目即可。fpga_top.v
: Fabric 顶层模块fpga_defines.v
:定义了一个Flag,define ENABLE_TIMING
,当此变量为1时,Verilog模块中定义的延时数据都有效,仿真器收敛速度更快。
这里我将所有的网表文件都导入了Vivado,模块组织结构如下图所示:
所对应的文件夹为lb,其包含文件有:
这些.v文件中包含所有用来建模CLB的模块、异构块以及 I/O 块,可参考图4,即对应 CLB、DSP Block、I/O Block 以及 Block RAM。
:对于 VPR 架构描述中定义的每个
,将会生成对应的一个Verilog网表来建模其内部结构。
:对于 VPR 架构描述中定义的标签
的子标签pb_type
,将会生成对应的一个Verilog网表来建模其内部结构。
所对应的文件夹为routing,其包含文件有:
这个文件夹的Verilog文件用来建模开关盒SB和连接盒CB,可参考图4,即X-Connection Block、Y-Connection Block以及Switch Block。
sb_
:对于VPR布线资源图生成器所创建的每个开关盒SB,都有对应的一个.v文件生成对其进行建模,
和
代表此SB在 FPGA Fabric中的坐标。
cbx_
:对于VPR布线资源图生成器所创建的每个X方向连接盒CBX,都有对应的一个.v文件生成对其进行建模,
和
代表此CB在 FPGA Fabric中的坐标。
cby_
:对于VPR布线资源图生成器所创建的每个Y方向连接盒CBY,都有对应的一个.v文件生成对其进行建模,
和
代表此CB在 FPGA Fabric中的坐标。
所对应的文件夹为sub_module
,其包含文件有:
这个文件夹的Verilog文件用来建模逻辑块LB和路由块RB,可参考图4。
luts.v
:对查找表建模wires.v
:对互连线建模memories.v
:对CCFF/SRAM建模muxes.v
:对用于布线的多路选择器进行建模inv_buf_passgate.v
:对反相器、缓冲器以及传输门进行建模local_encoder.v
:对编码器和译码器进行建模user_defined_templates.v
:用户可以参考此文件去建模自定义的基础模块。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)