李雪梅 2014.03.21

18
学学学学 Low-area high-throughput Reed- Solomon decoder 学学学 2014.03.21

Upload: lars

Post on 20-Jan-2016

104 views

Category:

Documents


0 download

DESCRIPTION

学术报告. Low-area high-throughput Reed-Solomon decoder. 李雪梅 2014.03.21. 内容介绍. Part 1: 减少常数乘法器中异或门个数 Part 2 : 模块复用. Part 1: 减少常数乘法器中异或门个数. module mult_10(pro,a); output [4:0]pro; input [4:0]a; assign pro[4]= a[0]^a[3]^a[4]; assign pro[3]= a[2]^a[3]^a[4]; - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 李雪梅 2014.03.21

学术报告

Low-area high-throughput Reed-Solomon decoder

李雪梅2014.03.21

Page 2: 李雪梅 2014.03.21

内容介绍

Part 1: 减少常数乘法器中异或门个数

Part 2 :模块复用

Page 3: 李雪梅 2014.03.21

Part 1: 减少常数乘法器中异或门个数

module mult_10(pro,a);

output [4:0]pro; input [4:0]a; assign pro[4]= a[0]^a[3]^a[4]; assign pro[3]= a[2]^a[3]^a[4]; assign pro[2]= a[1]^a[2]^a[3]^a[4]; assign pro[1]= a[1]^a[2]; assign pro[0]= a[0]^a[1] ^a[4]; endmodule

module mult_10(pro,a);

output [4:0]pro; input [4:0]a;

wire temp= a[3]^a[4]; assign pro[4]= a[0]^temp; assign pro[3]= a[2]^temp; assign pro[2]= a[1]^a[2]^temp; assign pro[1]= a[1]^a[2]; assign pro[0]= a[0]^a[1] ^a[4]; endmodule

10 个 XOR 8 个 XOR

Page 4: 李雪梅 2014.03.21

Part 1: 减少常数乘法器中异或门个数搜寻公共项或匹配对或共享子式 (common subexpression, CSE)的算法

Four steps:

Step1:For any column i and j in matrix, find all possible pairs with bit-wise matches

great than 1

Step 2:Choose the pair with the maximum bit-wise matches; If there are multiple

such pairs, it is sufficient to randomly select one pair

Step 3:Eliminate the redundancy from the best match; append an additional column

at the right of the matrix to hold the redundancy; append an additional row to the

bottom of the matrix to represent the selected CSE

Step 4:Repeat steps 1-3 for all the columns in the matrix including the appended

rows and columns until no subexpression appearing more than once

Page 5: 李雪梅 2014.03.21

Part 1: 减少常数乘法器中异或门个数举例:

0 0

1 1

2 2

3 3

b a1 1 1 1

b a1 0 0 0

b a1 1 0 0

b a1 1 1 0

B

0 0 1 2 3

1 1

2 0 1

3 0 1 2

b a a a a

b a

b a a

b a a a

0

1

2

3

1

1

1

1

a1 1

a1 0 0 0 0

a0 0

a1 0

0 01

0 0

0 0

0 0

01 v

0 2 1

1 0

2 1

1

2

1

3 1

0

b a

b a

b

b

a a

a

v

v

v

v

0

1

2

3

1

2

a0 0 1

a1 0 0 0 0 0

a0 0 0 0 1 0

a0 0 0

1 1 0 0 0

1

0

0 0 0 0

0

1

0

1

0

10

v

v

0 3 2

1 0

2 1

3

1 0 1

2

2

2 1

a a

b a

a

b

b

a

b

v

v

v

v

v

v

6 个 XOR

3 个 XOR

Page 6: 李雪梅 2014.03.21

Part 1: 减少常数乘法器中异或门个数

并行钱搜索电路或多项式选择电路

1D optimization

0 0 0 0 1

1 0 0 0 0

0 1 0 0 1

0 0 1 0 0

0 0 0 1 0

0 0 0 1 0

0 0 0 0 1

1 0 0 1 0

0 1 0 0 1

0 0 1 0 0

0 0 1 0 0

0 0 0 1 0

0 0 1 0 1

1 0 0 1 0

0 1 0 0 1

1 1 1

0 0 0 0 1

1 0 0 0 0

= 0 1 0 0 1

0 0 1 0 0

0 0 0 1 0

2 1 1

0 0 0 1 0

0 0 0 0 1

= 1 0 0 1 0

0 1 0 0 1

0 0 1 0 0

3 1 1

0 0 1 0 0

0 0 0 1 0

= 0 0 1 0 1

1 0 0 1 0

0 1 0 0 1

Page 7: 李雪梅 2014.03.21

Part 1: 减少常数乘法器中异或门个数1D optimization

结果与分析 总和original 25 47 50 122

1D 6 13 18 37

1 2 3

总和original 36 64 80 80 260

1D 8 18 25 32 83

总和

original 375 413 388 346 367 384 380 384 3037

1D 50 83 96 105 121 122 134 131 842

1 2 3

1 2 3 4 5 6 7 8

4

6度并行的 (31,25) 码(t=3)

8度并行的 (63,55) 码 (t=4)

16度并行的 (255,239) 码 (t=8)

只能优化常数乘法器,不能优化加法器

Page 8: 李雪梅 2014.03.21

Part 1: 减少常数乘法器中异或门个数2D optimization

u 111 12 1 1

u 221 22 2 2

u1 2

( )

( )( )

( )

pt

pt

p pp p pt t

A A AYA A AY

Y u

A A AY

,1 i p

1

2u1 2

1

( )t

p iij j i i it

j

t

Y A A A A

Page 9: 李雪梅 2014.03.21

Part 1: 减少常数乘法器中异或门个数

CSE算法的改进

0 0 0 1 0

0 1 0 0 0 1 1 1

0 1 0 0 1

1 0 0 0 0

1 1 1 0 0 0 1 0

0 1 1 1 0 0 0 1

0 0 1 0 0 0

0 0 0 0 0

1

1 1

1 1

1

1 1

1 1

1

1

1

1

多对匹配对均含有最大匹配数时,不采用随机挑选,选择重复性最小的那一对

Page 10: 李雪梅 2014.03.21

(63,55)

mult adder 总计original 260 144 404

1D 82 144 226

2D 200 0 200

(255,239)

mult adder 总计original 3037 896 3933

1D 839 896 1735

2D 1439 0 1439

(31,25)

mult adder 总计original 122 60 182

1D 37 60 97

2D 85 0 85

original random repetitive

(31,25) 182 91 85

(63,55) 404 202 199

(255,239) 3933 1467 1439

采用 repetitive方法的 1D 和 2D结果(均采用 2t度并行)

不同方法的 2D优化结果(均采用 2t度并行)

Page 11: 李雪梅 2014.03.21

Part 1: 减少常数乘法器中异或门个数

1D,2D优化结论:

由于搜索面积比 1D大,所以比 1D 效果好。 2D

不仅可以减少乘法器中异或门个数,并且可以移除加法

器。

无论是 1D还是 2D优化,搜索面积越大效果越好。

相同码长,并行度越高,纠错能力越大,效果越好

Page 12: 李雪梅 2014.03.21

Part 2: 模块复用

对 syndrome 、 PS、 CSFA 进行模块复用,整个架构采用串行方式实现

Page 13: 李雪梅 2014.03.21

Part 2: 模块复用

Page 14: 李雪梅 2014.03.21

Part 2: 模块复用

并行 syndrome结构

Page 15: 李雪梅 2014.03.21
Page 16: 李雪梅 2014.03.21

Part 2: 模块复用存在的问题 :( 1 ) CSFA都采用模块复用结构 , 需 2t个周期用于钱搜索,还需 2t个周期用于 Forney计算,共需 4t个周期求 CSFA( 2)钱搜索结束之后,需要用 ram把钱搜索的结果存储起来,到求 Forney时再把数取出来( 3)采用并行结构,每求一个 error都需要一个 inversion,共需 p 个inversion,占据较大面积

解决思路:思路 1:只把 syndrome 和 PS进行模块复用, CSFA采用原始结构,需 n个周期,避免 ram 或 inversion带来面积的增加思路 2:把 syndrome, PS, Chien Search进行模块复用,采用单独的结构求 ,就只需一个 inversion,而不需要 p个。但还是需要 ram 把 对应的 和 存起来, Chien Search结束之后再求 error值。

( ) 0x ( )odd xx

( )x

Page 17: 李雪梅 2014.03.21
Page 18: 李雪梅 2014.03.21

Part 2: 模块复用存在的问题 :( 1 ) CSFA 都采用模块复用结构 , 需 2t 个周期用于钱搜索,还需 2t 个周期用于 Forney 计算,共需 4t 个周期求 CSFA( 2 )钱搜索结束之后,需要用 ram 把钱搜索的结果存储起来,到求 Forney的时候再把数取出来,而 ram 占较大面积。( 3 )采用并行结构,每求一个 error 都需要一个 inversion ,共需 p 个inversion, 占据较大面积

解决思路:思路 1 :只把 syndrome 和 PS 进行模块复用, CSFA 采用原始结构,追求面积的减小思路 2 :把 syndrome, PS, Chien Search进行模块复用,采用单独的结构求 , ,就只需一个 inversion,而不需要 p个。但还是需要 ram 把 对应的 和 存起来, Chien Search结束之后再求 error值。

( ) 0x ( )odd xx

( )x