在这个表格中Resource对应的列会有LUT和LUTRAM,那么两者到底有什么区别呢?是包含关系吗?...不过,可以断定的是LUTRAM是指将LUT用做分布式RAM/ROM,换句话说是指SLICEM中的LUT被用做了存储单元,那么这里的存储单元是否包含移位寄存器(SRL)呢? ?...可以看到该设计共消耗了3个LUT,2个LUTRAM。 ? 事实上,从Available对应列可以看到LUT对应的数据为41000,而该数据指的是FPGA中所有LUT的个数。...结论: -资源利用率中的LUT是指设计中消耗的所有LUT,包括用做逻辑函数发生器的LUT(SLICEL中的LUT),也包括用做存储单元的LUT(SLICEM中的LUT) -资源利用率报告中的LUTRAM
思考空间 给定列表{RAMB18 RAMB36 LUTRAM RAMB},要求从中找出RAMB18和RAMB36。
因为数组未必会直接映射为Memory(对应FPGA内的存储单元,如Regisers, LUTRAM,BRAM等)。
思考空间 给定列表{RAMB18 RAMB36 LUTRAM RAMB},要求从中找出RAMB18和RAMB36。 如下图所示。 ?
RESOURCE是HLS中的一种Directive,用于指定操作需要用什么资源实现,例如,可以将数组映射为RAM_1P_BRAM,即单端口RAM,且该RAM采用Block RAM实现;类似的还有RAM_2P_LUTRAM
如果仅仅知道分布式RAM的大小(深度和宽度),可借助下图中的红色方框准确得出所消耗LUTRAM的个数。
Bind Storage Report则会显示设计中的数组在转成RTL代码后的具体实现方式,是采用LUTRAM、BRAM还是URAM。
资源利用率报告中的LUTRAM是指设计中消耗的SLICEM中的LUT。 SRL_STYLE配置为srl_reg 用LUT和FF(Flip Flop,触发器)生成SRL,最后一级深度用FF。
但如果是存储大位宽的数据,例如位宽为256或1024等,即使深度只有16或32,在高速设计中,仍然建议使用BlockRAM,而不是LUTRAM。
应注意的是,SRL、LUTRAM 和BRAM 中内容的初始化,只能用 GSR方法来完成,不能使用显式复位。因此,在为以上这些资源编写代码时,应注意避免在编码中使用复位。...技巧 6:在映射到 SRL、LUTRAM或者 BRAM 时,不要为 SRL 或者RAM 阵列的复位进行编码 在 7 系列器件中,不能把具有不同控制信号的触发器打包到同一个 Slice中。
资源情况 Resource Utilization Available Utilization% LUT 24471 230400 10.62 LUTRAM 1448 101760 1.42 FF 28753
查看Vivado的官方手册ug901可知,对于Distributed RAM(LUTRAM)和Dedicated Block RAM(BRAM),二者都是写同步的。
领取专属 10元无门槛券
手把手带您无忧上云