SigmaStudio自行设计控件

SigmaStudio是一款图形化的DSP工程开发工具,其控件库中包含了丰富的DSP控件资源,然而,用户也可以自行使用汇编语言设计开发属于自己的控件,在必要时导入使用。

(一)安装设计控件

  1、到官网下载DesignerNew.dll

  2、将下载的dll复制到SigmaStudio的安装路径下面

  3、打开SigmaStudio,选择Tools -> Add-Ins Browser ->Add DLL,将刚才的DesignerNew.dll添加进去

  4、新建工程,在TreeToolBox窗口展开 Designer Controls -> Algorithm Design -> New Designer Control,可以看到新添加的用户控件

  5、编辑控件,将New Designer Control拖出来,右键点击,Show Design window,输入以下代码并保存,这时一个基本的控件便设计完成。

START_CELL

$region Generated Code
// This is generated code.
// Do not edit code in this area it may be deleted.
// You may move code out of this region safely
$inpin data(DM1,1) InPin1;
$outpin data(DM1,1) OutPin1;
$inpin data(DM1,1) InPin2;
$endregion

module @inst
{
data gain_left = 0.5;
data gain_right = 0.5;

//load 2 inputs
X0 = DM1(P14 + InPin1);
X1 = DM1(P14 + InPin2);

//load gains
Y0 = DM[gain_left];
Y1 = DM[gain_right];

//multiply and sum:A0 = X0*Y0 + X1*Y1
A0 = [X0 X1].[Y0 Y1];
nop;

//write output
DM1(P14 + OutPin1) = A0;
}

6、点击window-> open parameter window设置Runtime Parameters,例如Gain、Frequency等

(二)汇编语言在SigmaStudio中的使用

1、所有寄存器关键字只有大写有效,例如X0;而变量类型关键字则只有小写有效;指令则大小写皆可,例如nop/NOP

2、常用指令集命名

Data Registers

    X0.......X7         X寄存器从0到7

    Y0.......Y7         Y寄存器从0到7(ADAU14X系列DSP包含8个X寄存器和8个Y寄存器)

    XY0......XY7      X寄存器和Y寄存器共同储存复杂的数据

    [X0X1]......[X6X7]    存储双精度数据或者并行指令

Accumulator Registers

    A0.G ...... A7.G     A寄存器的保护部分(16位)

    A0.H ....... A7.H    A寄存器的高位部分(32位)

    A0.L ....... A7.L     A寄存器的低位部分(32位)

Memory Pointer Registers(DAGs)

    P0 ...... P15       地址寄存器0到15(等同于P#.I)(16位)

    P0.B ...... P15.B  基本寄存器0到15

    P0.L ...... P15.L   长度寄存器0到15

    P0.L ...... P15.M  Modify 寄存器0到15

Memory

    DM0    Data memory 0

    DM1    Data memory 1

    PM      Program memory

 

cli / CLI   失能内核中的所有中断

sti / STI  使能内核中的所有中断

 

 

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值