ADPCM-LCO Voice Compression Logic Core

Similar documents
ADPCM-HCO Voice Compression Logic Core

inivme data sheet inivme

Universal Asynchronous Receiver/Transmitter Core

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

AvnetCore: Datasheet

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

CoreHPDMACtrl v2.1. Handbook

Configurable UART with FIFO ver 2.20

SD Card Controller IP Specification

AvnetCore: Datasheet

Digital Blocks Semiconductor IP

Configurable UART ver 2.10

Early Models in Silicon with SystemC synthesis

R bit Microcontroller Megafunction

FlexRay The Hardware View

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

D16750 IP Core. Configurable UART with FIFO v. 2.25

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

10GBase-R PCS/PMA Controller Core

SPI 3-Wire Master (VHDL)

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

VME64M VME64 MASTER CONTROLLER. Version 1.1

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

CZ80CPU 8-Bit Microprocessor Megafunction

Ethernet Switch. WAN Gateway. Figure 1: Switched LAN Example

I 2 C Bus Interface - Slave ver 3.08

Documentation Design File Formats

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

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

FPGA design with National Instuments

C8051 Legacy-Speed 8-Bit Processor Core


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

SMCSlite and DS-Link Macrocell Development

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.

Spiral 3-1. Hardware/Software Interfacing

Pipelined High Performance 8-bit Microcontroller ver 3.10

Digital System Design with SystemVerilog

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

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

The Lekha 3GPP LTE FEC IP Core meets 3GPP LTE specification 3GPP TS V Release 10[1].

8B10B Decoder User Guide

Virtex-5 GTP Aurora v2.8

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

1 Contents. Version of EnSilica Ltd, All Rights Reserved

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

The Lekha 3GPP LTE Turbo Decoder IP Core meets 3GPP LTE specification 3GPP TS V Release 10[1].

AES1. Ultra-Compact Advanced Encryption Standard Core AES1. General Description. Base Core Features. Symbol. Applications

UDP1G-IP reference design manual

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

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

Relationship of 1000BASE-T1 to other standards

SoC / ASIC / FPGA / IP

RESET CLK RDn WRn CS0 CS1 CS2n DIN[7:0] CTSn DSRn DCDn RXDATA Rin A[2:0] DO[7:0] TxDATA DDIS RTSn DTRn OUT1n OUT2n BAUDOUTn TXRDYn RXRDYn INTRPT

Digital Blocks Semiconductor IP

8b/10b Encoder/Decoder

Choosing an Intellectual Property Core

TOE10G-IP Core. Core Facts

Design Guidelines for Optimal Results in High-Density FPGAs

Digital Blocks Semiconductor IP

ASYNC Rik van de Wiel COO Handshake Solutions

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

World Class Verilog & SystemVerilog Training

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

System-On-Chip Design with the Leon CPU The SOCKS Hardware/Software Environment

ADPCM: Adaptive Differential Pulse Code Modulation

TOE10G-IP with CPU reference design

DEVELOPMENT AND VERIFICATION OF AHB2APB BRIDGE PROTOCOL USING UVM TECHNIQUE

Philip Andrew Simpson. FPGA Design. Best Practices for Team-based Reuse. Second Edition

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

CAN on Integration Technologies

Table 1: Example Implementation Statistics for Xilinx FPGAs

ECE 459/559 Secure & Trustworthy Computer Hardware Design

Documentation. Design File Formats. Constraints Files. Verification. Slices 1 IOB 2 GCLK BRAM

CorePCI Target 33/66 MHz

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

Microprocessors and Microcontrollers (EE-231)

ZBT SRAM Controller Reference Design

TSEA44 - Design for FPGAs

outline Reliable State Machines MER Mission example

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

Hello, and welcome to this presentation of the STM32 Universal Synchronous/Asynchronous Receiver/Transmitter Interface. It covers the main features

A VHDL 8254 Timer core

Product Technical Brief S3C2440X Series Rev 2.0, Oct. 2003

Tech Spec for SDXC Host Controller

High-Speed SDR SDRAM Controller Core for Actel FPGAs. Introduction. Features. Product Brief Version 1.0 November 2002

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

CorePCI Target+DMA Master 33/66MHz

Field Programmable Gate Array (FPGA)

