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;
}

 

(二)彙編語言在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  使能內核中的所有中斷

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章