2 CLB应用和仿真
2.1 Syscfg介绍
Syscfg是一个功能强大的图形界面的工具,用来简化CCS的开发,可以用来各种配置并且会自动生成代码。CLB一定要用到这个工具,里面有异或,与,取反和虚拟地址等运算数据手册没有写;
2.1.1 输入和输出配置
通过CONTROL->CLB模块配置输入和输出;
2.1.2 TILE模块配置
通过CONFIGURABLE LOGIC BLOCK -> TILE模块TILE模块;
2.1.3 代码的生成与使用
根据上面两个章节配置完成后,通过Syscfg导出配置代码,加到我们自己的代码中就可以正常使用CLB模块了;
Board.c和Borad.h是CLB输入和输出的配置,与GPIO,EPWM,ECAP相关;
Clb_config.c和Clb_config.c是TITE配置,与外设无关,只处理逻辑门;
2.2 仿真
由于CLB的TILE逻辑门较多,设计复杂,TI提供了框图显示和实际仿真,用来验证TILE设计的正确性;工程右击->Properties for clb_empty->Build->Variables;将CLB_DEBUG和GENERATE_DIAGRAM均设置为1;
参考TI文档:C2000\C2000Ware_4_01_00_00\utilities\clb_tool\clb_syscfg\doc
2.2.1 框图显示
在工程\CPU1_RAM\diagrams可以打开框图,里面展示了TILE使用的输入输出和逻辑门框图;
EPWM仿真CLB的位置
2.2.2 仿真
确认框图无误之后,利用syscfg工具模拟输入信号,再利用GTKWave工具查看每个信号的正确与否;
配置完成之后,编译工程,进入工程\CPU1_RAM\diagrams文件夹中,双击simulation.exe文件,再双击CLB.vcd,用GTKWAve工具打开;选择查看的信号,验证逻辑的正确性;