Low-Cost One-Chip Multi-Effects DSP V1000: 1. General Description
Low-Cost One-Chip Multi-Effects DSP V1000: 1. General Description
Low-Cost One-Chip Multi-Effects DSP V1000: 1. General Description
V1000
1. General Description
With 16 built-in reverb and multi-effects, the V1000 Digital Multi-Effects DSP delivers outstanding audio
performance in a rapid time-to-market solution at a very affordable price. Since the V1000 incorporates its own RAM
and on-board effects, a complete reverb system can be designed with only the V1000, a low-cost ADC and DAC,
and a simple 4-bit controller such as a rotary encoder etc.
2. Features
• 16 internal ROM programs consisting of effects such as multiple reverbs, echo, phaser, chorus, flanger, etc.
• Serially programmable SRAM (Writeable Control Store - WCS) for program development or
dynamically changing programs
• Programs run at 128 instructions per word clock. (6 MIPS @ 48 khz sampling frequency)
• 32k location Static Ram provides over 0.68 sec of delay at 48 kHz sampling frequency
• Package outline: SOIC-16/300
• ROHS compliant (PB-free)
V1000
0450A
1
V1000
3. Electrical Characteristics and Operating Conditions
2
V1000
6. Pin Descriptions V1000
Note:
Int/Ext_, prog0, prog1, prog2 and prog3 are pulled up to Vdd via nominal internal 30k resistor.
7. Block Diagram
Xtal IN WdClk
Clock BitClk Address
Xtal OUT Generator SysClk Generator
LFO0
System
clock LFO1
SData
SClk Serial
Interface LFO2
DigIn
Data RAM LFO3
WCS RAM
Prog0
Prog1
Decode
Generator
Address
Prog2
MUX
Prog3 REGISTER
Program
Int/Ext ROM
MAC
OUTPUT DigOut
Controller
3
V1000
8. Internal Programs
The SCR comes with 16 internal ROM programs ready to go. By setting the chip to internal mode, the four program
pins may be used to select between the different algorithms.
Addr Name
Addr Name
0.127 WCS RAM 0:3 LFO Coefficients
4:127 MAC Instructions
128 Control/Status 0
4
V1000
11. LFO Coefficient Word
Bit# Description
31 P: Pitch shift mode select (S must be set).
30 S: sine/triangle select. 1:Triangle; 0: Sine.
X[1:0] Xfade
X[1:0]: Cross fade 11 1/16
Coefficient select. Value indicates
29:28 10 1/8
the fraction of a half sawtooth period
used in cross fading 01 1/2
00 1
27:25 F[12:0]: Frequency coefficient, unsigned.
14:0 A[14:0]: Amplitude coefficient, unsigned.
Note:
If set, the output wave form is a sawtooth with double the triangle wave’s frequency.
Sawtooth SIN
Sawtooth COS
Crossfade 1
Crossfade 1/2
Crossfade 1/8
Notes:
1. Crossfade only used in saw tooth wave.
2. The sinusoid generated by the LFOs is or the formula Asin(nF / M) or Acos(nF / M), where n is the time index,
F/M - 2 π f/Fs, M is the maximum internal value, fit the selected frequency, and Fs is the sampling frequency.
Thus the frequency limits are:
f = (F/M) Fs/(2π)
5
V1000
12. MAC Instruction Word
Bit# Description
31 S: Sign bit for multiplier coefficient.
C[7:1]: Multiplier coefficient, 2’s complement.
C[7:0] Chorus instruction. Only the 7 MSBs are used as multiplier
coefficients. The LSB is used in chorus mode. If I[15] is set, C[7:0] is :
C Description
Chorus/Xfade select
1: Pass LFO address to address generator &
7 select chorus coefficient
0: Mask LFO address to address generator &
30:23 select cross fade coefficient.
6 1’s complement the LFO address sign bit.
5 1’s complement the LFO address sign bit.
4 1’s complement the LFO address.
LFO latch. 1: Latch in new LFO data; 0: Hold last
3
LFO data
2:1 LFO select.
LFO sine / cosine select.
0
1: Cos; 0: Sin.
22 W: Write select.
I[5:0]: Instruction field
I Description
Chorus select (When set, MAC coefficient is LFO block
5
21:16 output, LFO address offset added to SRAM address)
4 Clock register C.
3 Clock register B.
2 Reserved – set to zero.
I[1:0] Instruction
11 Acc = Prod + Acc
MAC product
21:16 1:0 10 Acc = Prod + C
instruction
01 Acc = Prod + B
00 Acc = Prod + O
A[15:0]: Multiplicand address. (Currently only lower 15 bits used;
reserve MSB for future expansion.)
15:0
Address 0x0000 = LeftIn / Out;
Address 0x0001 = RightIn / Out.
6
V1000
Notes:
1. This complement is only for the MSB, and sign-extension bits are not affected.
2. The LeftOut, RightOut, and C registers are in parallel with the accumulator, and will contain the same value
as the accumulator if clocked at the end of the tick. Thus, a write to LeftOut or RightOut will store the current
tick’s results.
3. A write to SRAM stores the last tick’s results into address A. During writes, the multiplicand is set to
be the Acc, since A[15:0] is used for the excursion address. Writes to LeftOut or RightOut can use the
Acc = Product + Acc instruction with the multiplier coefficient set to 0 to pass all bits unaltered.
4. Register B, if clocked at the end of the tick, will store the value of the current tick’s multiplicand. When a read
is executed, B latches LeftIn, RightIn, or SRAM. When a write is executed, B latches the accumulator from the
last tick.
5. The accumulator contains the result from the last instruction tick, and is updated at the end of the current
instruction tick.
6. The internal SRAM address offset automatically decrements by 1 every word clock period.
7. Because addresses 0x0000 and 0x0001 are being used to access the left and right channels, those SRAM
memory locations may not be directly written to or read from.
Bit # Description
31:8 Reserved. Set to zero.
7 M: DigOut mute in external made. Resets to 1.
6 Z: SRAM zero. Initiates zeroing cycles until de-asserted. Resets to 0.
5 Reserved. Set to zero.
L: LFO reset pulse. Resets LFO internal status registers and clears
4
overflow flag. Self clearing. Resets to 0.
I: Instruction RAM direct mode. Resets to 1.
1: Instructions are written / read as soon as received; 0: Instructions
3
are written / read when the address counter rolls around to
matching address.
2:0 Reserved. Set to zero.
7
V1000
MAC mnemonic
READ INSTRUCTIONS
RZP Read, Acc = Zero + Product
RAP Read, Acc = Acc + Product
RBP Read, Acc = B Register + Product
RCP Read, Acc = C Register + Product
RZPB Read, Acc = Zero + Product, Load B register
RAPB Read, Acc = Acc + Product, Load B register
RBPB Read, Acc = B Register + Product, Load B register
RCPB Read, Acc = C Register + Product, Load B register
RZPC Read, Acc = Zero + Product, Load C register
RAPC Read, Acc = Acc + Product, Load C register
RBPC Read, Acc = B Register + Product, Load C register
RCPC Read, Acc = C Register + Product, Load C register
RZPBC Read, Acc = Zero + Product, Load B and C registers
RAPBC Read, Acc = Acc + Product, Load B and C registers
RBPBC Read, Acc = B Register + Product, Load B and C registers
RCPBC Read, Acc = C Register + Product, Load B and C registers
WRITE INSTRUCTIONS
WZP Write, Acc = Zero + Product
WAP Write, Acc = Acc + Product
WBP Write, Acc = B Register + Product
WCP Write, Acc = C Register + Product
WZPB Write, Acc = Zero + Product, Load B register
WAPB Write, Acc = Acc + Product, Load B register
WBPB Write, Acc = B Register + Product, Load B register
WCPB Write, Acc = C Register + Product, Load B register
WZPC Write, Acc = Zero + Product, Load C register
WAPC Write, Acc = Acc + Product, Load C register
WBPC Write, Acc = B Register + Product, Load C register
WCPC Write, Acc = C Register + Product, Load C register
WZPBC Write, Acc = Zero + Product, Load B and C registers
WAPBC Write, Acc = Acc + Product, Load B and C registers
WBPBC Write, Acc = B Register + Product, Load B and C registers
WCPBC Write, Acc = C Register + Product, Load B and C registers
8
V1000
CHORUS mnemonic
CHRn [MAC mnemonic] [label] [chorus controls] [optional statements]
The first three statements are required in the order given. The chorus controls and optional statements may then
follow in any order, although for readability the above convention should be followed.
Notes:
1. As long as data is being send during a write, the address will be automatically
incremented. Therefore only a start address need be sent.
2. The phase of the clock is unimportant.
Clock
Write
Data A7 A6 A5 A4 A3 A2 A1 A0 DN DN-1 DN-2 D2 D1 D0
Attn Attn
Sel Write Desel
Note:
Write
Data A7 A6 A5 A4 A3 A2 A1 A0 DN DN-1 DN-2 D2 D1 D0
V1000
Attn Attn
Sel Write Desel
Note:
Dimension “A” does not include mold
flash, proportions or gate burrs.
An An + 1 An + 2
Bit Clk
DigOut 19 18 17 2 1 0 19 18 17 2 1 0
DigIn DigOut
Dimensions (Typical)
Inches Millimeters
A .406" 10.31
B .295" 7.49
C .407" 10.34
16 9
D .100" 2.50
E .008" 0.20
C B F .025" 0.64
G .050" 1.27
1 8
H .017" 0.42
J .011" 0.27
K .340" 8.66
L .033" 0.83
A
Note:
Dimension “A” does not include mold
7° nom flash, proportions or gate burrs.
10
K
50ns min 0ns min 28ns max
DigIn DigOut
V1000
16. Mechanical Specification
Dimensions (Typical)
Inches Millimeters
A .406" 10.31
B .295" 7.49
C .407" 10.34
16 9
D .100" 2.50
E .008" 0.20
C B F .025" 0.64
G .050" 1.27
1 8
H .017" 0.42
J .011" 0.27
K .340" 8.66
L .033" 0.83
A
Note:
Dimension “A” does not include mold
7° nom flash, proportions or gate burrs.
4° nom
E H
G
J L
F
11
V1000
17. Schematic Diagrams
12
V1000
13