KR100431104B1 - Interface circuit using a multi flag and an interface method of the same - Google Patents

Interface circuit using a multi flag and an interface method of the same Download PDF

Info

Publication number
KR100431104B1
KR100431104B1 KR10-2001-0078256A KR20010078256A KR100431104B1 KR 100431104 B1 KR100431104 B1 KR 100431104B1 KR 20010078256 A KR20010078256 A KR 20010078256A KR 100431104 B1 KR100431104 B1 KR 100431104B1
Authority
KR
South Korea
Prior art keywords
signal
unit
output
decoder
data
Prior art date
Application number
KR10-2001-0078256A
Other languages
Korean (ko)
Other versions
KR20030047553A (en
Inventor
정상수
Original Assignee
주식회사 하이닉스반도체
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 하이닉스반도체 filed Critical 주식회사 하이닉스반도체
Priority to KR10-2001-0078256A priority Critical patent/KR100431104B1/en
Publication of KR20030047553A publication Critical patent/KR20030047553A/en
Application granted granted Critical
Publication of KR100431104B1 publication Critical patent/KR100431104B1/en

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 발명은 멀티 플래그를 이용한 인터페이스 회로 및 그의 인터페이스 방법에 관한 것으로, 다수의 플래그에 따라 하나의 버퍼 메모리부를 소정 크기의 가상 메모리 영역으로 분할하고, 분할된 각각의 가상 메모리 영역을 상기 각 플래그에 할당하며, 상기 디코더의 서입 신호에 따라 각 가상 메모리 영역에 데이터를 서입하도록 하고, 상기 프로세싱부의 독출 신호에 따라 서입된 데이터를 독출하도록 제어하는 것을 특징으로 하는 멀티 플래그를 이용한 인터페이스 회로 및 그의 인터페이스 방법을 제시한다.The present invention relates to an interface circuit using a multi-flag and an interface method thereof, wherein a buffer memory unit is divided into virtual memory regions having a predetermined size according to a plurality of flags, and each divided virtual memory region is assigned to each flag. And write data into each virtual memory region according to the write signal of the decoder, and control to read data written according to the read signal of the processing unit. present.

Description

멀티 플래그를 이용한 인터페이스 회로 및 그의 인터페이스 방법{Interface circuit using a multi flag and an interface method of the same}Interface circuit using a multi flag and an interface method of the same}

본 발명은 멀티 플래그를 이용한 인터페이스 회로 및 그의 인터페이스 방법에 관한 것으로, 디지털 오디오 디코더(Digital audio decoder)를 구성하는 버퍼 메모리의 크기를 감소시킬 수 있는 멀티 플래그를 이용한 인터페이스 회로 및 그의 인터페이스 방법에 관한 것이다.The present invention relates to an interface circuit using multiple flags and an interface method thereof, and more particularly to an interface circuit using multiple flags and an interface method thereof capable of reducing the size of a buffer memory constituting a digital audio decoder. .

MPEG(Motion Pictures Expert Group)는 동영상, 멀티미디어 전문가 그룹으로 이 분야에 관한 전문가들이 ISO(국제 표준화 기구), IEC(국제 전기 표준회의)와 같은 국제 표준 기구의 산하에 모여 제정한 규격으로 비디오와 오디오 신호를 압축하여 전송하고 이를 다시 복원하는 것과 같은 기술적 기준을 제정하였다.The Motion Pictures Expert Group (MPEG) is a group of video and multimedia experts that have been developed by experts in this field under the umbrella of international standards bodies such as the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC). Technical criteria were established, such as compressing the signal, transmitting it, and restoring it again.

MPEG은 MPEG-1, MPEG-2가 현재 사용중이고 MPEG-4에 관한 규격이 제정중인데, 오디오의 경우에는 주로 MPEG-1을 사용하기 때문에 일반적으로 MPEG 규격이라고 통칭된다. MPEG 규격의 오디오 부분은 제 1 레이어(Layer-1), 제 2 레이어('Layer-2) 및 제 3 레이어(Layer-3)로 나누어 진다. 제 1 레이어는 필립스사에서 DDC(Digital Compact Cassette)를 위해 개발된 PASC 압축 알고리즘을 위해 사용되었으며, 제 2 레이어 및 제 3 레이어로 갈수록 보다 발전되어 더 큰 압축으로도 우수한 음질을 낼 수 있게 되었다.MPEG-1 and MPEG-2 are currently in use, and MPEG-4 is being enacted. In the case of audio, MPEG-1 is generally referred to as MPEG standard. The audio part of the MPEG standard is divided into a first layer (Layer-1), a second layer ('Layer-2) and a third layer (Layer-3). The first layer was used for the PASC compression algorithm developed by Philips for the Digital Compact Cassette (DDC), and further developed into the second and third layers to provide superior sound quality even with greater compression.

현재 가장 인기를 얻고 있는 MPEG-1 Audio Layer-3, 즉 디지탈 오디오 디코더(Digital Audio Decoder)는 독일의 프라운호러 연구소에서 디지탈 오디오 방송을 위해 개발한 방식으로서 음을 주파수 대역별로 나누어 이를 압축하는 방법을 사용하는데 인간의 청각에 의한 음의 인지 패턴을 교묘히 이용하는 방식으로 압축하는 방식이다.The most popular MPEG-1 Audio Layer-3, or Digital Audio Decoder, was developed by the Fraunhorer Institute in Germany for digital audio broadcasting. It is a method of compressing by using man's hearing sound recognition pattern artfully.

일반적으로, 음의 세기가 큰 음과 작은 음이 동시에 들릴 때는 작은 음은 큰 음의 소리에 묻혀서 잘 들리지 않게 된다. 이러한 청각적인 인식 효과를 마스킹 효과(Masking Effect)라고 하는데, 디지탈 오디오 디코더 방식에서는 우선 가청 주파수를 32부분으로 나누고 각 부분을 다시 18 부분으로 세분해 총 576개의 세부 부분으로 나눈다. 그런 다음, 각 부분마다 마스킹 효과를 적용시켜 각 576 부분마다 음이 주도적으로 큰 성분만을 남기고, 나머지 부분은 제거한 다음 각 부분을 다시 합성하는 방법으로 압축 작업을 진행한다. 기본적으로 DDC 및 MD(Mini Disk)에서 사용하는 압축 방법과 개념은 비슷하나 이를 더욱 많이 개량한 것이다.In general, when a loud note and a loud note are heard at the same time, the small note is buried in the sound of the loud note so that it is hard to hear. This auditory recognition effect is called a masking effect. In the digital audio decoder, the audio frequency is first divided into 32 parts, and each part is further divided into 18 parts and 576 detailed parts. Then, the masking effect is applied to each part, leaving only the loudest component in each of the 576 parts, removing the remaining parts, and then compositing each part. Basically, the compression method and concept used by DDC and Mini Disk (MD) are similar, but they are much improved.

도 1은 일반적인 디지탈 오디오 디코더의 구성을 설명하기 위해 도시한 블럭도이다.1 is a block diagram illustrating the configuration of a general digital audio decoder.

도 1을 참조하면, 디지탈 오디오 디코더는 압축된 오디오 데이터(Encoded Audio Data; EAD)를 입력하기 위한 입력 수단(100), 상기 입력 수단(100)으로부터 출력되는 출력신호를 디코딩하여 오디오 데이터(Decoded Audio Data; DAD)로 복원하기 위한 디코딩부(Decoding block; 200)와, 상기 디코딩부(200)로부터 출력되는 출력신호를 외부 출력부(400)로 출력하기 위한 출력 수단(300)으로 이루어진다.Referring to FIG. 1, the digital audio decoder includes an input means 100 for inputting compressed audio data (EAD), a decoded output signal output from the input means 100, and audio data (Decoded Audio). A decoding block (200) for restoring data (DAD) and an output unit (300) for outputting an output signal output from the decoding unit (200) to an external output unit (400).

