📄 fsramdelay.eve
字号:
// 僒儞僾儖僾儘僌儔儉 FSRAMdelay.eve
//
// 奜晅偗儊儌儕乕偵崅懍 SRAM 傪巊梡偟偰僨傿儗僀傪幚尰偡傞僾儘僌儔儉
// 偱偡丅
// 僐儞僩儘乕儖儗僕僗僞偺 ERAMSEL1-0 傪 11 (崅懍 SRAM 儌乕僪) 偲偟偰
// 偔偩偝偄丅
// SDI0 偺 Lch 偵擖椡偝傟偨怣崋偵懳偟偰丄48000 僒儞僾儖僨傿儗僀偝
// 偣偨怣崋傪 SDO0 偺 Rch 偵弌椡偟偰偄傑偡丅
// SDO0 偺 Lch 偵偼 SDI0 Lch 傪偦偺傑傑弌椡偟偰偄傑偡丅
//
// SDO0 偺 L/Rch 埲奜偺僠儍儞僱儖偼偡傋偰 0 弌椡偱偡丅
//
// 僔僌僫儖僼儘乕偼 ERAMdelay.eve 偲摨偠偱偡丅
// ERAMdelay.pdf 傪嶲徠偟偰偔偩偝偄丅
//
// 偙偺僾儘僌儔儉傪傾僙儞僽儔 EveAsm.exe 偱傾僙儞僽儖偡傞偙偲偵傛傝
// FSRAMdelay.datEve 偑嶌惉偝傟傑偡丅
//
// -----------------------------------------------------------------
//
// Sample program FSRAMdelay.eve
//
// This is the program realizing the delay by using high speed SRAM as the
// external memory.
// Set ERAMSEL1-0=11 (high speed SRAM mode) in Control Register.
// After delaying SDI0 Lch input signal by 48000 samples, it is output
// from SDO0 Rch.
// SDO0 Lch ouput is SDI0 Lch input with no delay.
//
// The other channels except for SDO0 L/Rch are all zero output.
//
// Signal flow is same as the one for ERAMdelay.eve.
// Refer to ERAMdelay.pdf.
//
// FSRAMdelay.datEve is assemble from this program by executing EveAsm.exe.
// -----------------------------------------------------------------
// -----------------------------------------------------------------
// -----------------------------------------------------------------
#define ERAM_TYPE FAST_SRAM // 奜晅 崅懍 SRAM 巊梡
#define ERAM_SIZE 128KW // 1Mbit (128kW) SRAM 巊梡
//============================================================
// EVE Program
// FSRAMdelay
//============================================================
// COEF define
CDat P0.5 (-1, 0x4000); //
// Inner DATA define
DAdr Dtmp (0); // temporary 梡
// delay tap
TDat TIN (-1, 0); // 奜晅偗 memory 梡 delay tap
TDat TOUT (-1, 48000); //
//------------------------------------------------------------
// 幚峴僐儅儞僪僽儘僢僋
// | ERAM | BUS | MAC/JMP
//------------------------------------------------------------
; OUT0 = IN0; ; // SDI0/L (IN0) 傪 delay 側偟偱 OUT0 傊丅
; ; ;
//---------------------------
wr(TIN); EW = IN0; ; // SDI0/L (IN0) 傪 TIN 傊彂偒崬傒丅
; ; ; // wr 柦椷偐傜 4 step wait丅
; ; ;
; ; ;
rd(TOUT); ; ; // TOUT 傪撉傒弌偟丄ER0 傊 save丅
put(ER0); ; ;
; ; ; // rd 柦椷偐傜 5 step wait丅
; ; ;
; ; ;
; ; ACC0 = ER0 * P0.5; // ER0 傪 MAC 宱桼偱 OUT1 傊丅
; ; ;
; ; ;
; ; ;
; OUT1 = ACC0Ls1; ; // delay 屻偺抣傪 OUT1 傊 save丅
// ----------------------------------------------------------------------
; OUT2 = $ZERO; ; // 懠偺 channel 傪 0 clear丅
; OUT3 = $ZERO; ; // 懠偺 channel 傪 0 clear丅
; OUT4 = $ZERO; ; // 懠偺 channel 傪 0 clear丅
; OUT5 = $ZERO; ; // 懠偺 channel 傪 0 clear丅
; OUT6 = $ZERO; ; // 懠偺 channel 傪 0 clear丅
; OUT7 = $ZERO; ; // 懠偺 channel 傪 0 clear丅
// ----------------------------------------------------------------------
; MPEND = $0.5; ; // program 廔椆丅
; ; ;
; ; ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -