[Verilog] MP3에 들어가는 IMDCT를 수행하는 코드
본 자료는 5페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
해당 자료는 5페이지 까지만 미리보기를 제공합니다.
5페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

[Verilog] MP3에 들어가는 IMDCT를 수행하는 코드에 대한 보고서 자료입니다.

목차

I. IMDCT Algorism
1. IMDCT란?
2. IMDCT의 Algorism 분석
II. Verilog Code
1. IMDCT, ALU, ROM, RAM, Testbanch Code 및 분석
2. 입출력 데이터 분석
3. 각 MODULE간 연결구조

III. Waveform 분석

IV. Timing Chart 분석
1. Timging Chart
2. 분석표

V. IMDCT의 최종 Xi값

VI. Project를 마치며...

본문내용

0
X
X
18 (700ns)
0
17
0
17
0110010110001100
1001101001110100
1010000110100001
1011001000010101
X
X
19 (740ns)
1
0
0
18
1001101001110100
0110010110001100
0100110111101011
1010000110100001
1001001011011001
X
20 (780ns)
0
1
1
19
0111000110001001
1001101001110100
1000100110111111
0100110111101011
1001001011011001
1001001011011001











37 (1460ns)
1
0
1
36
1001101001110100
0110010110001100
0100010011000110
0110010110001100
0111110001101100
1001001011011001
38 (1500ns)
0
1
2
37
0111000110001001
1001101001110100
1000000100011001
0100010011000110
0111110001101100
0111110001101100
39 (1540ns)
0
2
2
38
1011101100111010
0111000110001001
0010011001111101
1000000100011001
0111110001101100
0111110001101100











V. IMDCT의 최종 Xi값
Xi
Binary Value
Real Value
X0
1001001011011001
-0.852753
X1
0111110001101100
0.972046
X2
0000001001101111
0.019012
X3
0010111000111010
0.361145
X4
1011001110101010
-0.596375
X5
0110110111101100
0.858765
X6
0111110110111000
0.982178
X7
1011001111000011
-0.595612
X8
0001100001110111
0.191132
X9
1110011110001000
-0.191162
X10
0100110000111100
0.595581
X11
1000001001000111
-0.982208
X12
1001001000010011
-0.858795
X13
0100110001010101
0.596344
X14
1101000111000101
-0.361176
X15
1111110110010000
-0.019043
X16
1000001110010011
-0.972076
X17
0110110100100110
0.852722
X18
0101011010001101
0.676178
X19
0010111110011111
0.372040
X20
0000011100100001
0.055695
X21
1110011011000001
-0.197235
X22
0000100011001101
0.068756
X23
0011011001000101
0.423981
X24
1111110100100101
-0.022308
X25
0010000001110111
0.253632
X26
0001001010110110
0.146179
X27
0001001010110110
0.146179
X28
0010000001110111
0.253632
X29
1111110100100101
-0.022308
X30
0011011001000101
0.423981
X31
0000100011001101
0.068756
X32
1110011011000001
-0.197235
X33
0000011100100001
0.055695
X34
0010111110011111
0.372040
X35
0101011010001101
0.676178
VI. Project를 마치며...
이번 프로젝트는 MPEG Audio LayerⅢ의 알고리즘의 복호화의 한 과정인 IMDCT의 설계를 Verilog를 이용하여 구현해 보는 것이었다. 일단 Cosine의 값을 정규화 시키는 알고리즘 구현을 이해하는 것이 생각보다 쉽지 않았다. 그리고 Main 알고리즘인 IMDCT를 기준으로 Rom과 Ram 그리고 ALU가 서로 상호작용을 하여 입력데이터 값에 대한 출력 데이터 값을 얻는 과정으로 설계되었다. IMDCT의 Code를 보면 알 수 있듯이 각 과정은 변수에 대한 Cosine 값들의 합으로 이루어져 있었다. 한 가지 의문점은 18비트의 입력이 곱해져서 36비트의 Register에 저장이 되는데 이 때 이 값이 18개가 모여 1개의 출력을 발생시키는데 Overflow가 발생하는 지의 여부이다. 즉, 36비트가 18번이 더해지게 되면 출력 값은 약 54비트가 되어야 Carry값을 다 저장할 수 있다는 것이다. 하지만 여기서 18비트의 입력 값은 전부 소수점 이하의 값이기 때문에 이 같은 문제가 발생할 가능성이 적겠지만, 발생할 가능성은 충분히 있다. 예를 들어 Xk와 cosine 값이 둘 다 음수일 경우 값은 양수가 되므로 이 값들이 계속하여 더해진다고 한다면 그 값은 Carry가 발생하여 정수부에 영향을 미칠 것이다.
ALU를 구현하는 과정에서 소수점 이하의 연산에서 나온 36비트의 결과 값을 18비트로 만드는 과정에서 적절히 중요한 비트 부분만 잘라서 만들어야 하는데 이 부분에서 조원들과 상의한 결과 MSB를 포함하여 그 바로 밑의 비트들을 잘라야 더 높은 근사치 값을 얻을 수 있다는 것을 알았다. 예를 들면 소수점 첫째 자리와 소수점 18번째 자리의 값에 대한 기여도는 엄청난 차이가 있기 때문이다. 그동안의 숙제들은 대부분이 개인별 제출이었기 때문에 생각하지 못했던 부분이 조원들과 상의를 해봄으로써 좀 더 많은 경우를 생각해 볼 수 있었다.
앞에서 말한 각 과정들은 Verilog Code를 이용하여 설계하였고 설계과정 중에서 오류도 많이 발생했고 여러 번의 수정을 거쳐 완성하게 되었다. MP3의 전체 알고리즘을 구현한 것은 아니지만 어느 한 부분을 설계해 봄으로써 MP3 전체의 구조를 공부하게 되었고 IMDCT라는 구조에 대해서는 더욱 자세히 알 수 있었던 계기가 되었던 것 같다.

키워드

IMDCT,   Verilog,   베릴로그,   MP3
  • 가격2,000
  • 페이지수15페이지
  • 등록일2010.09.10
  • 저작시기2010.4
  • 파일형식한글(hwp)
  • 자료번호#630106
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니