입력 수단(100)은 압축된 오디오 데이터(EAD)가 저장되어 있는 메모리 소자(도시되지 않음)로부터 데이터(EAD)를 가져오기 위한 프리 프로세싱부(Pre processing block; 110)와, 상기 프리 프로세싱부(100)로부터 출력되는 출력신호의 전송을 제어하기 위한 입력 인터페이스부(Input interface; 120)와, 상기 입력 인터페이스부(120)의 제어신호에 따라 프리 프로세싱부(100)의 출력신호를 일시 저장하기 위한 입력 버퍼 메모리부(Input buffer; 130)로 이루어진다.The input means 100 includes a pre processing block 110 for importing data EAD from a memory element (not shown) in which the compressed audio data EAD is stored, and the preprocessing unit ( Input interface 120 for controlling the transmission of the output signal output from the 100, and for temporarily storing the output signal of the pre-processing unit 100 in accordance with the control signal of the input interface unit 120 An input buffer 130 is provided.

출력 수단(300)은 디코딩부(200)의 출력신호를 제어하기 위한 출력 인터페이스부(Output interface; 310)와, 상기 출력 인터페이스부(310)의 제어신호에 따라 디코딩부(200)의 출력신호를 일시 저장하기 위한 출력 버퍼 메모리부(Outputbuffer; 320)와, 출력 인터페이스부(310)의 제어신호에 따라 출력 버퍼 메모리부(320)에 저장된 데이터를 가져와 외부 출력부(400)로 전송하기 위한 포스트 프로세싱부(Post processing block; 330)로 이루어진다.The output unit 300 outputs an output signal of the decoding unit 200 according to an output interface 310 for controlling the output signal of the decoding unit 200 and a control signal of the output interface 310. Post-processing for taking the data stored in the output buffer memory unit 320 and the output buffer memory unit 320 for temporarily storing the data stored in the output buffer memory unit 320 according to the control signal of the output interface unit 310. And a post processing block 330.

외부 출력부(400)는 출력 수단(300)으로부터 출력되는 출력신호를 아날로그 변환하기 위한 D/A 변환기(Digital to Alalog converter; 410)와, 상기 D/A 변환기(410)의 출력신호를 소정 크기로 증폭하기 위한 증폭부(420)로 이루어진다. 아울러, 외부 출력부(400)의 출력신호는 스피커(500)를 통해 출력된다.The external output unit 400 converts the output signal from the output means 300 into a D / A converter 410 for analog-converting the output signal, and outputs the output signal of the D / A converter 410 to a predetermined size. It consists of an amplifier 420 for amplifying. In addition, the output signal of the external output unit 400 is output through the speaker 500.

도 2는 도 1에 도시된 출력 수단(300)의 상세 회로도로서, 제 1 및 제 2 버퍼 메모리(Buffer_A 및 Buffer_B)로 이루어진 출력 버퍼 메모리부(320)를 예를 들어 도시한 도면이다.FIG. 2 is a detailed circuit diagram of the output unit 300 shown in FIG. 1 and illustrates an example of an output buffer memory unit 320 including first and second buffer memories Buffer_A and Buffer_B.

도 2에 도시된 바와 같이, 출력 버퍼 메모리부(320)는 제 1 및 제 2 버퍼 메모리(Buffer_A 및 Buffer_B)로 이루어지며, 각 버퍼 메모리(Buffer_A 및 Buffer_B)는 1152 워드 싱글 포트 SRAM(1152 word single port SRAM)으로 구성된다. 출력 인터페이스부(310)는 제 1 및 제 2 플래그(Flag_A 및 Flag_B)로 이루어지는 플래그부(311)와, 디코딩부(200) 및 포스트 프로세싱부(330)와 출력 버퍼 메모리부(320) 사이의 액세스를 제어하기 위한 버스 아비터부(Bus arbiter block; 312)로 이루어진다.As shown in FIG. 2, the output buffer memory unit 320 includes first and second buffer memories Buffer_A and Buffer_B, and each buffer memory Buffer_A and Buffer_B has a 1152 word single port SRAM (1152 word single). port SRAM). The output interface 310 includes a flag 311 composed of the first and second flags Flag_A and Flag_B, and an access between the decoding unit 200, the post processing unit 330, and the output buffer memory unit 320. Bus arbiter block (312) for controlling the.

도 3에 도시된 바와 같이 상기 버스 아비터부(312)는 플래그부(310)로부터 출력되는 제 1 플래그신호(FS_A)에 따라 디코딩부(200)의 디코딩 어드레스신호(Dec_addr) 및 포스트 프로세싱부(330)의 포스트어드레스신호(Post_addr) 중 어느 하나의 신호를 선택하고, 선택된 신호에 대응하여 제 1 버퍼 메모리(Buffer_A)의 어드레스를 선택하기 위한 어드레스신호(A_addr)를 출력하는 제 1 멀티플렉서(10)와, 제 2 플래그신호(FS_B)에 따라 디코딩 어드레스신호(Dec_addr) 및 포스트 어드레스신호(Post_addr) 중 어느 하나의 신호를 선택하고, 선택된 신호에 대응하여 제 2 버퍼 메모리(Buffer_B)의 어드레스를 선택하기 위한 어드레스신호(B_addr)를 출력하는 제 2 멀티플렉서(20)로 이루어진다.As illustrated in FIG. 3, the bus arbiter 312 may include a decoding address signal Dec_addr and a post processing unit 330 of the decoding unit 200 according to the first flag signal FS_A output from the flag unit 310. A first multiplexer 10 that selects one of the post-address signals Post_addr and outputs an address signal A_addr for selecting an address of the first buffer memory Buffer_A in response to the selected signal; To select one of the decoding address signal Dec_addr and the post address signal Post_addr according to the second flag signal FS_B, and to select an address of the second buffer memory Buffer_B according to the selected signal. The second multiplexer 20 outputs an address signal B_addr.

