ADPCM-HCO Voice Compression Logic Core

Similar documents
ADPCM-LCO Voice Compression Logic Core

inivme data sheet inivme

32 Channel HDLC Core V1.2. Applications. LogiCORE Facts. Features. General Description. X.25 Frame Relay B-channel and D-channel

DQ8051. Revolutionary Quad-Pipelined Ultra High performance 8051 Microcontroller Core

Single Channel HDLC Core V1.3. LogiCORE Facts. Features. General Description. Applications

Universal Asynchronous Receiver/Transmitter Core

AvnetCore: Datasheet

CoreHPDMACtrl v2.1. Handbook

Learning Outcomes. Input / Output. Introduction PICOBLAZE 10/18/2017

C O M P A N Y O V E R V I E W

Configurable UART with FIFO ver 2.20

Revolutionary Quad-Pipelined Ultra High Performance 16/32-bit Microcontroller v. 6.05

Spiral 3-1. Hardware/Software Interfacing

AvnetCore: Datasheet

Digital Blocks Semiconductor IP

SPI 3-Wire Master (VHDL)

Configurable UART ver 2.10

CZ80CPU 8-Bit Microprocessor Megafunction

Memory-Mapped SHA-1 Coprocessor

Intellectual Property Macrocell for. SpaceWire Interface. Compliant with AMBA-APB Bus

Note: Closed book no notes or other material allowed, no calculators or other electronic devices.

SD Card Controller IP Specification

VME64M VME64 MASTER CONTROLLER. Version 1.1

1 Contents. Version of EnSilica Ltd, All Rights Reserved

SMCSlite and DS-Link Macrocell Development

A Low Power DDR SDRAM Controller Design P.Anup, R.Ramana Reddy

I 2 C Master Control FSM. I 2 C Bus Control FSM. I 2 C Master Controller

Pipelined High Performance 8-bit Microcontroller ver 3.10

FPGA design with National Instuments

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS

R bit Microcontroller Megafunction

Choosing an Intellectual Property Core

Understanding the basic building blocks of a microcontroller device in general. Knows the terminologies like embedded and external memory devices,

ASIC Implementation and FPGA Validation of IMA ADPCM Encoder and Decoder Cores using Verilog HDL

CorePCI Target 33/66 MHz

8b/10b Encoder/Decoder

Documentation Design File Formats

D16750 IP Core. Configurable UART with FIFO v. 2.25

Virtex-5 GTP Aurora v2.8

FlexRay The Hardware View

8B10B Decoder User Guide

I 2 C Bus Interface - Slave ver 3.08

CorePCI Target+DMA Master 33/66MHz

C8051 Legacy-Speed 8-Bit Processor Core

SoC / ASIC / FPGA / IP

Design of Transport Triggered Architecture Processor for Discrete Cosine Transform

UART Register Set. UART Master Controller. Tx FSM. Rx FSM XMIT FIFO RCVR. i_rx_clk o_intr. o_out1 o_txrdy_n. o_out2 o_rxdy_n i_cs0 i_cs1 i_ads_n

Block Diagram. mast_sel. mast_inst. mast_data. mast_val mast_rdy. clk. slv_sel. slv_inst. slv_data. slv_val slv_rdy. rfifo_depth_log2.

Upper Level Protocols (ULP) Mapping. Common Services. Signaling Protocol. Transmission Protocol (Physical Coding) Physical Interface (PI)


Each I2C master has 8-deep transmit and receive FIFOs for efficient data handling. SPI to Dual I2C Masters. Registers

TOE10G-IP with CPU reference design

A VHDL 8254 Timer core

INTERFACING INTERFACING. Richa Upadhyay Prabhu. NMIMS s MPSTME February 25, 2016

ENGG3380: Computer Organization and Design Lab4: Buses and Peripheral Devices

To Interface The 8085 Microprocessor

Microprocessors and Microcontrollers (EE-231)

8254 is a programmable interval timer. Which is widely used in clock driven digital circuits. with out timer there will not be proper synchronization

UDP1G-IP reference design manual

TOE10G-IP Core. Core Facts

1 MALP ( ) Unit-1. (1) Draw and explain the internal architecture of 8085.

SP3Q.3. What makes it a good idea to put CRC computation and error-correcting code computation into custom hardware?

DQSPI IP Core. Serial Peripheral Interface Master/Slave with single, dual and quad SPI Bus support v. 2.01

Data Acquisition Using INS8048

Built-In Self-Test for Regular Structure Embedded Cores in System-on-Chip

Section III. Transport and Communication

Problem Set 10 Solutions

Topics. Interfacing chips

LogiCORE IP AXI DMA v6.01.a

V8-uRISC 8-bit RISC Microprocessor AllianceCORE Facts Core Specifics VAutomation, Inc. Supported Devices/Resources Remaining I/O CLBs

