一、volatile
volatile修饰的变量是禁止被设计优化访问的
volatile修饰不能够进行burst access
volatile修饰是禁止通过 Port Widening 大幅提升 HLS function性能
No dead code elimination
No hardware caching

使用了volatile后,complier编译器不会对代码进行优化

memory_map_io和memory是有区别的
memory access不要随便使用volatile修饰,不然会跑起来很慢!!!!


二、static
1.static是用于hold数据在function calls调用过程中,用于创建寄存器
2.satic的初始值为0

三、const

四、global variables
1.不会在rtl接口产生port
 

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