또한, 상기 제 1 플래그신호(FS_A)에 따라 디코딩부(200)의 디코딩_서입신호(Dec_write)에 대응하는 제 1 버퍼 메모리(Buffer_A)의 서입신호(A_write)를 활성화시키거나, 포스트 프로세싱부(330)의 포스트 독출신호(Post_read)에 대응하는 제 1 버퍼 메모리(Buffer_A)의 독출신호(A_read)를 활성화시키기 위한 제 1 논리부(30)와, 상기 제 2 플래그신호(FS_B)에 따라 디코딩_서입신호(Dec_write)에 대응하는 제 2 버퍼 메모리(Buffer_B)의 서입신호(B_write)를 활성화시키거나, 포스트 독출신호(Post_read)에 대응하는 제 2 버퍼 메모리(Buffer_B)의 독출신호(B_read)를 활성화시키기 위한 제 2 논리부(40)로 이루어진다.In addition, the write signal A_write of the first buffer memory Buffer_A corresponding to the decoding_write signal Dec_write of the decoding unit 200 is activated according to the first flag signal FS_A, or the post processing unit ( According to the first logic unit 30 for activating the read signal A_read of the first buffer memory Buffer_A corresponding to the post read signal Post_read of 330 and the second flag signal FS_B. The write signal B_write of the second buffer memory Buffer_B corresponding to the decoding_write signal Dec_write is activated or the read signal of the second buffer memory Buffer_B corresponding to the post read signal Post_read ( And a second logic unit 40 for activating B_read).

또한, 상기 제 1 플래그신호(FS_A)에 따라 디코딩부(200)의 디코딩 데이터(Dec_data)를 제 1 버퍼 메모리(Buffer_A)에 저장하기 위해 입력 데이터신호(A_data_in)를 출력하고, 제 2 플래그신호(FS_B)에 따라 디코딩 데이터신호(Dec_data)를 제 2 버퍼 메모리(Buffer_B)에 저장하기 위해 입력 데이터신호(B_data_in)를 출력하기 위한 제 3 논리부(50)와, 상기 제 1플래그신호(FS_A)에 따라 제 1 버퍼(Buffer_A)에 저장된 데이터를 포스트 프로세싱부(330)로 전송하기 위해 출력 데이터신호(A_data_out)를 출력하고, 제 2 플래그신호(FS_B)에 따라 제 2 버퍼 메모리(Buffer_A)에 저장된 데이터를 포스트 프로세싱부(330)로 전송하기 위해 출력 데이터신호(B_data_out)를 출력하기 위한 제 4 논리부(60)로 이루어진다. 여기서, 제 3 및 제 4 논리부(50 및 60)는 3-스테이지 버퍼(3-Stage buffer)로 구성된다.In addition, the input data signal A_data_in is output to store the decoded data Dec_data of the decoding unit 200 in the first buffer memory Buffer_A according to the first flag signal FS_A, and the second flag signal According to FS_B, the third logic unit 50 for outputting the input data signal B_data_in to store the decoded data signal Dec_data in the second buffer memory Buffer_B, and to the first flag signal FS_A. Accordingly, the output data signal A_data_out is output to transmit the data stored in the first buffer Buffer_A to the post processing unit 330, and the data stored in the second buffer memory Buffer_A according to the second flag signal FS_B. The fourth logic unit 60 is configured to output the output data signal B_data_out to transmit the data to the post processing unit 330. Here, the third and fourth logic units 50 and 60 are configured as a three-stage buffer.

상기와 같이 구성된 버스 아비터부(312)의 동작을 예를 들어 설명하면 다음과 같다.Referring to the operation of the bus arbiter 312 configured as described above as an example.

만약, 제 1 플래그신호(FS_A)가 '0'이고, 제 2 플래그신호(FS_B)가 '1'일 경우, 제 1 멀티플렉서(10)는 디코딩 어드레스신호(Dec_addr)와 포스트 어드레스신호(Dec_addr) 중 디코딩 어드레스신호(Dec_addr)를 선택하여 출력하고, 제 2 멀티플렉서(20)는 포스트 어드레스신호(Dec_addr)를 선택하여 출력한다. 따라서, 제 1 멀티플렉서(10)를 통해 디코딩 어드레스신호(Dec_addr)에 대응하는 제 1 버퍼(Buffer_A)의 어드레스신호(A_addr)가 선택되고, 제 2 멀티플렉서(20)를 통해 포스트 어드레스신호(Post_addr)에 대응하는 제 2 버퍼 메모리(Buffer_B)의 어드레스신호(B_addr)가 선택된다.If the first flag signal FS_A is '0' and the second flag signal FS_B is '1', the first multiplexer 10 may perform a decoding address signal Dec_addr and a post address signal Dec_addr. The decoding address signal Dec_addr is selected and output, and the second multiplexer 20 selects and outputs the post address signal Dec_addr. Accordingly, the address signal A_addr of the first buffer Buffer_A corresponding to the decoding address signal Dec_addr is selected through the first multiplexer 10, and the address signal A_addr is selected through the second multiplexer 20 to the post address signal Post_addr. The address signal B_addr of the corresponding second buffer memory Buffer_B is selected.

제 1 논리부(30)는 디코딩 서입신호(Dec_write)와 포스트 독출신호(Post_read) 중 디코딩 서입신호(Dec_write)를 출력하고, 제 2 논리부(40)는 포스트 독출신호(Post_read)를 출력함으로써 제 1 버퍼 메모리(Buffer_A)의 서입신호(A_write)가 활성화되고, 제 2 버퍼 메모리(Buffer_B)의 독출신호(B_read)가활성화된다. 제 3 논리부(50)는 디코딩부(200)로부터 전송되는 디코딩 데이터신호(Dec_data)를 제 1 버퍼 메모리(Buffer_A)에 저장하기 위해 입력 데이터신호(A_data_in)를 출력한다. 제 4 논리부(60)는 제 2 버퍼 메모리(Buffer_B)에 저장된 데이터를 포스트 프로세싱부(330)로 전송하기 위해 출력 데이터신호(B_data_out)를 출력한다.The first logic unit 30 outputs the decoded write signal Dec_write among the decoded write signal Dec_write and the post read signal Post_read, and the second logic unit 40 outputs the post read signal Post_read. As a result, the write signal A_write of the first buffer memory Buffer_A is activated, and the read signal B_read of the second buffer memory Buffer_B is activated. The third logic unit 50 outputs the input data signal A_data_in to store the decoded data signal Dec_data transmitted from the decoding unit 200 in the first buffer memory Buffer_A. The fourth logic unit 60 outputs an output data signal B_data_out to transmit the data stored in the second buffer memory Buffer_B to the post processing unit 330.

그러나, 상기에서 설명한 바와 같이 디지탈 오디오 디코더는 비교적 간단한 방법으로 구현이 가능하지만 동일한 크기의 버퍼 메모리를 2개 사용한다는 점에서 개선의 여지가 있다. 즉, 디지탈 오디오 디코더는 2개의 대 용량의 싱글 포트 SRAM 메모리를 이용하여 출력 버퍼 메모리부를 구성함에 따라 전체 면적이 증가하는 원인이 되고 있다. 이를 해결하기 위해 2개의 싱글 포트 SRAM을 사용하는 대신 1개의 듀얼 포트 SRAM(Dual port SRAM)을 사용하여 출력 버퍼 메모리부를 구성할 수 있으나, 듀얼 포트 SRAM 메모리는 싱글 포트 SRAM 메모리에 비해 크기가 큰 단점이 있다.However, as described above, the digital audio decoder can be implemented in a relatively simple manner, but there is room for improvement in that two buffer memories of the same size are used. In other words, the digital audio decoder uses two large-capacity single-port SRAM memories to form an output buffer memory section, which causes the total area to increase. To solve this problem, instead of using two single port SRAMs, one dual port SRAM (Dual port SRAM) can be used to configure the output buffer memory, but the dual port SRAM memory has a larger size than the single port SRAM memory. There is this.

따라서, 본 발명은 상기 문제를 해결하기 위해 안출된 것으로, 디코딩부의 서입 동작과 포스트 프로세싱부의 독출 동작이 동시에 이루어질 경우, 독출 동작에 우선권을 주고 서입 동작은 1 사이클 지연시킴으로써 출력 버퍼 메모리부의 크기를 감소시킬 수 있는 멀티 플래그를 이용한 인터페이스 회로 및 그의 인터페이스 방법을 제공함에 목적이 있다.Accordingly, the present invention has been made to solve the above problem, and when the write operation of the decoding unit and the read operation of the post processing unit are simultaneously performed, the read operation is given priority and the write operation is delayed by one cycle, thereby reducing the size of the output buffer memory unit. An object of the present invention is to provide an interface circuit using a multi-flag and an interface method thereof.

또한, 본 발명은 출력 버퍼 메모리부를 구성하는 싱글 포트 SRAM을 다수의 플래그를 이용하여 가상적으로 세분화하고, 가상적으로 세분화된 가상 메모리를 각각의 플래그에 할당함으로써 출력 버퍼 메모리부를 구성하는 메모리 크기를 줄일 수 있는 멀티 플래그를 이용한 인터페이스 회로 및 그의 인터페이스 방법을 제공함에 또 다른 목적이 있다.According to the present invention, the single port SRAM constituting the output buffer memory unit is virtually subdivided using a plurality of flags, and the memory size constituting the output buffer memory unit can be reduced by allocating the virtual segmented virtual memory to each flag. Another object of the present invention is to provide an interface circuit using a multi-flag and an interface method thereof.

도 1은 일반적인 디지털 오디오 디코더의 구성을 설명하기 위해 도시한 블록도.1 is a block diagram showing the configuration of a general digital audio decoder.

도 2는 도 1에 도시된 출력 수단의 상세 회로도.FIG. 2 is a detailed circuit diagram of the output means shown in FIG.

도 3은 도 2에 도시된 버스 아비터부의 상세 회로도.3 is a detailed circuit diagram of a bus arbiter portion shown in FIG. 2;

도 4는 본 발명의 실시예에 따른 디지털 오디오 디코더의 구성을 설명하기 위해 도시한 블록도.4 is a block diagram illustrating a configuration of a digital audio decoder according to an embodiment of the present invention.

도 5는 도 4에 도시된 버스 아비터부의 상세 회로도.FIG. 5 is a detailed circuit diagram of the bus arbiter portion shown in FIG. 4. FIG.

도 6은 도 5에 도시된 제 1 논리부의 상세 회로도.FIG. 6 is a detailed circuit diagram of the first logic unit illustrated in FIG. 5. FIG.

도 7은 도 5에 도시된 제 2 및 제 3 논리부의 상세 회로도.FIG. 7 is a detailed circuit diagram of the second and third logic units shown in FIG. 5; FIG.

도 8은 도 4에 도시된 버스 아비터부의 동작 파형도.8 is an operation waveform diagram of the bus arbiter portion shown in FIG. 4;

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

100 : 입력 수단 110 : 프리 프로세싱부100: input means 110: preprocessing unit

120 : 입력 인터페이스부 130 : 입력 버퍼 메모리부120: input interface unit 130: input buffer memory unit

200, 600 : 디코딩부 300 : 출력 수단200, 600: decoding unit 300: output means

310 : 출력 인터페이스부 311 : 플래그부310: output interface unit 311: flag unit

312, 700 : 버스 아비터부 320, 900 : 출력 버퍼 메모리부312, 700: bus arbiter section 320, 900: output buffer memory section

330, 800 : 포스트 프로세싱부 400 : 외부 출력부330 and 800: Post processing unit 400: External output unit

410 : D/A 변환기 420 : 증폭부410: D / A converter 420: amplifier

500 : 스피커 711 및 712 : 제 1 및 제 2 비교기500: speakers 711 and 712: first and second comparators

713 및 714 : 제 1 및 제 2 어드레스 디코더부713 and 714: first and second address decoders

715 : 플래그 모듈부 716 : 제 1 논리부715: Flag module unit 716: First logic unit

721 내지 713 : 제 2 내지 제 4 논리부721 to 713: second to fourth logic unit

730 : 콘플리트 검출부730: complete detection unit

본 발명은 소정의 디코더로부터 출력되는 데이터를 버퍼 메모리부에 임시로 서입하도록 제어하고, 서입된 데이터를 프로세싱부로 하여금 독출하도록 제어하는 인터페이스 회로에 있어서, 하나의 버퍼 메모리부를 소정 크기의 가상 메모리 영역으로 분할하여 각각의 가상 메모리 영역이 할당되는 다수의 플래그로 이루어지는 플래그 모듈부; 상기 디코더의 출력신호에 따라 해당 가상 메모리 영역에 데이터를 서입하고, 상기 프로세싱부의 츨력신호에 따라 해당 가상 메모리 영역에 서입된 데이터를 독출하기 위한 데이터 서입 및 독출 수단; 상기 디코더의 서입 동작 상태에 따라 상기 플래그 모듈부의 해당 플래그를 셋하기 위한 셋 수단; 상기 프로세싱부의 독출 동작 상태에 따라 상기 플래그 모듈부의 해당 플래그를 리셋하기 위한 리셋 수단; 및 상기 플래그 모듈부의 출력신호를 논리 조합하여 상기 디코더의 서입 동작을 제어하기 위한 제 1 신호와 상기 프로세싱부의 독출 동작을 제어하기 위한 제 2 신호를 출력하는 제어 수단을 포함하여 이루어진다.The present invention provides an interface circuit that controls to temporarily write data output from a predetermined decoder into a buffer memory unit and controls the processing unit to read the written data, wherein one buffer memory unit is a virtual memory area having a predetermined size. A flag module unit comprising a plurality of flags which are divided and allocated to each virtual memory area; Data writing and reading means for writing data into a corresponding virtual memory area according to an output signal of the decoder and reading data written into the corresponding virtual memory area according to an output signal of the processing unit; Set means for setting a corresponding flag of the flag module unit according to the write operation state of the decoder; Reset means for resetting a corresponding flag of the flag module unit in accordance with a read operation state of the processing unit; And control means for logically combining the output signal of the flag module unit to output a first signal for controlling the write operation of the decoder and a second signal for controlling the read operation of the processing unit.

또한, 본 발명은 소정의 디코더로부터 출력되는 데이터를 버퍼 메모리부에임시로 서입하도록 제어하고, 서입된 데이터를 프로세싱부로 하여금 독출하도록 제어하는 인터페이스 방법에 있어서, 다수의 플래그에 따라 하나의 버퍼 메모리부를 소정 크기의 가상 메모리 영역으로 분할하고, 분할된 각각의 가상 메모리 영역을 상기 각 플래그에 할당하는 단계; 및 상기 디코더의 서입 신호에 따라 각 가상 메모리 영역에 데이터를 서입하도록 하고, 상기 프로세싱부의 독출 신호에 따라 서입된 데이터를 독출하도록 제어하는 단계를 포함하여 이루어진다.In addition, the present invention provides an interface method for controlling to temporarily write data output from a predetermined decoder to a buffer memory unit, and to control the processor to read the written data, wherein one buffer memory unit is set according to a plurality of flags. Dividing the virtual memory area into a predetermined size and allocating the divided virtual memory areas to the respective flags; And writing data into each virtual memory area according to the write signal of the decoder, and controlling to read the data written according to the read signal of the processing unit.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 4는 본 발명의 실시예에 따른 디지털 오디오 디코더의 블록도이다. 여기서, 도 4에 도시되지 않은 디지털 오디오 디코더의 다른 구성에 대한 설명은 종래 기술과 동일함으로 생략하기로 한다.4 is a block diagram of a digital audio decoder according to an embodiment of the present invention. Here, the description of other components of the digital audio decoder not shown in FIG. 4 is the same as in the prior art and will be omitted.

도 4를 참조하면, 디코딩부(600)는 압축된 오디오 데이터(EAD)를 입력받아 디코딩하고 버스 아비터부(700)로부터 버퍼 풀신호(Buffer_full)를 입력받은 후, 상기 버퍼 풀신호(Buffer_full)에 따라 디코딩된 디코딩 데이터(Dec_data)를 출력 버퍼 메모리부(900)의 소정 영역에 저장하기 위해 디코딩 어드레스신호(Dec_addr)와 디코딩 서입신호(Dec_write)를 버스 아비터부(700)로 출력한다.Referring to FIG. 4, the decoding unit 600 receives and decodes compressed audio data EAD, receives a buffer full signal Buffer_full from the bus arbiter 700, and then decodes the compressed audio data EAD to the buffer full signal Buffer_full. Accordingly, the decoding address signal Dec_addr and the decoding write signal Dec_write are output to the bus arbiter 700 so as to store the decoded decoded data Dec_data in a predetermined area of the output buffer memory unit 900.

포스트 프로세싱부(800)는 버스 아비터부(700)로부터 입력되는 버퍼 인에이블신호(Buffer_en)에 따라 출력 버퍼 메모리부(900)에 저장된 데이터에 대응하는포스트 데이터(Post_data)를 독출하기 위해 포스트 어드레스신호(Post_addr)와 포스트_독출신호(Post_read)를 버스 아비터부(700)로 출력한다.The post processing unit 800 reads the post address signal Post_data corresponding to the data stored in the output buffer memory unit 900 according to the buffer enable signal Buffer_en input from the bus arbiter unit 700. The post_addr and the post_read signal Post_read are output to the bus arbiter 700.

출력 버퍼 메모리부(900)는 1152 워드 싱글 포트 SRAM(1152 word single port SRAM)으로 구성되며, 버스 아비터부(700)의 제어신호(data_in/out, addr, write/read)에 따라 디코딩부(600)로부터 전송되는 디코딩 데이터(Dec_data)를 소정 영역에 저장하거나, 소정 영역에 저장된 데이터를 포스트 프로세싱부(800)로 하여금 독출하도록 한다. 또한, 출력 버퍼 메모리부(900)는 18개의 플래그(Flag)에 의해 각각 18개의 가상 메모리 영역(64워드)으로 분할됨에 따라 하나의 플래그는 하나의 가상 메모리 영역을 할당받게 된다.The output buffer memory unit 900 is composed of 1152 word single port SRAMs, and the decoding unit 600 according to the control signals (data_in / out, addr, write / read) of the bus arbiter 700. Decoded data (Dec_data) transmitted from the data is stored in a predetermined region or the post processing unit 800 reads the data stored in the predetermined region. In addition, as the output buffer memory unit 900 is divided into 18 virtual memory regions (64 words) by 18 flags (Flag), one flag is allocated with one virtual memory region.

버스 아비터부(700)는 디코딩부(600)와 출력 버퍼 메모리부(900) 간의 인터페이스와, 포스트 프로세싱부(800)와 출력 버퍼 메모리부(900) 간의 인터페이스를 제공하는데 그 구성은 도 5와 같다.The bus arbiter 700 provides an interface between the decoding unit 600 and the output buffer memory unit 900, and an interface between the post processing unit 800 and the output buffer memory unit 900. .

도 5를 참조하면, 버스 아비터부(700)는 출력 버퍼 메모리부 상태 검출부(710), 데이터 서입/독출 제어부(720) 및 콘플리트 검출부(Conflict detector; 730)로 이루어진다.Referring to FIG. 5, the bus arbiter 700 includes an output buffer memory unit state detector 710, a data write / read control unit 720, and a conflict detector 730.

출력 버퍼 메모리부 상태 검출부(710)는 디코딩부(600)로부터 출력되는 디코딩 어드레스신호(Dec_addr)중 하위 6비트가 63(즉, 111111)이 되는 것을 검출하기 위한 제 1 비교기(710)와, 상기 제 1 비교기(710)의 출력신호에 따라 디코딩 어드레스신호(Dec_addr) 중 상위 5비트를 디코딩하여 18개의 디코딩신호로 출력하기 위한 제 1 어드레스 디코더부(730)와, 포스트 프로세싱부(800)로부터 출력되는 포스트 어드레스신호(Post_addr) 중 하위 6비트가 63(즉, 111111)이 되는 것을 검출하기 위한 제 2 비교기(720)와, 상기 제 2 비교기(720)의 출력신호에 따라 포스트 어드레스신호(Post_addr)중 상위 5비트를 디코딩하여 18개의 디코딩신호로 출력하기 위한 제 2 어드레스 디코더부(740)와, 상기 제 1 및 제 2 어드레스 디코더부(730 및 740)의 출력신호를 검출하여 디코딩 어드레스신호(Dec_addr) 또는 포스트 어드레스신호(Post_addr)에 대응하는 플래그를 셋 또는 리셋하기 위한 플래그 모듈부(715)와, 플래그 모듈부(715)의 출력신호를 논리 조합하여 버퍼 인에이블신호(Buffer_en)와 버퍼 풀신호(Buffer_full)를 출력하기 위한 제 1 논리부(716)로 이루어진다.The output buffer memory state detector 710 may include a first comparator 710 for detecting that the lower 6 bits of the decoding address signal Dec_addr output from the decoder 600 become 63 (ie, 111111), and The first address decoder 730 and the post processor 800 for decoding the upper 5 bits of the decoding address signal Dec_addr according to the output signal of the first comparator 710 and outputting them as 18 decoded signals. The second comparator 720 for detecting that the lower six bits of the post address signal Post_addr become 63 (that is, 111111) and the post address signal Post_addr according to the output signal of the second comparator 720. A second address decoder 740 for decoding the upper five bits of the first bit and outputting the eighteen decoding signals, and output signals of the first and second address decoders 730 and 740 to detect the decoding address signal Dec_addr. ) In addition The buffer enable signal Buffer_en and the buffer full signal Buffer_full by logically combining the flag module unit 715 for setting or resetting a flag corresponding to the post address signal Post_addr and the output signal of the flag module unit 715. ) Is a first logic unit 716 for outputting.

