一、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