传统RTL
- Verilog tb RTL 仿真
- 综合、布局布线(考虑时延、timing 资源)
- 系统调试
C设计流程
- C tb C级别仿真
- HLS C综合、布局布线(考虑时延、timing 资源)
- 系统调试
输入
C 源代码 tb +约束(提供了C lib Math\video\DSP \Linear algebra)、directives
得到Verilog
进而得到IP catalog 放入Vivado IPI /RTL或者System Generator
每个项目可有多个solution
每个solution可有多个支持自己的constraint、directive 用于优化C综合,
当为了对比两个不同的solution之间的效果时,directive建议写在directive 文件(.tcl)中,而不是源文件
当为了只传C文件,directive写在C中,#pragama形式出现,为了便于区分给每个for循环等命名
波形查看器
需要好的C 编程风格和好的directive 才能得到好的优化结果