플래그 모듈부(715)는 18비트, 즉 18개의 플래그로 구성되며 각각의 플래그에는 64워드 씩 출력 버퍼 메모리부(900)의 각 메모리 영역이 할당된다. 아울러, 제 1 논리부(716)는 도 6에 도시된 바와 같이 플래그 모듈부(715)의 출력신호(즉, 18개)를 논리합하여 버퍼 인에이블신호(Buffer_en)를 출력하기 위한 오아 게이트(OR gate; OR)와, 플래그 모듈부(715)의 출력신호를 논리곱하여 버퍼 풀신호(Buffer_full)를 출력하기 위한 엔드 게이트(AND gate; AND)로 이루어진다. 여기서, 버퍼 인에이블신호(Buffer_en)는 포스트 프로세싱부(800)로 입력되는 신호로서 출력 버퍼 메모리부(900)의 소정 메모리 영역으로부터 데이터를 독출할 수 있는 데이터가 저장되어 있는지를 알려주는 신호이다. 버퍼 풀신호(Buffer_full)는 디코딩부(600)로 입력되는 신호로서 출력 버퍼 메모리부(900)의 소정 메모리 영역으로 데이터를 서입할 수 있는지를 알려주는 신호이다.The flag module unit 715 is composed of 18 bits, that is, 18 flags, each of which is allocated a memory area of the output buffer memory unit 900 by 64 words. In addition, as illustrated in FIG. 6, the first logic unit 716 OR-gates OR for outputting the buffer enable signal Buffer_en by ORing the output signals (ie, 18) of the flag module unit 715. OR; and an end gate (AND gate) AND for outputting the buffer full signal Buffer_full by ANDing the output signal of the flag module unit 715. Here, the buffer enable signal Buffer_en is a signal input to the post processing unit 800 and indicates whether data for reading data from a predetermined memory region of the output buffer memory unit 900 is stored. The buffer full signal Buffer_full is a signal input to the decoding unit 600 to indicate whether data can be written to a predetermined memory area of the output buffer memory unit 900.