Design Guidelines for Optimal Results in High-Density FPGAs

World Class Verilog & SystemVerilog Training

MICROPROCESSOR AND MICROCONTROLLER BASED SYSTEMS

Pin Description, Status & Control Signals of 8085 Microprocessor

Relationship of 1000BASE-T1 to other standards

Z87010/Z87L10 2 AUDIO ENCODER/DECODERS

23. Digital Baseband Design

Core Facts. Documentation Design File Formats. Verification Instantiation Templates Reference Designs & Application Notes Additional Items

FPGAs: High Assurance through Model Based Design

General Purpose Programmable Peripheral Devices. Assistant Professor, EC Dept., Sankalchand Patel College of Engg.,Visnagar

: : (91-44) (Office) (91-44) (Residence)

Core Facts. Documentation Design File Formats. Verification Instantiation Templates Reference Designs & Application Notes Additional Items

Bibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997.

Digital Blocks Semiconductor IP

Learning Outcomes. Spiral 3 1. Digital Design Targets ASICS & FPGAS REVIEW. Hardware/Software Interfacing

Table 1: Example Implementation Statistics for Xilinx FPGAs

Registers Format. 4.1 I/O Port Address

Chapter 13 Direct Memory Access and DMA-Controlled I/O

Memories: a practical primer

Product Technical Brief S3C2413 Rev 2.2, Apr. 2006

TSEA44 - Design for FPGAs

Midterm Exam. Solutions

Digital Blocks Semiconductor IP

LogiCORE IP AXI Video Direct Memory Access v5.00.a

Figure 1 The encoding process for the µ law

Fibre Channel Arbitrated Loop v2.3

CHIP ON BOARD (COB) MODULE 1 WITH 8-BIT MCU KEYBOARD CONTROLLER

Additional Chip Select Allows Another Device to Be Accessed from the ISA Bus. Plug and Play Register Settings Stored in External Low Cost E 2 PROM.

1. Draw general diagram of computer showing different logical components (3)

Introducing SPI Xpress SPI protocol Master / Analyser on USB

Transcription:

ADPCM-HCO Voice Compression Logic Core Functional Description The ADPCM-HCO logic core [Adaptive Differential Pulse Code Modulation-High Channel count Optimized] is a peripheral for digital voice compression (16, 24 and 32Kbs rates) as defined in the ITU-T G.726 specification. A simple synchronous parallel interface provides (encode and decode) of 1 to 672 full-duplex voice channels, or (encode or decode) of 1 to 1344 half-duplex voice channels. The logic core supports single clock cycle encoding/decoding of a digital voice sample. The ADPCM-HCO is designed for easy implementation as an ASIC, FPGA or element in a SOC design. Core application block diagram (Figure 1) HOST INTERFACE LOGIC SD_out [7:0] Data Out S_in[7:0] Data In channel [10:0] CH # SEL Sync_in code [1:0] decode law reset_n algo_reset timer [2:0] clk I/O Interface Control Encode/Decode I/O COMMAND & CONTROL ENCODER Engine PCM to ADPCM ADPCM to PCM DECODER Engine COMPRESSION DECOMPRESSION STATE MACHINE "STATE" Data S T A T E R A M I n t e r f a c e 0_DI 0_DO 0_ADDR 0_Web 1_DI 1_DO 1thru5_ADDR 1_Web 2_DI 2_DO 1thru5_ADDR 2_Web 3_DI 3_DO 1thru5_ADDR 3_Web 4_DI 4_DO 1thru5_ADDR 4_Web 5_DI 5_DO 1thru5_ADDR 5_Web 0 1 2 3 4 5 Note: PSI does not supply the "IP" elements. See memory requirements. ADPCM General Information ADPCM digital voice encoding and decoding provides a telephone network toll quality voice stream. Encoding, via compression techniques, allows a reduction of the amount of bandwidth required to transport or store the digital voice samples. Decoding allows the samples to be de-compressed to result in voice, which sounds intelligible and quite normal to the listener. The rate of compression/encoding is relative to the amount of bandwidth saved and also is reflected in sound content of the voice stream. Details of the ADPCM algorithm can be found in the following specifications: ITU-T G.726. Page 1 of 8