FPGA briefing Part II FPGA development DMW: FPGA development DMW:

Universal Serial Bus Host Interface on an FPGA

LogiCORE IP AXI DMA v6.01.a

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

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

Memory-Mapped SHA-1 Coprocessor

DoCD IP Core. DCD on Chip Debug System v. 6.02

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

S2C K7 Prodigy Logic Module Series

Transcription:

ADPCM-LCO Voice Compression Logic Core Functional Description The ADPCM-LCO logic core [Adaptive Differential Pulse Code Modulation-Low Channel count Optimized] is a peripheral for digital voice compression/de-compression at 16, 24, 32, 40Kbs rates, as defined in the ITU-T G.726, and G.727 specification. A simple synchronous parallel interface provides (encode and decode) of 1 to 64 fullduplex voice channels, or (encode or decode) of 1 to 128 half-duplex voice channels. The ADPCM-LCO is designed for easy implementation an ASIC, FPGA or element in a SOC design. Core application block diagram (Figure 1) SD [13:0] Data Out ENCODER Engine Sin [13:0] Data In I/O Interface Control PCM to ADPCM ADPCM to PCM COMPRESSION DECOMPRESSION STATE MACHINE "State" RAM Interface RAM HOST INTERFACE LOGIC channel [6:0] CH # SEL code [2:0] DECin LAWin [1:0] enable timer [3:0] Encode/Decode I/O COMMAND & CONTROL DECODER Engine ADPCM-LCO ASIC/FPGA Example Implementation *Nx8x36 ALGO_RSTin reset_n Note: PSI does not supply the RAM "IP" elements. See memory requirements in the data sheet. 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 and ITU-T G.727. Page 1 of 7