데이터 서입/독출 제어부(720)는 디코딩부(600)로부터 출력되는 디코딩 어드레스신호(Dec_addr), 디코딩 서입신호(Dec_write) 및 디코딩 데이터(Dec_data)를 1 사이클(Cycle) 씩 지연시키기 위한 제 2 논리부(721)와, 콘플리트 검출부(730)의 출력신호(CS)에 따라 제 2 논리부(721)의 출력신호를 출력하거나, 디코딩부(600)로부터 출력되는 디코딩 어드레스신호(Dec_addr), 디코딩 서입신호(Dec_write) 및 디코딩 데이터(Dec_data)를 출력하기 위한 제 3 논리부(722)와, 포스트 프로세싱부(800)의 포스트 독출신호(Post_read)에 따라 제 3 논리부(722)의 출력신호와 포스트 어드레스신호(Post_addr)중 어느 하나의 신호를 선택하여 출력하기 위한 제 4 논리부(722)로 이루어진다.The data write / read controller 720 may be configured to delay the decoding address signal Dec_addr, the decoding write signal Dec_write, and the decoding data Dec_data output by the decoding unit 600 by one cycle. 721 and the output signal of the second logic unit 721 according to the output signal CS of the conflict detection unit 730 or the decoding address signal Dec_addr and the decoding write output from the decoding unit 600. A third logic unit 722 for outputting the signal Dec_write and the decoded data Dec_data, and an output signal of the third logic unit 722 in accordance with the post read signal Post_read of the post processing unit 800; The fourth logic unit 722 is configured to select and output any one of the post address signals Post_addr.

도 7에 도시된 바와 같이, 제 2 논리부(721)는 디코딩 데이터(Dec_data)를 1 사이클 지연시키기 위한 제 1 디-플립플롭(D-FF1)과, 디코딩 서입신호(Dec_write)를 1 사이클 지연시키기 위한 제 2 디-플립플롭(D-FF2)과, 디코딩 어드레스신호(Dec_addr)를 1 사이클 지연시키기 위한 제 3 디-플립플롭(D-FF3)으로 이루어진다. 제 3 논리부(722)는 콘플리트 검출부(730)의 출력신호(CS)에 따라 디코딩 데이터(Dec_data)와 제 1 디-플립플롭(D-FF1)의 출력신호 중 어느 하나의 신호를 선택하여 출력하기 위한 제 1 멀티플렉서(MUX1)와, 콘플리트 검출부(730)의 출력신호(CS)에 따라 디코딩 서입신호(Dec_write)와 제 2 디-플립플롭(D-FF2)의 출력신호 중 어느 하나의 신호를 선택하여 출력하기 위한 제 2 멀티플렉서(MUX2)와, 콘플리트 검출부(730)의 출력신호(CS)에 따라 디코딩 어드레스신호(Dec_addr)와 제 3 디-플립플롭(D-FF3)의 출력신호 중 어느 하나의 신호를 선택하여 출력하기 위한제 3 멀티플렉서(MUX3)로 이루어진다. 제 4 논리부(723)는 포스트 독출신호(Post_read)에 따라 제 3 멀티플렉서(MUX3)의 출력신호와 포스트 어드레스신호(Post_addr) 중 어느 하나의 신호를 선택하여 출력한다.As illustrated in FIG. 7, the second logic unit 721 delays the first de-flip-flop D-FF1 for delaying the decoded data Dec_data by one cycle and the decoded write signal Dec_write by one cycle. A second de-flip flop D-FF2 for delaying the third de-flip flop D-FF3 for delaying the decoding address signal Dec_addr by one cycle. The third logic unit 722 selects one of the output signal of the decoded data Dec_data and the first de-flip flop D-FF1 according to the output signal CS of the conflict detector 730. Any one of the first multiplexer MUX1 for outputting and the output signal of the decoding write signal Dec_write and the second de-flip flop D-FF2 according to the output signal CS of the conflict detector 730. The output signal of the decoding address signal Dec_addr and the third de-flip flop D-FF3 according to the second multiplexer MUX2 for selecting and outputting the signal, and the output signal CS of the conflict detection unit 730. And a third multiplexer MUX3 for selecting and outputting any one of the signals. The fourth logic unit 723 selects and outputs one of an output signal of the third multiplexer MUX3 and a post address signal Post_addr according to the post read signal Post_read.

콘플리트 검출부(730)는 디코딩부(600)의 디코딩 서입신호(Dec_write)와 포스트 프로세싱부(800)의 포스트 독출신호(Post_read) 간의 충돌을 감지하여 우선순위를 정한다.The conflict detector 730 determines a priority by detecting a collision between the decoding write signal Dec_write of the decoder 600 and the post read signal Post_read of the post processor 800.

상기와 같이 구성된 버스 아비터부(700)의 동작을 도 8을 참조하여 설명하면 다음과 같다.The operation of the bus arbiter 700 configured as described above will be described with reference to FIG. 8 as follows.

도 8은 디코딩부(600)로부터 디코딩 서입신호(Dec_write)가 메인 클럭(Main clock; MC)의 6사이클 마다 한번씩 발생하고, 포스트 프로세싱부(800)로부터 포스트 독출신호(Post_read)가 메인 클럭(MC)의 14사이클 마다 한번씩 발생하는 경우를 예를 들어 도시한 파형도이다.8, the decoding write signal Dec_write is generated once every six cycles of the main clock MC from the decoding unit 600, and the post read signal Post_read is generated from the post processing unit 800. The waveform diagram shows the case where it occurs once every 14 cycles of MC).

우선, 포스트 프로세싱부(800)에 의한 데이터 독출(Data_out) 동작을 설명하기로 한다. 포스트 프로세싱부(800)로부터 출력되는 포스트 독출신호(Post_read)가 생성되어 포스트 어드레스신호(Post_addr)가 버스 아비터부(700)로 입력되면, 버스 아비터부(700)의 제 4 논리부(723)는 우선적으로 포스트 어드레스신호(Post_addr)를 선택하고, 포스트 어드레스신호(Post_addr)에 대응하는 어드레스신호(addr)를 출력한다(PA[0]). 이어서, 출력되는 어드레스신호(addr)에 해당하는 출력 버퍼 메모리부(900)의 데이터가 포스트 독출신호(Post_read)에 의해 독출(read)됨으로써데이터 독출(Data_out) 동작이 이루어진다(PAD[0]).First, a data read (Data_out) operation by the post processing unit 800 will be described. When the post read signal Post_read output from the post processing unit 800 is generated and the post address signal Post_addr is input to the bus arbiter 700, the fourth logic unit 723 of the bus arbiter 700 is provided. First selects the post address signal Post_addr, and outputs an address signal addr corresponding to the post address signal Post_addr (PA [0]). Subsequently, data of the output buffer memory unit 900 corresponding to the output address signal addr is read by the post read signal Post_read to perform a data read Data_out operation (PAD [0]). .