ADPCM-HCO Core Interface Operation A synchronous parallel interface to the core provides separate data input and output ports. This interface serves as encode (PCM to ADPCM) and decode (ADPCM to PCM) interface for digital voice samples to/from the host system processor. Configuration of this interface is required prior to the setup of the valid data to be processed (Channel #, Code rate, Law type, encode or decode request signals). The configuration signal inputs to the core are specific to a given channel #. Use of the parallel data interface provides the user with dedicated encode and decode ports for voice processing functions (respectively compression and decompression of voice traffic). Note: Reference ITU-T G.711 specifications, for PCM Pulse Code Modulation information and descriptions. ADPCM-HCO Core Interface Definitions (Table 1) Signal Name Core Source Functional Description Control/Status Interface channel [10:0] Input Current channel address. 0 to maximum channel count. [10:0]= 1344 channel selects clk Input System input, clock fans out to all associated rams. code [2:0] Input Selects the standard type and coding rate of the ADPCM core channel. [0XX]= (Optional unsupported codes), [1XX]= G.726 codes. [X00]= 16Kbs, [X01]= 24Kbs, [X10]= 32Kbs, [X11]= reserved decode Input Channel-by-channel selection of encode or decode function. Logic low [0] = ADPCM Encode. Logic high [1] = ADPCM Decode. law [1:0] Input A-law µ-law select. Channel by channel selection of encoding law. [00]= Linear, [01]=µ-law. [10]= A-law w/o even bit inversion, [11]= A-law with even bit inversion. reset_n Input Core hardware Reset. Active low. timer [2:0] Output Synchronous core timer outputs, see timing diagrams. algo_reset Input ADPCM algorithm reset, as defined in the ITU G.726. Active high. enable Input Inputs valid strobe. Active high. High going edge indicates valid inputs on Enc_decb, Law, Chnl, Code and S [13:0] data Inputs. Input Data Interface S_in [13:0] Input Data byte in interface. Linear [14 bit], µ-law/a-law [8bit]. ADPCM for decode. PCM for encode. PCM data byte represented as [MSB... LSB]. Linear (sign and magnitude)=[13:0] µ-law/a-law =[13:6] ADPCM 32Kbs [13:10], ADPCM 24Kbs [13:11], ADPCM 16Kbs [13:12]. Output Data Interface SD_out [13:0] Output Data byte out interface. Linear [14 bit], µ-law/a-law [8bit]. PCM for decode. ADPCM for encode. PCM data byte represented as [MSB... LSB]. Linear (sign and magnitude)=[13:0] µ-law/a-law =[13:6] ADPCM 32Kbs [13:10], ADPCM 24Kbs [13:11], ADPCM 16Kbs [13:12]. Page 2 of 8

Core Reset and Initialization Hardware Reset of the core is accomplished by the assertion (active low) of the reset_n input. The algo_reset signal (active high) is specific to the ADPCM encoder/decoder core section to force all internal memory devices, registers, and state machines of a associated channel to a known state. This operation requires each channel used to be reset independently; algo_reset must be high for a minimum of sixteen clock cycles for each channel address. Usage of this signal is primarily for ITU vector testing of the core. The clk input requires a minimum value of: the required (half-duplex) channels multiplied by sampling rate (8000) 8Khz multiplied by 8 ( clk cycles required to function at full rate voice). For example a 672 (half-duplex) channel core configuration would require a minimum input clock of 43.008 MHz (672 x 8000 x 8). Encode Operation Data (un-compressed voice sample PCM ) is presented to the input interface S_in [13:0] with the desired channel #(channel), Code rate (code), Law type (law) and a valid Encode/Decode signal (decode=1 Encode ). The host will then assert the enable signal (active high) to latch and feed the data to the core. Verification of the completed cycle is indicated by the output of the timer [2:0] signal. Typically this signal is used as an interrupt input serviced by the host as an indication of a completed encode cycle. The host processor can now retrieve the compressed (ADPCM) voice sample from the SD_out [13:0] interface. General Encode Timing (Figure 2) clk reset_n decode law [1:0] code [2:0] channel [9:0] enable S_in [13:0] PCM PCM SD_out [13:0] ADPCM (output) ADPCM (output) timer [2:0] 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 Page 3 of 8

Decode Operation Data (compressed voice sample ADPCM) is presented to the input interface S_in [13:0] with the desired channel #(channel), Code rate (code), Law type (law) and a valid Encode/Decode signal (Enc_decb=1 Decode ). The host will then assert the enable signal (active high) to latch and feed the data to the core. Verification of the completed cycle is indicated by the output of the timer [2:0] signal. Typically this signal is used as an interrupt input serviced by the host as an indication of a completed decode cycle. The host processor can now retrieve the un-compressed (PCM) voice sample from the SD_out [13:0] interface. General Decode Timing (Figure 3) clk reset_n decode law [1:0] code [2:0] channel [9:0] enable S_in [13:0] ADPCM ADPCM SD_out [13:0] PCM (output) PCM (output) timer [2:0] 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 Encode/Decode Notes: Back-to-back enable strobes must be at least 8 clock cycles apart. If they are spaced further, the ADPCM-HCO core will idle until the next sample is presented to the data input interface. Core Memory Requirements The core requirements are dependent on the number of supported channels. Designs with low channel counts may only require the memory to be implemented as registers. Six synchronous bit Rams are required for use by each half-duplex channel, where N is the number of supported voice channels by the core configuration. A single interface consists of a 24bit wide data in and out interfaces, 11bit address, write enable, and a synchronous clock interface. Note: Ram timing is a function of channel count, and system clock frequency, and typically verified via static timing analysis, or gate level simulations. Page 4 of 8

ADPCM-HCO Connection Diagram (Figure 4) ADPCM-HCO MEMORY INTERFACE ram0din [23:0] ram0dout [23:0] ram023addr [9:0] addr0lsb we0_n ram1din [23:0] ram1dout [23:0] ram145addr[9:0] addr1lsb we1_n ram2din [23:0] ram2dout [23:0] addr23lsb we2_n ram3din [23:0] ram3dout [23:0] we3_n ram4din [23:0] ram4dout [23:0] addr45lsb we45_n ram5din [23:0] ram5dout [23:0] clk 0 2 4 1 3 5 Interface Definitions (Table 2) Signal Name Ram Interface Signal Source Functional Description ram0din [23:0] Output 0 write data interface ram0dout [23:0] Input 0 read data interface ram023addr [9:0] Output MSB address shared by 0, 2, 3. Addr0lsb Output 0 LSB Address pin. we0_n Output 0 Write enable. Active low write. ram1din [23:0] Output 1 write data interface ram1dout [23:0] Output 1 write data interface. ram145addr [9:0] Output MSB Address shared by 1, 4, 5. addr1lsb Output 1 LSB Address pin. we1_n Output 1 Write enable. Active low write. ram2din [23:0] Output 2 write data interface. ram2dout [23:0] Input 2 read data interface. addr23lsb Output LSB address, shared by 2 and 3. we2_n Output 2 Write enable, active low write. Page 5 of 8

ram3din [23:0] Output 3 write data interface. ram3dout [23:0] Input 3 read data interface. we3_n Output 3 Write enable, active low write. ram4din [23:0] Output 4 write data interface. ram4dout [23:0] Input 4 read data interface. addr45lsb LSB address, shared by 4 and 5. we45_n Output 4 and 5 Write enable. Active low write. ram5din [23:0] Output 5 write data interface. ram5dout [23:0] Input 5 read data interface. clk Output System clock from the core clk input ADPCM-HCO Product Specifications (Table 3) Bus Interface Synchronous Parallel Internal Ram requirements for each 2X24X6 bits, Synchronous Bus. Half-Duplex Channel Operating frequency/channel capacity @43.008MHz, 672 Channels half duplex 336 Channels full-duplex @86.016Mhz, 1344 channels half-duplex 672 channels full-duplex Voice standards compliance Logic size requirements in gates Die size area ADPCM Code rates ADPCM Code Formats 50% duty cycle required ITU-T G.726, (Optional G.727 support by request) Available on request. Available on request. (16, 24, 32) Kbs A-Law, µ-law, 14 bit Linear Core Implementation PSI is committed to aiding in the design effort required to employ this core into the targeted design. The advantage of core customization to the user is very attractive in relation to the following benefits: The core is scaleable and interface flexible for specific applications. Cost reduction (by increased density), reduced power consumption, board space real-estate reduction, power supply requirements. Specific interface design may reduce the over-all function processing and hardware/software system resource requirements. Standards based and verified voice-processing functions. Simple design implementation as a FPGA, ASIC or Soc element. Page 6 of 8

ADPCM-HCO Deliverables: PSI has specified the following as a basic set of product deliverables. A specification of the timing to be provided for the core requirements. A test bench for the core, and control scripts to run Verilog simulations that exercise all ITU standard vectors for the G.726 supported rates. A synthesis script/shell to assist in synthesis of the core. Test bench core coverage analysis document. Verilog RTL I.P. Core. Technical support. Options for the ADPCM-HCO core include: The following items are available by request as additional options for the core. Scalable encoding/decoding channel count. Auto-channel mode. Ram Test. Logic BIST. Custom Bus Interface options. FPGA specific targeting. VHDL code format (future releases). Asynchronous bus interface. ITU-T G.727 support. License Information PSI is committed to offering a range of agreements to satisfy all parties involved. We are committed to making your project a success by providing flexible license terms and conditions. PSI Reference Documents Check our website for latest information: Application notes. White papers. Product briefs. Sales information Upon request, PSI shall complete a quotation for this product, including pricing, deliverables list, and licensing agreements. Page 7 of 8

For sales or product information requests: mailto:ip_info@asic-design.com Or contact: Pinpoint Solutions. Inc. 5171 Eldorado Springs Drive Boulder, CO 80303 Tel: 303.543.0050 Fax: 303.494.5769 HTTP:\\ www.asic-design.com Page 8 of 8