CLB功能及配置

本文介绍了C2000系列DSP中的CLB功能,包括其在逻辑处理中的作用,以及如何在CCS中配置和仿真CLB。详细讲述了syscfg配置、Build设置、资源与库文件配置等步骤,帮助工程师理解和应用CLB模块。
摘要由CSDN通过智能技术生成


以下内容基于TI的DSP芯片,型号为TMS320F28004x。

CLB功能介绍

接下来首先介绍一下28004x中CLB的功能。
C2000系列中的CLB模块本质上是将FPGA的一些功能集成到了DSP当中,其最大的好处是能够对EPWM、ECAP、EQEP以及外部输入部分信号进行逻辑处理,将输出的信号给到EPWM、XBAR以及别的模块当中。这使得工程师们在利用单片DSP的情况下,有更大的自由度去实现一些复杂的逻辑,减少外围的逻辑门。
CLB模块

Tile

C2000的28004x中CLB共有4个Tile,4个Tile各自独立。每个Tile中分别含有3个计数器(Counter Block)、3个有限状态机(The Finite State Machine Block)、3个查表模块(Look-Up Table Block)、8个输出查表模块(Output Look-Up Table Block)以及1个高级控制器(High Level Controller Block)。具体到Tile中各个模块的用法请参考TMS320x28004x Technical Reference Manual 1

输入/输出

单个Tile有8路输入与8路输出。单路CLB输入信号的来源可以是Global Bus、Local Bus或者System Bus,如图中所示。
在这里插入图片描述
Global Bus中的信号主要包括EPWM1-4中的信号以及8个外部输入(来自CLB X-BAR),需要注意的是 Global Bus的输入是4个Tile共享的,因此来自CLB X-BAR的8个可选输入也是共享的。
Local Bus中共有4个,对应4个Tile的Local Input,分别为EPWM1-4、ECAP1-4以及EQEP和CPU的一些信号。
System Bus中自定义配置高低电平值,能作为GPREG[n]输入到Tile当中。

单个Tile的输出共有8路,分别由Output LUT0-7产生,该8路输出经过复制后共产生16路输出,分别是CLBx_OUTx_0/1。这些输出经过选择和使能后能够替代EPWM1-4,EQEP1-2的原有信号,也能够输出到X-BAR当中给到其他模块。
以上CLB简介的信息在TI的TRM手册中CLB模块介绍部分都有给出,通过查询手册能够获得更加详细的信息与资料。接下来在第二部分当中将会对如何配置CLB以及仿真做一个介绍。

CCS中CLB的配置

在实际使用与编译CLB时总会遇到一些手册上未写明的问题,以下内容将简要介绍CLB的配置,并给出配置CLB时遇到的一些问题与解决方法。

Syscfg配置

CLB的配置在CCS9及以上的版本中能够实现,并且需要添加 x.syscfg文件。syscfg文件会通过配置CLB中模块的连接,自动生成头文件和c文件。

添加syscfg文件的方法

在Project Exploer中右键工程 -> New -> File, 出现如下界面。
在这里插入图片描述
输入想要的名字,将文件格式输入为.syscfg,点Finish。

选择DSP类型

生成syscfg文件后,需要配置syscfg,右键点击工程名->Properties;
首先配置选用的DSP名称,选择Build->Sysconfig->Basic Options;
在Name of device中输入DSP型号,例如F28004x

配置路径

此外还需配置SDK文件,添加路径:

[C2000Ware 文件夹路径]\_metadata\sdk.json
[C2000Ware 文件夹路径]\utilities\clb_tool\clb_syscfg\.metadata\product.json

建议将C2000Ware文件夹包含在Workspace中。

封装配置

如果想要配置特殊封装的该型号DSP,可以在Miscellaneous中,在Other flags中添加Part和Package信息。
例如:–package F28004x_100PZ
–part F28004x_100Pz

可选的封装信息可以通过双击打开clb.syscfg,出现的可选的封装信息中获得,如下图。

配置完这些信息后,Sysconfig会要求重启,在新的界面当中左边列的PERIPHERALS可用于配置GPIO口,而下方的CONFIGURABLE LOGIC BLOCK即可用于配置CLB。

点击Tile右侧的+号,即会新建一个TILE,在右侧可以看到该TILE的可配置内容,如下图。
在这里插入图片描述
其中Global Parameters 用于对CLB的功能进行仿真。
BOUNDARY用于设置仿真的输入信号。

Build设置

配置好了Syscfg文件后,尝试编译会发现无法编译成功,因为缺少相应的一些头文件。

Resources配置

首先右键工程名打开Properties->Resource->Linked Resources2
在这里插入图片描述
请对照以上的设置,设置相应的源名称和路径。其中CLB_SIM_COMPLIER对应的为CLB的仿真器路径。

设定Post-build steps的程序

Build -> Steps -> Post-build steps
将以下内容复制到框中:

mkdir "${BuildDirectory}/simulation"
${
   CLB_SIM_COMPILER}/g++  -c -DCLB_SIM -I${
   SYSTEMC_INSTALL}/src -I${
   C2000WARE_ROOT}/utilities/c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值