이후, 데이터 독출(Data_out) 동작이 완료되면 버스 아비터부(700)의 제 2 비교기(712)는 포스트 어드레스신호(Post_addr)를 입력받아 상기 포스트 어드레스신호(Post_addr)의 하위 비트를 비교한 후 소정 신호(즉, 독출 동작 완료신호)를 제 2 어드레스 디코더부(714)로 출력한다. 이어서, 제 2 어드레스 디코더부(714)는 제 2 비교기(712)의 출력신호를 디코딩하여 플래그 모듈부(715)의 해당 플래그를 '0'으로 리셋시키기 위한 디코딩신호를 출력한다. 플래그 모듈부(715)는 디코딩신호에 따라 해당 플래그를 '0'으로 리셋시키고 이를 디코딩부(600)와 포스트 프로세싱부(800)로 알려주기 위해 소정 출력신호를 제 1 논리부(716)로 출력한다. 제 1 논리부(716)는 플래그 모듈부(715)로부터 출력되는 출력신호를 논리 조합하여 버퍼 풀신호(Buffer_full) 또는 버퍼 인에이블신호(Buffer_en)를 활성화시킨다.Subsequently, when the data readout operation is completed, the second comparator 712 of the bus arbiter 700 receives the post address signal Post_addr, compares the lower bits of the post address signal Post_addr, and then selects a predetermined signal. (That is, a read operation completion signal) is output to the second address decoder 714. Subsequently, the second address decoder 714 decodes the output signal of the second comparator 712 and outputs a decoding signal for resetting the corresponding flag of the flag module 715 to '0'. The flag module 715 resets a corresponding flag to '0' according to the decoding signal and outputs a predetermined output signal to the first logic unit 716 in order to inform the decoding unit 600 and the post processing unit 800. do. The first logic unit 716 logically combines the output signals output from the flag module unit 715 to activate the buffer full signal Buffer_full or the buffer enable signal Buffer_en.

