UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

取消
显示结果 
搜索替代 
您的意思是: 
Highlighted
Visitor yaoyinqi
Visitor

HLS 内部逻辑综合ROM的问题

转到解答

Hi,ALL

1、现在使用HLS综合C代码,HLS根据功能将部分逻辑综合成ROM,综合出来的Verilog中包含如下的代码:

initial begin
$readmemh("./top_func_convert_bkb_rom.dat", ram);
end

我的问题是,这个代码在Vivado中肯定是不能被综合的,那在Vivado中是不是还得手动生成ROM,再加入初始化.coe文件?

 

2、HLS根据C代码综合出来的ROM中有一个是3端口的ROM,但实际上器件上并没有3端口的ROM,我想咨询一下,除了优化C代码,是否可以添加Directive让HLS综合成多个单端口的ROM?

 

Thanks!

0 项奖励
1 个已接受解答

已接受的解答
Xilinx Employee
Xilinx Employee

回复: HLS 内部逻辑综合ROM的问题

转到解答

1. 不需要。readmemh语句是支持的,请参考UG901文档或者Vivado的Language Templates中RAM的代码示例。

 

2. 可以设directive将resource设成特定的core,比如ROM_1P_BRAM,是用BRAM来实现单端口的ROM。

e.g.

set_directive_resource -core ROM_1P_BRAM foo_top var


#pragma HLS resource variable=var core=ROM_1P_BRAM

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
2 条回复
Xilinx Employee
Xilinx Employee

回复: HLS 内部逻辑综合ROM的问题

转到解答

1. 不需要。readmemh语句是支持的,请参考UG901文档或者Vivado的Language Templates中RAM的代码示例。

 

2. 可以设directive将resource设成特定的core,比如ROM_1P_BRAM,是用BRAM来实现单端口的ROM。

e.g.

set_directive_resource -core ROM_1P_BRAM foo_top var


#pragma HLS resource variable=var core=ROM_1P_BRAM

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Visitor yaoyinqi
Visitor

回复: HLS 内部逻辑综合ROM的问题

转到解答
Hi,graces
谢谢你的解答!
0 项奖励