ADPCM-LCO 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-LCO Core Interface Definitions (Table 1) Signal Name Core Source Functional Description Control/Status Interface channel [6:0] Input Current channel address. 0 to maximum channel count. [6:0]= 128 channel selects Input System Clock 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]= (G.727 codes), [1XX]= G.726 codes. [X00]= 16Kbs, [X01]= 24Kbs, [X10]= 32Kbs, [X11]= 40Kbs DECin Input Channel-by-channel selection of encode or decode function. Logic low = ADPCM Encode. Logic high = ADPCM Decode. LAWin [1:0] Input A-law μ-law select. Channel by channel selection of encoding law. [00]= Linear, [01]=μ-law. [10]= A-law (with even bit inversion), [11]= A-law (with-out even bit inversion). reset_n Input Core hardware Reset. Active low. timer [3:0] Output Synchronous core timer outputs, see timing diagrams. ALGO_RSTin Input ADPCM algorithm reset, as defined in the ITU G.726. Active high. Enable Input Core input valid strobe. Active high. High going edge indicates valid inputs on Enc_dec, Law, S, Chnl and Code. Input Interface Sin [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 (2 s Complement G.711 )=[13:0] μ-law/a-law =[7:0] ADPCM 40Kbs [7:3], 32Kbs [7:4], ADPCM 24Kbs [7:5], ADPCM 16Kbs [7:6]. Output Interface SD [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 (2 s Complement G.711 )=[13:0] μ-law/a-law =[7:0] ADPCM 40Kbs [7:3], 32Kbs [7:4], ADPCM 24Kbs [7:5], ADPCM 16Kbs [7:6]. Page 2 of 7

Core Reset and Initialization Hardware reset of the core is accomplished by the assertion (active low) of the reset_n input. The ALGO_RSTin signal (active high) is specific to the testing and verification of the ADPCM encoder/decoder core section to force all internal memory devices, registers, and state machines of an associated channel to a known state. This operation requires each channel used to be reset independently; ALGO_RSTin 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 signal should be asserted along with the first vector of some ITU files. Specific information on testing of the core will be made available to users of the core. Clock The input requires a minimum value of: the required (half-duplex) channels multiplied by sampling rate (8000) 8Khz multiplied by 16 ( cycles required to function at full rate voice). For example a 128 (half-duplex) channel core configuration would require a minimum input clock of 16.384 MHz (128 x 8000 x 16). Encode Operation Data (un-compressed voice sample PCM ) is presented to the input interface Sin [13:0] with the desired channel #(channel), Code rate (code), Law type (LAWin) and a valid Encode/Decode signal (DECin=0 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 value of the timer [3:0] signal. Typically this signal is used to generate 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 [13:0] interface. General Encode Timing (Figure 2) reset_n DECin LAWin [1:0] code [2:0] channel [7:0] enable Sin [13:0] PCM PCM SD [13:0] ADPCM (output) ADPCM (output) timer [3:0] 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F Page 3 of 7

Decode Operation Data (compressed voice sample ADPCM) is presented to the input interface Sin [13:0] with the desired channel #(channel), Code rate (code), Law type (LAWin) and a valid Encode/Decode signal (DECin=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 [3: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 [13:0] interface. General Decode Timing (Figure 3) reset_n DECin LAWin [1:0] code [2:0] channel [7:0] enable Sin [13:0] ADPCM ADPCM SD [13:0] PCM (output) PCM (output) timer [3:0] 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F Encode/Decode Notes: Back-to-back enable strobes must be at least 16 clock cycles apart. If they are spaced further, the ADPCM-LCO core will idle until the next sample is presented. Timer signal The four bit timer signal provides a count of the event processing when the core is running compression and decompression operations. The value of the timer indicates specific events from encode and decode process, (idle/ready state timer = [1111] or F, encode or decode operation cycle complete data is valid timer = [0010] or 2. Use of these signals provides a flexible and universal interface to any system. Page 4 of 7

Core Memory Requirements The core RAM requirements are dependent on the number of supported channels. Designs with low channel counts may only require the memory to be implemented as registers. A single synchronous Nx8x36 bit Static Ram is required for use by each halfduplex channel, where N is the number of supported voice channels by the core configuration. A single RAM interface consists of a 36 bit wide data in and data out interfaces, 10bit address, write enable, and a synchronous clock interface. The basic timing of the RAM is a single clock (system clock) cycle read and write function. Note: RAM timing is a function of channel count, and system clock frequency, and typically verified via static timing analysis, or gate level simulations. Note: adpcm_lco core output Web is an ACTIVE LOW write enable for the ram. Be sure to configure the RAM block for active LOW write enable. ADPCM-LCO RAM Connection Diagram (Figure 4) ADPCM-LCO STATE MEMORY INTERFACE RAM 0 ram_data_out [35:0] ram_data_in [35:0] addr [9:0] WEb Data In [35:0] Dat Out [35:0] Addr [9:0] Write Enable Clock RAM Interface Definitions (Table 1) Core Signal Name RAM Interface Functional description Signal Source ram_data_in [23:0] Output ADPCM RAM write Data pins ram_data_out [23:0] Input ADPCM RAM read data. addr [9:0] Output ADPCM RAM Address pins Web Output ADPCM RAM Write enable. Active low write Clk Output Core input ADPCM-LCO Product Specifications (Table 2) Bus Interface Internal Ram requirements for each Half-Duplex Channel Operating frequency/channel capacity Voice standards compliance Logic size requirements in gates Die size area ADPCM Code rates Synchronous Parallel 8x36 bits, Synchronous Bus. @1.024MHz, 128 Channels half duplex 64 Channels full-duplex 50% duty cycle clock required ITU-T G.726, (Optional G.727 support by request) Available on request Available on request (16, 24, 32, 40) Kbs Page 5 of 7

ADPCM Code Formats A-Law, μ-law, Linear (2 s Complement G.711 ) 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. Reference Demo platform available for prototyping and core verification. ADPCM-LCO Deliverables: PSI has specified the following as a basic set of product deliverables. A specification of the RAM 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 code rates. A test bench for the core, and control scripts to run Verilog simulations that exercise all ITU standard vectors for the G.727 supported code 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-LCO 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. Custom Bus Interface options. FPGA specific targeting. VHDL Testbench for use with VHDL gate level netlist. Asynchronous bus interface. 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. Page 6 of 7

PSI Reference Documents Check our website for latest information: Application notes. Demo Board Reference Users manual. White papers. Product briefs. Sales information Upon request, PSI shall complete a quotation for this product, including pricing, deliverables list, and licensing agreements. For sales or product information requests: pparsons@asic-design.com Or contact: Pinpoint Solutions. Inc. Tel: 888.543.0050 x103 Fax: 888.54.0050 HTTP:\\ www.asic-design.com Page 7 of 7