1-d dct 專題
DESCRIPTION
1-D DCT 專題. 分散式算術 (Distributed Arithmetic: DA) 1-D DCT Design. 1-D DCT 專題. 分散式算術 Distributed Arithmetic (DA). Often used for inner products , e.g. DCT. Multiple-In Multiple-Out (MIMO). Multiple-In Single-Out (MISO). Inner products c i are M-bit constants and x i are W-bit numbers. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/1.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
1-D DCT 專題
![Page 2: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/2.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
1-D DCT 專題
分散式算術 (Distributed Arithmetic: DA) 1-D DCT Design
![Page 3: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/3.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
分散式算術Distributed Arithmetic (DA)
![Page 4: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/4.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
• Often used for inner products, e.g. DCT
Multiple-In Multiple-Out (MIMO)
![Page 5: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/5.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
• Inner products
– ci are M-bit constants and xi are W-bit numbers
Multiple-In Single-Out (MISO)
![Page 6: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/6.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
![Page 7: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/7.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
N=3, W=3
![Page 8: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/8.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
![Page 9: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/9.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
![Page 10: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/10.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
Y
Multiple-In Single-Out (MISO)
![Page 11: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/11.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
Multiple-In Multiple-Out (MIMO)
Add
ress
de
code
r
yi(0)
yi(2)
yi(3)
Y(0)Y(2)Y(3)
+/- sh +/- sh +/- sh
![Page 12: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/12.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
2N word ROM
REG
0 0
+/-
Output
Input
10...00 A’ /S
shift-right
![Page 13: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/13.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
![Page 14: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/14.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
1-D DCT Design
![Page 15: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/15.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
Simplified 1-D DCT Algorithm
1,....,1,0,)()(1
0
NkCnykYN
n
nkN
Where {y(n), n = 0, 1, …., N-1} : input sequence
CNnk (i.e., ) : coefficients)
2cos(
N
nk
![Page 16: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/16.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
1-D DCT Algorithm & MAC Architecture
)3(
)2(
)1(
)0(
)3(
)2(
)1(
)0(
94
64
34
04
64
44
24
04
34
24
14
04
04
04
04
04
y
y
y
y
CCCC
CCCC
CCCC
CCCC
Y
Y
Y
Y
MAC
)(( ny )(kYD
Input data MAC processing stage Output buffer
Nclk
nkNC
![Page 17: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/17.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
1-D DCT Algorithm & MAC Architecture (cont.)
Y0m
+n-p
m m Y(k)
ACC
*
n/2
CNnk
y(n)
MAC
m-(n-p)
n[n-p-1]
n/2n/2
n/2
n/2
n/2
[n/2-1]
n-p[n/2-1]
• 乘法器及累加器位元數目之決定• 每經過一個 clock 完成一次 MAC運算
![Page 18: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/18.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
1-D DCT Algorithm & DA Architecture
)3(
)2(
)1(
)0(
)3(
)2(
)1(
)0(
94
64
34
04
64
44
24
04
34
24
14
04
04
04
04
04
y
y
y
y
CCCC
CCCC
CCCC
CCCC
Y
Y
Y
Y
PISO DA Unit
)(( ny )(kY
Input buffer
Output buffer
Input stage DA processing stage Output stage
![Page 19: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/19.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
1-D DCT ROM-based DA Architecture (cont.)
PISO DA Unit
)(( ny )(kY
Input buffer
Output buffer
Input stage DA processing stage Output stage
piso_load
Out_buf_load
Out_buf_clkpiso_DA_clkIn_buf_clk
![Page 20: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/20.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
ROM-based DA 1-D DCT Architecture (cont.)
?
PISO DA Unit
)(( ny )(kY
Input buffer
Output buffer
Input stage DA processing stage Output stage
piso_load
Out_buf_load
Out_buf_clk
clk
因為 DCT 點數與輸入資料位元數相同
![Page 21: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/21.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
Design for Control
s0 s1 s2 s300 00 00 00s4 s5 s6 s710 00 00
s8 s900 10
01reset
![Page 22: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/22.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
Input Buffer and Output Buffer
y(n)
D
D
D
Dy(0)
y(1)
y(2)
y(3)
Y(k)
D
D
D
DY(0)
Y(1)
Y(2)
Y(3)
Out_buf_load
• Input BufferWord-level SIPO
• Output BufferWord-level PISO
![Page 23: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/23.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
Word Parallel-In and Bit Serial-Out (PISO) for DA input
y(0)
y(2)
y(3)
yi(0)
yi(2)
yi(3)
piso_load
![Page 24: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/24.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
ROM-based DA Design for Inner Product
Add
ress
de
code
r
yi(0)
yi(2)
yi(3)
Y(0)Y(2)Y(3)
+/- sh +/- sh +/- sh
![Page 25: 1-D DCT 專題](https://reader035.vdocuments.site/reader035/viewer/2022081721/5681592d550346895dc658b2/html5/thumbnails/25.jpg)
H. C. Chen / NUU, Taiwan
Verilog HDL & Lab
參考資料
Stanley A. White, “Application of Distributed Arithmetic to Digital Signal Processing: A Tutorial Review,” IEEE ASSP Magazine, pp. 4-18, 1989.