이어서, 디코딩부(600)에 의한 데이터 서입(Data_in) 동작을 설명하기로 한다. 디코딩부(600)로부터 출력되는 디코딩 서입신호(Dec_write), 디코딩 어드레스신호(Dec_addr) 및 디코딩 데이터(Dec_data)가 버스 아비터부(700)의 제 2 및 제 3 논리부(721 및 722)로 입력되면 상기 신호들(Dec_write, Dec_addr, Dec_data)은 제 2 논리부(721)에 의해 1사이클 동안 지연되거나, 제 3 논리부(722)를 통해 바이패스(Bybass)된다. 이어서, 콘플리트 검출부(730)의 출력신호(CS)가 활성화되지 않았을 경우, 디코딩 데이터(Dec_data)는 출력 메모리부(900) 중 디코딩 어드레스(Dec_addr)에 해당하는 소정 메모리 영역에 서입됨으로써 데이터 서입(Data_in) 동작이 이루어진다((DA[0]).Next, the data write (Data_in) operation by the decoding unit 600 will be described. When the decoding write signal Dec_write, the decoding address signal Dec_addr, and the decoding data Decc_data output from the decoding unit 600 are input to the second and third logic units 721 and 722 of the bus arbiter unit 700. The signals Dec_write, Dec_addr, and Dec_data are delayed for one cycle by the second logic unit 721 or bypassed by the third logic unit 722. Subsequently, when the output signal CS of the conflict detection unit 730 is not activated, the decoded data Dec_data is written in a predetermined memory area corresponding to the decoding address Dec_addr of the output memory unit 900 to write data ( Data_in) operation is made (DA [0]).

이후, 데이터 서입(Data_in) 동작이 완료되면 버스 아비터부(700)의 제 1 비교기(711)는 디코딩 어드레스신호(Dec_addr)를 입력받아 상기 디코딩 어드레스신호(Dec_addr)의 하위 비트를 비교한 후 소정 신호(즉, 서입동작 완료신호)를 제 1 어드레스 디코더부(713)로 출력한다. 이어서, 제 1 어드레스 디코더부(713)는 제 1 비교기(711)의 출력신호를 디코딩하여 플래그 모듈부(715)의 해당 플래그를 '1'로 셋시키기 위한 디코딩신호를 출력한다. 플래그 모듈부(715)는 디코딩신호에 따라 해당 플래그를 '1'로 셋시키고 이를 디코딩부(600)와 포스트 프로세싱부(800)로 알려주기 위해 소정 출력신호를 제 1 논리부(716)로 출력한다. 제 1 논리부(716)는 플래그 모듈부(715)로부터 출력되는 출력신호를 논리 조합하여 버퍼 풀신호(Buffer_full) 또는 버퍼 인에이블신호(Buffer_en)를 활성화시킨다.When the data write operation is completed, the first comparator 711 of the bus arbiter 700 receives the decoding address signal Dec_addr, compares the lower bits of the decoding address signal Dec_addr, and then selects a predetermined signal. (I.e., the write operation completion signal) is output to the first address decoder section 713. FIG. Subsequently, the first address decoder 713 decodes the output signal of the first comparator 711 and outputs a decoding signal for setting the corresponding flag of the flag module 715 to '1'. The flag module 715 sets a corresponding flag to '1' according to the decoding signal and outputs a predetermined output signal to the first logic unit 716 to inform the decoding unit 600 and the post processing unit 800. do. The first logic unit 716 logically combines the output signals output from the flag module unit 715 to activate the buffer full signal Buffer_full or the buffer enable signal Buffer_en.

이어서, 디코딩부(600)의 디코딩 서입신호(Dec_write)와 포스트 프로세싱부(Post_read)가 동시에 발생할 경우 버스 아비터부(700)의 동작에 대해 설명한다.Next, the operation of the bus arbiter 700 when the decoding write signal Dec_write and the post processing unit Post_read of the decoding unit 600 occur at the same time will be described.

도시된 '1'과 같이, 디코딩 서입신호(Dec_write)와 포스트 독출신호(Post_read)가 동시에 발생하면, 콘플리트 검출부(730)는 상기 신호들(Dec_write 및 Post_read)을 검출하여 제 3 논리부(722)로 콘플리트 신호(CS)를 출력한다. 이후, 제 3 논리부(722)는 제 2 논리부(21)에 의해 래치된 신호들(Dec_addr, Dec_data, Dec_write)을 제 4 논리부(723)로 출력하고, 제 4 논리부(723)는 포스트 어드레스신호(Post_addr)를 출력함으로써 독출(read) 동작이 서입(write) 동작에 우선하여 이루어진다. 따라서, 데이터 독출(Data_read)동작은일반적으로 이루어지는데 반해, 데이터 서입(Data_in) 동작은 디코딩 데이터(Dec_data)보다 1사이클 지연되어 이루어진다.As illustrated in FIG. 1, when the decoding write signal Dec_write and the post read signal Post_read occur at the same time, the conflict detection unit 730 detects the signals Dec_write and Post_read and generates a third logic unit ( A complete signal CS is output to the 722. Thereafter, the third logic unit 722 outputs the signals Dec_addr, Dec_data, and Dec_write latched by the second logic unit 21 to the fourth logic unit 723, and the fourth logic unit 723 By outputting the post address signal Post_addr, a read operation is performed in preference to a write operation. Accordingly, the data read operation is generally performed, whereas the data write operation is performed one cycle later than the decoded data Dec_data.

상기에서 설명한 바와 같이 본 발명은 독출 동작과 서입 동작 간의 속도 차에 의해 구현이 가능한데 이를 상세히 설명하면 다음과 같다.As described above, the present invention can be implemented by the speed difference between the read operation and the write operation.

일반적으로, 포스트 프로세싱부(800)에서 출력 버퍼 메모리부(900)로부터 데이터를 독출하는 시간은 오디오 샘플링(Audio sampling) 주파수에 의해 항상 일정하게 유지되고, 여기에 맞춰 디코딩부(600)에서는 디코딩이 이루어진다. 예를 들어, 44.1KHz로 샘플링(Sampling)된 음악은 모노(Mono)일 경우, 1초에 44,100개의 오디오 샘플이 필요하므로 주기가 22.676㎲가 된다. 즉, 포스트 프로세싱부(800)는 출력 버퍼 메모리부(900)로부터 22.6㎲당 한 개의 샘플을 독출해 가는데 반해, 디코딩부(600)의 동작 속도는 보통 수 십 MHz이므로 디코딩부(600)가 출력 버퍼 메모리부(900)에 데이터를 서입하는 경우 몇 십 내지 몇 백 ㎱ 만에 한번 독출동작이 행해진다.In general, the time at which the post processing unit 800 reads data from the output buffer memory unit 900 is always kept constant by an audio sampling frequency, and accordingly, the decoding unit 600 decodes the data. This is done. For example, a music sampled at 44.1 KHz would have a period of 22.676 milliseconds since mono would require 44,100 audio samples per second. That is, the post processing unit 800 reads one sample per 22.6 Hz from the output buffer memory unit 900, whereas the decoding unit 600 outputs the operating speed of the decoding unit 600 because it is usually several tens of MHz. When data is written to the buffer memory unit 900, a read operation is performed once in several tens to hundreds of microseconds.

따라서, 본 발명은 디코딩부(600)의 서입 동작과 포스트 프로세싱부(800)의 독출 동작이 동시에 이루어질 경우, 독출 동작에 우선권을 주고, 서입 동작은 1사이클 지연시키도록 버스 아비터부(700)를 구성함으로써 하나의 싱글 포트 SRAM을 이용하여 출력 버퍼 메모리부(900)를 구성하더라도 종래의 기술과 동일한 동작 특성을 구현할 수 있다. 또한, 본 발명은 출력 버퍼 메모리부(900)를 구성하는 싱글 포트 SRAM을 다수(Multi)의 플래그를 이용하여 가상적으로 세분화된 가상 메모리를각각의 플래그에 할당함으로써 출력 버퍼 메모리부(900)를 구성하는 메모리 크기를 줄일 수 있다.Accordingly, the present invention gives priority to the read operation when the write operation of the decoding unit 600 and the read operation of the post processing unit 800 are performed at the same time, and the bus arbiter unit 700 is delayed by one cycle. By configuring the output buffer memory unit 900 using one single port SRAM, the same operation characteristics as those of the related art can be realized. In addition, the present invention configures the output buffer memory unit 900 by assigning virtual flags that are virtually subdivided to each flag using a single port SRAM constituting the output buffer memory unit 900. Can reduce the memory size.

본 발명은 디코딩부의 서입 동작과 포스트 프로세싱부의 독출 동작이 동시에 이루어질 경우, 독출 동작에 우선권을 주고 서입 동작은 1 사이클 지연시킴으로써 출력 버퍼 메모리부의 크기를 감소시킬 수 있다.According to the present invention, when the write operation of the decoding unit and the read operation of the post processing unit are performed simultaneously, the read operation may be given priority and the write operation may be delayed by one cycle, thereby reducing the size of the output buffer memory unit.

또한, 본 발명은 출력 버퍼 메모리부를 구성하는 싱글 포트 SRAM을 다수의 플래그를 이용하여 가상적으로 세분화하고, 가상적으로 세분화된 가상 메모리를 각각의 플래그에 할당함으로써 출력 버퍼 메모리부를 구성하는 메모리 크기를 줄일 수 있다. 더 나아가, 출력 버퍼 메모리부의 감소로 인해 디코딩부의 서입 동작과 포스트 프로세싱부의 독출 동작의 액세스 시간을 단축시킬 수 있다.According to the present invention, the single port SRAM constituting the output buffer memory unit is virtually subdivided using a plurality of flags, and the memory size constituting the output buffer memory unit can be reduced by allocating the virtual segmented virtual memory to each flag. have. Furthermore, the reduction of the output buffer memory unit can shorten the access time of the write operation of the decoding unit and the read operation of the post processing unit.

Claims (12)

소정의 디코더로부터 출력되는 데이터를 버퍼 메모리부에 임시로 서입하도록 제어하고, 서입된 데이터를 프로세싱부로 하여금 독출하도록 제어하는 인터페이스 회로에 있어서,An interface circuit for controlling to temporarily write data output from a predetermined decoder into a buffer memory unit, and to control the processing unit to read the written data. 하나의 버퍼 메모리부를 소정 크기의 가상 메모리 영역으로 분할하여 각각의 가상 메모리 영역이 할당되는 다수의 플래그로 이루어지는 플래그 모듈부;A flag module unit comprising a plurality of flags to which each virtual memory area is allocated by dividing one buffer memory unit into a virtual memory area having a predetermined size; 상기 디코더의 출력신호에 따라 해당 가상 메모리 영역에 데이터를 서입하고, 상기 프로세싱부의 츨력신호에 따라 해당 가상 메모리 영역에 서입된 데이터를 독출하기 위한 데이터 서입 및 독출 수단;Data writing and reading means for writing data into a corresponding virtual memory area according to an output signal of the decoder and reading data written into the corresponding virtual memory area according to an output signal of the processing unit; 상기 디코더의 서입 동작 상태에 따라 상기 플래그 모듈부의 해당 플래그를 셋하기 위한 셋 수단;Set means for setting a corresponding flag of the flag module unit according to the write operation state of the decoder; 상기 프로세싱부의 독출 동작 상태에 따라 상기 플래그 모듈부의 해당 플래그를 리셋하기 위한 리셋 수단; 및Reset means for resetting a corresponding flag of the flag module unit in accordance with a read operation state of the processing unit; And 상기 플래그 모듈부의 출력신호를 논리 조합하여 상기 디코더의 서입 동작을 제어하기 위한 제 1 신호와 상기 프로세싱부의 독출 동작을 제어하기 위한 제 2 신호를 출력하는 제어 수단을 포함하여 이루어지는 것을 특징으로 하는 인터페이스 회로.And a control means for logically combining the output signal of the flag module unit to output a first signal for controlling the write operation of the decoder and a second signal for controlling the read operation of the processing unit. . 제 1 항에 있어서,The method of claim 1, 상기 데이터 서입 및 독출 수단은 상기 디코더로부터 출력되는 출력신호를 소정 사이클 동안 지연시키기 위한 제 1 논리부;The data writing and reading means includes: a first logic section for delaying an output signal output from the decoder for a predetermined cycle; 상기 디코더의 출력신호 중 서입 신호와 상기 프로세싱부의 출력신호 중 독출 신호를 검출하기 위한 콘플리트 검출부;A complete detector for detecting a write signal among the output signals of the decoder and a read signal among the output signals of the processing unit; 상기 콘플리트 검출부의 출력신호에 따라 상기 디코더의 출력신호와 상기 래치부의 출력신호 중 어느 하나의 신호를 선택하여 출력하는 제 2 논리부; 및A second logic unit which selects and outputs one of an output signal of the decoder and an output signal of the latch unit according to an output signal of the conflict detection unit; And 상기 프로세싱부의 독출신호에 따라 상기 제 2 논리부의 출력신호와 프로세싱부의 어드레스신호 중 어느 하나의 신호를 출력하는 제 3 논리부로 이루어지는 것을 특징으로 하는 인터페이스 회로.And a third logic unit configured to output one of an output signal of the second logic unit and an address signal of the processing unit according to the read signal of the processing unit. 제 2 항에 있어서,The method of claim 2, 상기 제 1 논리부는 상기 디코더의 출력신호 중 데이터신호를 소정 사이클 동안 지연시키기 위한 제 1 디-플립플롭;The first logic unit comprises: a first de-flip-flop for delaying a data signal of the output signal of the decoder for a predetermined cycle; 상기 디코더의 출력신호 중 서입 신호를 소정 사이클 동안 지연시키기 위한 제 2 디-플립플롭; 및A second de-flip-flop for delaying a write signal of the output signal of the decoder for a predetermined cycle; And 상기 디코더의 출력신호 중 어드레스신호를 소정 사이클 동안 지연시키기 위한 제 3 디-플립플롭으로 이루어지는 것을 특징으로 하는 인터페이스 회로.And a third de-flip-flop for delaying an address signal of the output signal of the decoder for a predetermined cycle. 제 2 항에 있어서,The method of claim 2, 상기 제 2 논리부는 상기 콘플리트 검출부의 출력신호에 따라 상기 디코더의 출력신호 중 데이터신호와 상기 제 1 디-플립플롭의 출력신호 중 어느 하나의 신호를 출력하기 위한 제 1 멀티플렉서;The second logic unit may include a first multiplexer configured to output one of a data signal among the output signals of the decoder and an output signal of the first de-flip flop according to the output signal of the conflict detector; 상기 콘플리트 검출부의 출력신호에 따라 상기 디코더의 출력신호 중 서입 신호와 상기 제 2 디-플립플롭의 출력신호 중 어느 하나의 신호를 출력하기 위한 제 2 멀티플렉서; 및A second multiplexer for outputting any one of a write signal among the output signals of the decoder and an output signal of the second de-flip flop according to the output signal of the conflict detector; And 상기 콘플리트 검출부의 출력신호에 따라 상기 디코더의 출력신호 중 어드레스신호와 상기 제 3 디-플립플롭의 출력신호 중 어느 하나의 신호를 출력하기 위한 제 3 멀티플렉서로 이루어지는 것을 특징으로 하는 인터페이스 회로.And a third multiplexer for outputting any one of an address signal and an output signal of the third de-flip flop among the output signals of the decoder according to the output signal of the conflict detector. 제 1 항에 있어서,The method of claim 1, 상기 셋 수단은 소정 비트를 입력받아 상기 디코더의 어드레스신호의 하위 비트와 비교하기 위한 비교기; 및The set means includes: a comparator for receiving a predetermined bit and comparing the lower bit of the address signal of the decoder; And 상기 비교기의 출력신호에 따라 상기 어드레스신호의 상위 비트를 디코딩하기 위한 디코더부로 이루어지는 것을 특징으로 하는 인터페이스 회로.And a decoder unit for decoding the upper bits of the address signal according to the output signal of the comparator. 제 1 항에 있어서,The method of claim 1, 상기 리셋 수단은 소정 비트를 입력받아 상기 프로세싱부의 어드레스신호의 하위 비트와 비교하기 위한 비교기; 및The reset means includes: a comparator for receiving a predetermined bit and comparing the lower bit of the address signal of the processing unit; And 상기 비교기의 출력신호에 따라 상기 어드레스신호의 상위 비트를 디코딩하기 위한 디코더부로 이루어지는 것을 특징으로 하는 인터페이스 회로.And a decoder unit for decoding the upper bits of the address signal according to the output signal of the comparator. 제 1 항에 있어서,The method of claim 1, 상기 제어 수단은 상기 플래그 모듈부의 출력신호를 논리합하여 상기 제 1 신호를 출력하기 위한 오아회로; 및The control means includes an OR circuit for outputting the first signal by ORing the output signal of the flag module unit; And 상기 플래그 모듈부의 출력신호를 논리곱하여 상기 제 1 신호를 출력하기 위한 앤트회로로 이루어지는 것을 특징으로 하는 인터페이스 회로.And an ant circuit for outputting the first signal by ANDing the output signal of the flag module unit. 소정의 디코더로부터 출력되는 데이터를 버퍼 메모리부에 임시로 서입하도록 제어하고, 서입된 데이터를 프로세싱부로 하여금 독출하도록 제어하는 인터페이스 방법에 있어서,An interface method for controlling to temporarily write data output from a predetermined decoder into a buffer memory unit, and to control the processing unit to read the written data. 다수의 플래그에 따라 하나의 버퍼 메모리부를 소정 크기의 가상 메모리 영역으로 분할하고, 분할된 각각의 가상 메모리 영역을 상기 각 플래그에 할당하는 단계; 및 상기 디코더의 서입 신호에 따라 각 가상 메모리 영역에 데이터를 서입하도록 하고, 상기 프로세싱부의 독출 신호에 따라 서입된 데이터를 독출하도록 제어하는 단계를 포함하여 이루어지는 것을 특징으로 하는 인터페이스 방법.Dividing one buffer memory unit into a virtual memory region having a predetermined size according to a plurality of flags, and assigning each of the divided virtual memory regions to the respective flags; And writing data into each virtual memory region according to the write signal of the decoder, and controlling to read the data written according to the read signal of the processing unit. 제 8 항에 있어서,The method of claim 8, 상기 버퍼 메모리부는 상기 플래그의 갯 수 만큼 가상 메모리 영역으로 분할되는 것을 특징으로 하는 인터페이스 방법.And the buffer memory unit is divided into virtual memory regions by the number of flags. 제 8 항에 있어서,The method of claim 8, 상기 디코더의 서입 신호에 따라 데이터가 서입되는 가상 메모리 영역은 상기 디코더의 어드레스신호에 따라 선택되는 것을 특징으로 하는 인터페이스 방법.And a virtual memory area in which data is written in accordance with the write signal of the decoder is selected according to the address signal of the decoder. 제 8 항에 있어서,The method of claim 8, 상기 프로세싱부의 독출 신호에 따라 데이터가 독출되는 가상 메모리 영역은 상기 프로세싱부의 어드레스신호에 따라 선택되는 것을 특징으로 하는 인터페이스 방법.And a virtual memory area in which data is read according to the read signal of the processor is selected according to the address signal of the processor. 제 8 항에 있어서,The method of claim 8, 상기 프로세싱부의 독출 신호는 상기 디코더의 서입 신호보다 우선시되는 것을 특징으로 하는 인터페이스 방법.And the read signal of the processing unit is given priority over the write signal of the decoder.
KR10-2001-0078256A 2001-12-11 2001-12-11 Interface circuit using a multi flag and an interface method of the same KR100431104B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0078256A KR100431104B1 (en) 2001-12-11 2001-12-11 Interface circuit using a multi flag and an interface method of the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0078256A KR100431104B1 (en) 2001-12-11 2001-12-11 Interface circuit using a multi flag and an interface method of the same

Publications (2)

Publication Number Publication Date
KR20030047553A KR20030047553A (en) 2003-06-18
KR100431104B1 true KR100431104B1 (en) 2004-05-12

Family

ID=29574291

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0078256A KR100431104B1 (en) 2001-12-11 2001-12-11 Interface circuit using a multi flag and an interface method of the same

Country Status (1)

Country Link
KR (1) KR100431104B1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950020179A (en) * 1993-12-02 1995-07-24 이희종 Interface device and method using priority
JPH09114774A (en) * 1995-10-20 1997-05-02 Kofu Nippon Denki Kk Memory controller
KR970056321A (en) * 1995-12-08 1997-07-31 양승택 Priority Control Unit in Limited Shared Memory Asynchronous Transfer Mode Switch
KR970059936A (en) * 1996-01-09 1997-08-12 김광호 How to use partitioning of memory regions
US5845331A (en) * 1994-09-28 1998-12-01 Massachusetts Institute Of Technology Memory system including guarded pointers
KR19990055450A (en) * 1997-12-27 1999-07-15 윤종용 Interface Units for Processors Using Dual-Port Memory
JP2000293990A (en) * 1992-06-26 2000-10-20 Kawasaki Steel Corp Encoding circuit

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293990A (en) * 1992-06-26 2000-10-20 Kawasaki Steel Corp Encoding circuit
KR950020179A (en) * 1993-12-02 1995-07-24 이희종 Interface device and method using priority
US5845331A (en) * 1994-09-28 1998-12-01 Massachusetts Institute Of Technology Memory system including guarded pointers
JPH09114774A (en) * 1995-10-20 1997-05-02 Kofu Nippon Denki Kk Memory controller
KR970056321A (en) * 1995-12-08 1997-07-31 양승택 Priority Control Unit in Limited Shared Memory Asynchronous Transfer Mode Switch
KR970059936A (en) * 1996-01-09 1997-08-12 김광호 How to use partitioning of memory regions
KR19990055450A (en) * 1997-12-27 1999-07-15 윤종용 Interface Units for Processors Using Dual-Port Memory

Also Published As

Publication number Publication date
KR20030047553A (en) 2003-06-18

Similar Documents

Publication Publication Date Title
US6728824B1 (en) Method and apparatus for controlling multi-channel bitstreams
US6370323B1 (en) Digital video disc decoder including command buffer and command status pointers
JP4675884B2 (en) Specific program detection apparatus and method, and program
US5987418A (en) Synchronous decoding of packetized audio for different reproduction modes
US8190582B2 (en) Multi-processor
US5572468A (en) Storage reading apparatus
KR100431104B1 (en) Interface circuit using a multi flag and an interface method of the same
KR100399412B1 (en) Semiconductor memory device comprising more than two internal banks of different sizes
US6230141B1 (en) Synchronization of a two-channel audio decoder with a multichannel audio decoder
US6466833B1 (en) Method and apparatus for efficient memory use in digital audio applications
US6092046A (en) Sound data decoder for efficient use of memory
JP2002156998A (en) Bit stream processing method for audio signal, recording medium where the same processing method is recorded, and processor
JP2003066994A (en) Apparatus and method for decoding data, program and storage medium
KR20000060285A (en) Digital audio decoder and decoding method thereof
JP2002312233A (en) Signal processing device
KR100333646B1 (en) Input buffer of MPEG audio layer3 decoder
KR0155527B1 (en) Pc interfacing method of multi-media board and its apparatus
US7233734B2 (en) Audio visual data recording/reproducing apparatus
US20030058560A1 (en) Apparatus and method for processing content information capable of time-divisionally carrying out recording and reproducing operations
JPH08292798A (en) Voice reproducing control method
KR100447190B1 (en) Apparatus for processing audio in DVC system
US20030128611A1 (en) Multiple mode elastic data transfer interface
KR100599086B1 (en) Multi device access system and Audio and video device with multi device accessing fungtion
KR100647446B1 (en) Data Stream Interleaving Circuits and Methods
JP4270930B2 (en) Video signal processing circuit

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee