114
Cleiber Marques da Silva Uma Arquitetura Reconfigur´ avel Heterogˆ enea para adios Definidos por Software utilizando uma Rede-em-Chip FLORIAN ´ OPOLIS 2012

Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

  • Upload
    haanh

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

Cleiber Marques da Silva

Uma Arquitetura Reconfiguravel Heterogenea para

Radios Definidos por Software utilizando uma

Rede-em-Chip

FLORIANOPOLIS2012

Page 2: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution
Page 3: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

UNIVERSIDADE FEDERAL DE SANTA

CATARINA

PROGRAMA DE POS-GRADUACAO EMAUTOMACAO E SISTEMAS

Uma Arquitetura Reconfiguravel Heterogenea para

Radios Definidos por Software utilizando uma

Rede-em-Chip

Dissertacao submetida aUniversidade Federal de Santa Catarina

como parte dos requisitos para aobtencao do grau de Mestre em Engenharia

de Automacao e Sistemas.

Cleiber Marques da Silva

Florianopolis, Julho, 2012.

Page 4: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution
Page 5: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

Uma Arquitetura Reconfiguravel Heterogenea paraRadios Definidos por Software utilizando uma

Rede-em-Chip

Cleiber Marques da Silva

Esta Dissertacao foi julgada adequada para a obtencao do tıtulo de “Mestre” em

Engenharia de Automacao e Sistemas, Area de Concentracao em Controle,

Automacao e Sistemas, e aprovada em sua forma final pelo Programa de

Pos-Graduacao em Engenharia de Automacao e Sistemas da Universidade Federal de

Santa Catarina.

Leandro Buss Becker, Dr.Orientador

Antonio Augusto M. Frohlich, Dr.Co-orientador

Prof. Jomi Fred Hubner, Dr.Coordenador do Curso

Banca examinadora:

Prof. Mario de Noronha Neto, Dr.Instituto Federal de Santa Catarina

Prof. Carlos Aurelio Faria da Rocha, Dr.Universidade Federal de Santa Catarina

Prof. Marcelo Ricardo Stemmer, Dr.Universidade Federal de Santa Catarina

iii

Page 6: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution
Page 7: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

Aos meus pais e amigos.

v

Page 8: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution
Page 9: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

AGRADECIMENTOS

Em primeiro lugar, gostaria de agradecer aos meus amigos e familiares pelo apoio,

confianca e incentivo.

Um especial agradecimento ao meu orientador professor Leandro Buss Becker pelo apoio

em todos os momentos do desenvolvimento do trabalho.

Ao professor Antonio Augusto Frohlich, pelas oportunidades dadas para realizacao

deste trabalho e a equipe do LISHA por todo o apoio durante a execucao do projeto eSDR.

vii

Page 10: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution
Page 11: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

Resumo da Dissertacao apresentada a UFSC como parte dos requisitos necessariospara obtencao do grau de Mestre em Engenharia de Automacaoo e Sistemas.

Uma Arquitetura Reconfiguravel Heterogenea para

Radios Definidos por Software utilizando uma

Rede-em-Chip

Cleiber Marques da Silva

Junho/2012

Orientador: Leandro Buss Becker, Dr.Co-orientador: Antonio Augusto M. Frohlich, Dr.Area de Concentracao: Controle, Automacao e SistemasLinha de Pesquisa: Arquitetura de ComputadoresPalavras-chave: Radios Definidos por Software, Redes-em-Chip e ArquiteturaNumero de Paginas: xxvi + 86

Radio definido por Software (SDR) e uma tecnologia que permite a reconfiguracao de

um sistema de comunicacao sem a necessidade de alterar qualquer elemento de hard-

ware utilizando uma abordagem baseada em software. Entretanto o crescimento da

complexidade dos novos padroes de comunicacao juntamente com a necessidade da

reducao do consumo de energia sao os desafios para as arquiteturas de SDRs. Abor-

dagens utilizando computacao reconfiguravel com granularidade grossa sao bons can-

didatos para solucao dos problemas, pois possuem alta performance e baixo consumo

de energia. Neste contexto esse trabalho propoe uma arquitetura heterogenea e recon-

figuravel para o desenvolvimento de SDRs com FPGAs utilizando uma Rede-em-chip

(NoC) para a infraestrutura de comunicacao e aceleradores em hardware para o proces-

samento dos principais algoritmos de processamento de sinais. NoC e uma tecnologia

emergente para a interconexao em-chip que propoe a solucao de problemas de escalabil-

idade, reuso e controle dos parametros eletricos. A arquitetura proposta e basicamente

composta por uma interface RF, acelaradores, um bloco de controle e uma interface de

comunicacao de alta velocidade com um host. Para validar a arquitetura proposta foi

desenvolvido um prototipo em FPGA utilizando um PC com GNU Radio como host.

Os testes demonstraram uma melhora significativa no desempenho global do sistema

em termos de uso de CPU e latencia quando comparado com a plataforma USRP.

ix

Page 12: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution
Page 13: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

Abstract of Dissertation presented to UFSC as a partial fulfillment of the requirements forthe degree of Master in Automation and Systems Engineering.

Software-defined Radio Heterogeneous

Reconfigurable Architecture using a

Network-on-Chip

Cleiber Marques da Silva

June/2012

Advisor: Leandro Buss Becker, Dr.Co-advisor: Antonio Augusto M. Frohlich, Dr.Area of Concentration: Control, Automation and SystemsResearch Area: Computer ArchitectureKey words: Software-defined Radio, Network-on-Chip, and ArchitectureNumber of Pages: xxvi + 86

Software Defined Radio (SDR) is a technology that permit the reconfiguration of a

communication system without the need to change any hardware element using a

software-based approach. However, the growing complexity of new communication

standards together with the need to reduce the consumption energy are the challenges

for SDR architectures. Reconfigurable computing using coarse-grained approaches are

good candidates to solving SDR issues, because it have high performance and low

power consumption. In this context the work proposes a heterogeneous reconfigurable

architecture for the development of SDRs with FPGAs that uses a Network-on-Chip

(NoC) to enhance the internal communication infrastructure and hardware acceler-

ators to speed DSP-related algorithms. NoC is an emerging technology for on-chip

interconnect that proposes the solution of scalability, reuse and control of electrical pa-

rameters. The proposed architecture is basically composed of a RF interface, hardware

accelerators, a control block and a high speed communication interface with a host. To

validate the proposed architecture it was developed a prototype in FPGA using a PC

with GNU Radio as host. The performed experiments demonstrate that the proposed

solution presents a significant improvement in the total performance of the system in

terms of CPU usage and latency when comparing with the off-the-shelf USRP.

xi

Page 14: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution
Page 15: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

Sumario

1 Introducao 1

1.1 Motivacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3 Visao Geral do Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Tecnologias Relacionadas 5

2.1 Radios definidos por Software . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1 Arquitetura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.1.1.1 RF Front-end . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.1.2 Digital Down Converter e Digital Up Converter . . . . . . . 8

2.1.2 GNU Radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.2.1 Universal Hardware Driver . . . . . . . . . . . . . . . . . . . 11

2.2 Computacao Reconfiguravel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2.1 Dispositivos Reconfiguraveis . . . . . . . . . . . . . . . . . . . . . . . . 13

2.3 Network on Chip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3.1 Arquitetura HERMES . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3.2 SoCIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.3.3 Æthereal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.3.4 QNoC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.3.5 RTSNoC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

xiii

Page 16: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

2.3.5.1 Formato dos pacotes na RTSNoC . . . . . . . . . . . . . . . 22

2.3.5.2 Estrutura interna do Roteador . . . . . . . . . . . . . . . . . 23

2.3.5.3 Simulacao funcional do roteador . . . . . . . . . . . . . . . . 25

2.3.5.4 Adaptadores de Canais na RTSNoC . . . . . . . . . . . . . . 26

2.4 Desenvolvimento para FPGA em alto nıvel . . . . . . . . . . . . . . . . . . . 26

2.5 Consideracoes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3 Trabalhos Relacionados 31

3.1 Arquiteturas com Processador Central . . . . . . . . . . . . . . . . . . . . . . 31

3.1.1 LeoCore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.1.2 Signal-processing On-Demand Architecture . . . . . . . . . . . . . . . 33

3.1.3 Tomahawk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.2 Arquiteturas Reconfiguraveis . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.2.1 ADRES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.2.2 BUTTER e CREMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.2.3 Arquitetura de Canais para SDR de Multiplas Camadas . . . . . . . . 37

3.2.4 CRUSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.3 Consideracoes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4 Arquitetura Heterogenea e Reconfiguravel 41

4.1 Motivacoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.2 Arquitetura Proposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.2.1 Bloco RF Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.2.2 Controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.2.3 Interconexao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4.2.4 Aceleradores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.2.5 Interface com o Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.3 Fluxo de projeto para nova aplicacoes . . . . . . . . . . . . . . . . . . . . . . 52

4.4 Resumo da Proposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

xiv

Page 17: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

5 Implementacao e Avaliacao da Proposta 55

5.1 Implementacao da Arquitetura Proposta . . . . . . . . . . . . . . . . . . . . . 55

5.1.1 FPGA Virtex-6 Xilinx . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.1.2 BESDR - Placa Front-End RF . . . . . . . . . . . . . . . . . . . . . . 56

5.1.2.1 Caminhos de Recepcao e de Transmissao . . . . . . . . . . . 57

5.1.2.2 Placas filhas . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.1.2.3 Modulo de controle para BESDR . . . . . . . . . . . . . . . . 60

5.1.3 Interfaceamento da Proposta com GNU Radio . . . . . . . . . . . . . 60

5.2 Avaliacao da Arquitetura Proposta . . . . . . . . . . . . . . . . . . . . . . . . 61

5.2.1 Implementacao do experimento . . . . . . . . . . . . . . . . . . . . . . 61

5.3 Avaliacao dos Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.3.1 Analise de desempenho . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.3.2 Analise de latencia da RTSNoC . . . . . . . . . . . . . . . . . . . . . . 68

5.3.3 Consumo dos Recursos da FPGA . . . . . . . . . . . . . . . . . . . . . 70

5.4 Consideracoes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

6 Conclusoes 73

6.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

A Consideracoes sobre os aceleradores da Arquitetura 75

A.1 Fast Fourier Transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

A.2 Filtro FIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

B Geracao ondas FM narrowband 79

Referencias Bibliograficas 81

xv

Page 18: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution
Page 19: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

Lista de Siglas

ADC Analog-to-Digital Converter

ADRES Architecture for Dynamically Reconfigurable Embedded Systems

AGC Automatic Gain Control

AM Amplitude Modulation

ANSI American National Standards Institute

API Application Programming Interface

ARM Advanced RISC Machine

ASIC Aplication Specific Integrated Circuit

ASIP Application Specifc Instruction Set Processor

BESDR Board for Embedded Software-defined Radio

BRAM Block RAM

CIC Cascaded Integrator-Comb

CLICHE Chip-Level Integration of Communicating Heterogeneous Elements

CORDIC COordinate Rotation DIgital Computer

CRC Cyclic Redundant Check

CRUSH Cognitive Radio Universal Software Hardware

DAC Digital-to-Analog Converter

DCM Digital Clock Manager

DCT Discrete Cosine Transform

DDC Digital Down Converter

xvii

Page 20: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

DFE Digital Front-end

DFT Discrete Fourier Transform

DMA Direct Memory Access

DSP Digital Signal Processor

DUC Digital Up Converter

DVB-T Digital Video Broadcasting - Terrestrial

EVP Embedded Vector Processor

FEC Forward Error Correction

FFT Fast Fourier Transform

PHY Ethernet Physical Layer

FIFO First-In First-Out

FIR Finite Impulse Response

FMC FPGA Mezzanine Card

FPGA Field Programmable Gate Array

GbE Gigabit Ethernet

GMII Gigabit Medium Independent Interface

GMRS General Mobile Radio Service

GNU GNU’s Not Unix

GPP General Purpose Processor

GPS Global Positioning System

HDL Hardware Description Language

HERS Heterogeneous Reconfigurable System

HPC High Pin Count

I2C Inter-Integrated Circuit

IEEE Institute of Electrical and Eletronic Engineering

IF Frequencia Intermediaria

xviii

Page 21: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

IOB Input Output Block

IP Intellectual Property

LISHA Laboratorio de Integracao Software e Hardware

LO Local Oscillator

LTE 3GPP Long Term Evolution

LUT LookUp Table

FM Frequency Modulation

MAC Media Access Control

MDIO Management Data Input/Output

MIMO Multiple-Input and Multiple-Output

MIT Massachusetts Institute of Technology

MPSoC Multiprocessor System on Chip

NCO Numerically Controlled Oslitator

NoC Network on Chip

PCI Peripheral Component Interconnect

PGA Programmable Gain Amplifier

QNoC Quality of Service NoC

RAM Random Access Memory

RF Radio Frequency

RISC Reduced Instruction Set Computing

RPC Remote Procedure Call

ROM Read-only Memory

RSSI Received Signal Strength Indication

RTL Register Transfer Level

RTSNoC Real Time Star Network on Chip

SDR Software-defined Radio

xix

Page 22: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

SIMD Single Instruction Multiple Data

SMA SubMiniature version A

SNR Signal-to-Noise Ratio

SPI Serial Peripheral Interface

SPIN Scalable Programmable Integrated Network

SoC System on Chip

SoCIN System on Chip Interconnection Network

SODA Signal-processing On-Demand Architecture

SSB Single-sidedband Modulation

SWIG Simplified Wrapper and Interface Generator

TDM Time Division Multiplexing

UART Universal Asynchronous Receiver Transmitter

UDP User Datagram Protocol

UHD Universal Hardware Driver

USRP Universal Software Radio Peripheral

VHDL VHSIC Hardware Description Languange

VHF Very High Frequency

VHSIC Very High Speed Integrated Circuits

VITA VMEbus International Trade Association

VLIW Very Long Instruction Word

WiMAX Worldwide Interoperability for Microware Access

xx

Page 23: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

Lista de Figuras

2.1 Estrutura basica SDR Ideal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 Estrutura basica de um SDR Real. . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3 Arquiteturas de DDC e DUC [22]. . . . . . . . . . . . . . . . . . . . . . . . . 9

2.4 Flowgrpah tıpico do GNU Radio. . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.5 Diagrama de blocos da estrutura do UHD [23]. . . . . . . . . . . . . . . . . . 12

2.6 Arquitetura basica de um FPGA [44]. . . . . . . . . . . . . . . . . . . . . . . 14

2.7 Elementos de um bloco logico programavel [44]. . . . . . . . . . . . . . . . . . 14

2.8 Arquiteturas interna de um FPGA Xilinx [73]. . . . . . . . . . . . . . . . . . 15

2.9 Estrutura de um pacote de dados em uma NoC [60]. . . . . . . . . . . . . . . 16

2.10 Topologia NoC Hermes [50]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.11 Roteador da NoC Hermes [50]. . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.12 As duas topologias para SoCIN: mesh e torus . . . . . . . . . . . . . . . . . . 19

2.13 Link SoCIN [74]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.14 Roteador da NoC Æthreal [26]. . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.15 Arquitetura do roteador Quality of Service NoC (QNoC) [8]. . . . . . . . . . 21

2.16 Topologia do roteador RTSNoC. . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.17 Canais de comunicacao da RTSNoC. . . . . . . . . . . . . . . . . . . . . . . . 22

2.18 Exemplos de redes RTSNoC. . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.19 Formato dos pacotes da RTSNoC. . . . . . . . . . . . . . . . . . . . . . . . . 23

2.20 Estrutura interna do roteador da RTSNoC. . . . . . . . . . . . . . . . . . . . 24

xxi

Page 24: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

2.21 Simulacao de envio de pacotes na RTSNoC. . . . . . . . . . . . . . . . . . . . 25

2.22 Uso de adaptadores na interconexao de roteadores e nucleos. . . . . . . . . . 26

2.23 Exemplo de uma maquin de estados para um adaptador RTSNoC. . . . . . . 27

2.24 Fluxo de desenvolvimento utilizando o System Generator. . . . . . . . . . . . 28

3.1 Categorizacao das solucoes em SDR. . . . . . . . . . . . . . . . . . . . . . . . 31

3.2 Arquitetura LeoCore [40]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.3 Visao geral da arquitetura SODA [72]. . . . . . . . . . . . . . . . . . . . . . . 33

3.4 Arquitetura Tomahawk MPSoC [38]. . . . . . . . . . . . . . . . . . . . . . . . 34

3.5 Nucleo da arquitetura ADRES [10]. . . . . . . . . . . . . . . . . . . . . . . . . 35

3.6 Arquitetura Butter e Crema [25]. . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.7 Arquitetura de multiplos canais [17]. . . . . . . . . . . . . . . . . . . . . . . . 37

3.8 Diagrama do sistema CRUSH [21]. . . . . . . . . . . . . . . . . . . . . . . . . 38

4.1 Exploracao de arquiteturas de SDR. . . . . . . . . . . . . . . . . . . . . . . . 42

4.2 Visao geral da arquitetura proposta. . . . . . . . . . . . . . . . . . . . . . . . 44

4.3 Diagrama de blocos da interface RF. . . . . . . . . . . . . . . . . . . . . . . . 46

4.4 Representacao grafica do filtro FIR. . . . . . . . . . . . . . . . . . . . . . . . 47

4.5 Estruturas dos pacotes de configuracao e dados. . . . . . . . . . . . . . . . . . 49

4.6 Diagrama de blocos da interface GbE . . . . . . . . . . . . . . . . . . . . . . 51

4.7 Fluxo de projeto de um Software-defined Radio (SDR) para a arquitetura. . . 53

5.1 Digrama de blocos do kit ML605 [28]. . . . . . . . . . . . . . . . . . . . . . . 56

5.2 Exemplo de utilizacao da BESDR. . . . . . . . . . . . . . . . . . . . . . . . . 57

5.3 Diagrama de blocos da BESDR. . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.4 Caminhos de Recepcao e Transmissao do ADC e DAC. . . . . . . . . . . . . . 59

5.5 Diagrama de Classes simplificado da interface de abstracao da arquitetura com

UHD e GNU Radio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

xxii

Page 25: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

5.6 Ambiente de testes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.7 Algoritmo de recepcao do experimento de teste. . . . . . . . . . . . . . . . . . 63

5.8 Domınio da frequencia dos 8 canais transmitidos para a realizacao dos testes. 64

5.9 Ocupacao da CPU no cenario de testes . . . . . . . . . . . . . . . . . . . . . . 66

5.10 Ocupacao media da CPU no cenario de testes. . . . . . . . . . . . . . . . . . 67

5.11 Numero de FFTs por segundo em funcao do tamanho da janela. . . . . . . . 68

5.12 Diagrama de forma de onda da utilizacao da RTSNoC. . . . . . . . . . . . . . 69

A.1 Representacao grafica da FFT. . . . . . . . . . . . . . . . . . . . . . . . . . . 76

A.2 Representacao grafica do filtro FIR. . . . . . . . . . . . . . . . . . . . . . . . 76

B.1 Diagrama de blocos para modulador FM narrowband. . . . . . . . . . . . . . 79

xxiii

Page 26: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution
Page 27: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

Lista de Tabelas

2.1 Tabela de comparacao desenvolvimento FPGA [29]. . . . . . . . . . . . . . . . 29

5.1 Lista dos canais GMRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.2 Analise de tempo para diferentes tamanhos de janela de FFT. . . . . . . . . . 67

5.3 Consumo de recursos para realizacao do experimento. . . . . . . . . . . . . . 70

xxv

Page 28: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution
Page 29: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

Capıtulo 1

Introducao

1.1 Motivacao

No decorrer dos ultimos anos surgiram uma grande quantidade de padroes e protocolos

de comunicacao sem fio, aliados com o aumento de poder de processamento, diminuicao dos

custos e miniaturizacao dos sistemas computacionais. No entanto, nos sistemas tradicionais

de comunicacao sem fio muitas funcoes sao implementadas em cadeias de hardware, por

exemplo, modulacao/demodulacao, codificacao/decodificacao e filtragem. Essas funcoes sao

normalmente imutaveis, projetadas para operar em uma frequencia fixa e de acordo um

padrao especıfico. Para se comunicar com diferentes terminais sem fio e necessarios arranjos

distintos de hardware que suportem os varios protocolos e estruturas de comunicacao.

Neste ponto, mostra-se muito atrativa a possibilidade de se reconfigurar o equipamento,

para que este possa oferecer e ter acesso a diversos servicos, sem a necessidade da incorporacao

de hardware ao dispositivo. Neste contexto, surge a tecnologia de Radios definidos por Soft-

ware (SDR - Software-defined Radio) [46], que utiliza uma abordagem baseada em software

para implementar os diferentes sistemas de comunicacao sem fio, sem a necessidade de al-

terar qualquer elemento de hardware. Essa estrategia de desenvolvimento possibilita que

sistemas de funcionalidade antes definida estaticamente em tempo de projeto sejam trazidos

para um domınio reconfiguravel, isso torna possıvel, por exemplo, a atualizacao de padroes

de modulacoes ou protocolos.

Outra vantagem proporcionada pelo desenvolvimento dos SDRs e a diminuicao dos

custos de producao, pois permitem que toda uma famılia de produtos de radio sejam imple-

mentadas em uma plataforma comum de hardware. Alem disso, reduz o time-to-market para

o lancamento de novos produtos, tira proveito do baixo custo de desenvolvimento e reuso do

software [34].

Page 30: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

2 1. Introducao

Atualmente, exitem varias propostas [2, 17, 38, 40, 72] para implementacao de SDRs,

as quais utilizam o conceito de distribuicao de processamento por unidades heterogeneas

como Digital Signal Processor (DSP), Field Programmable Gate Arrays (FPGAs) e General

Purpose Processor (GPP). Uma das arquiteturas mais utilizadas e conhecidas e o GNU’s Not

Unix (GNU) Radio [62], um framework aberto que juntamente com a plataforma Universal

Software Radio Peripheral (USRP) [23], possibilita a criacao de radios funcionais a partir de

modelos de alto nıvel utilizando computadores pessoais.

As tecnologias tradicionais de GPP e DSP, sao baseadas em um nucleo de execucao

de instrucoes sequenciais, falham para atender os requisitos de paralelismo e desempenho

para processar elevadas taxas de dados, que sao intrınsecos de radios, alem de problemas de

eficiencia energetica. Abordagens que utilizam computacao reconfiguravel como os FPGAs,

que sao circuitos digitais de funcionalidade reconfiguravel, permitem a exploracao do par-

alelismo existentes na aplicacoes, enquanto um GPP ou DSP fica restrito a execucao de uma

serie de instrucoes sequencialmente, em hardware e possıvel sintetizar diversas partes de uma

mesma funcao em paralelo ganhando em desempenho.

Sistemas em chip (SoC - System on Chip) consistem de um conjunto de dispositivos

(analogicos ou digitais) com funcao especıfica reunidos em um mesmo componente de hard-

ware, com o objetivo de se obter um sistema integrado. O metodo mais comum para inter-

conexao dos componentes em um SoC e o barramento compartilhado, que e um conjunto de

conexoes comum a um conjunto de dispositivos. Um problema apresentado por esse tipo de

interconexao e a possibilidade de realizacao de uma unica transacao de comunicacao em um

dado instante de tempo, o que e um problema para sistemas de processamento paralelo.

Como alternativa para as interconexoes em SoCs, foram propostas as redes em chip

(NoC - Network on Chip). Baseadas em conceitos de computacao distribuıda e redes de

computadores, as NoCs apresentam maior escalabilidade e confiabilidade [14]. Nesse tipo de

interconexao, cada componente e conectado a um roteador. Todos os roteadores do sistemas

sao interconectados e sao responsaveis por transferir e receber dados dos componentes.

Esta dissertacao apresenta a concepcao de uma arquitetura reconfiguravel e heterogenea

para SDRs, que utiliza computacao reconfiguravel para a criacao de aceleradores em hard-

ware dos principais algoritmos DSPs utilizados em SDRs e uma NoC como infraestrutura de

comunicacao entre os blocos. A arquitetura proposta permite o deslocamento de algoritmos

comumente utilizadas nas camadas fısicas de um radio integralmente para hardware na forma

de aceleradores.

Para avaliar a arquitetura proposta foi desenvolvido um prototipo utilizando a Board

for Embedded Software-defined Radio (BESDR) e a FPGA Xilinx Virtex-6. Alem disso,

realizou-se um cenario de testes, que demonstrou uma melhoria significativa no desempenho

global do sistema.

Page 31: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

1.2. Objetivos 3

1.2 Objetivos

O principal objetivo deste trabalho e propor uma arquitetura para radios definidos por

software, que permita a migracao dos algoritmos de processamento de sinais digitais para o

hardware na forma de aceleradores sem perder a flexibilidade intrınseca dos SDRs.

A partir deste objetivo principal, sao definidos os seguintes objetivos especıficos:

• Analisar algoritmos comuns as camadas fısicas de radios.

• Definir uma infraestrutura de comunicacao eficiente para os blocos de processamento

heterogeneos, sem a perda de flexibilidade dos blocos de software, garantindo o aproveita-

mento dos recursos do hardware.

• Propor uma arquitetura para configuracao e controle dos blocos em hardware.

• Definir um fluxo de projeto para de SDRs utilizando a arquitetura proposta.

• Testar e analisar a arquitetura proposta levando em consideracao alguns parametros

como desempenho e ocupacao da FPGA.

1.3 Visao Geral do Texto

O proximo capıtulo apresenta as tecnologias relacionadas com o desenvolvimento deste

trabalho, onde inicialmente e apresentado a fundamentacao teorica da tecnologia SDR, as

estruturas internas do GNU Radio e os conceitos e arquiteturas de Network on Chips (NoCs).

O Capıtulo 3 e referente ao estado da arte das pesquisas em SDR, apresentado os

principais trabalhos relacionados.

O Capıtulo 4 apresenta as principais caracterısticas e fundamentos da arquitetura pro-

posta nesta dissertacao.

O Capıtulo 5 apresenta a implementacao de um cenario de testes para validacao da

arquitetura proposta e uma avaliacao de desempenho comparativa com outras arquiteturas.

Finalmente sao apresentadas no Capıtulo 6 as conclusoes e propostas de trabalhos

futuros.

Page 32: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

4 1. Introducao

Page 33: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

Capıtulo 2

Tecnologias Relacionadas

Neste capıtulo e feita uma revisao dos principais conceitos e tecnologias relacionados

a este trabalho. Primeiramente e apresentado detalhes sobre Radios definidos por Software,

computacao reconfiguravel, redes-em-chip e suas principais topologias. Por fim, um fluxo

para desenvolvimento de projetos em FPGA baseado em modelos.

2.1 Radios definidos por Software

Radio definido por software (Software-defined Radio (SDR)) [45] e uma tecnologia que

tem sido pesquisada nas ultimas decadas e que esta se tornando uma alternativa aos tradi-

cionais transmissores e receptores de radiocomunicacao. Tem como objetivo flexibilizar a

implementacao dos radios, ao inves de ter sua funcionalidade definida por meio de compo-

nentes de hardware decidido em tempo de projeto, e possıvel a reconfiguracao por meio de

modulos de software. O termo SDR foi introduzido por John Mitola III, sua definicao e dada

como:

“A software radio is a radio whose channel modulation waveforms are defined

in software. That is, waveforms are generated as sampled digital signals, con-

verted from digital to analog via a wideband DAC and then possibly upconverted

from IF to RF. The receiver, similarly, employs a wideband Analog to Digital

Converter (ADC) that captures all of the channels of the software radio node.

The receiver then extracts, downconverts and demodulates the channel waveform

using software on a general purpose processor [48].”

Em uma maneira mais simplificada, um radio definido por software e um transceptor

de radio que tem seu princıpio de funcionamento sendo executado atraves de um software,

Page 34: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

6 2. Tecnologias Relacionadas

podendo ter seu funcionamento alterado com uma simples atualizacao deste mesmo software,

sem a necessidade de alteracao nenhuma de hardware. O objetivo principal dessa tecnologia e

conceber um radio que virtualmente possa se comunicar com qualquer nova tecnologia de rede

sem fio apenas atualizando o software, ou seja, a ideia e colocar o software mais proximo da

antena e utiliza-lo para filtrar, modular, demodular e executar outros estagios da transmissao

e recepcao.

Pode-se destacar as seguintes vantagens na utilizacao de um SDR [64]:

• Multifuncionalidade: atualmente existem diversos padroes de comunicacao sem fio. Um

radio reconfiguravel pode adaptar-se aos diversos padroes, enquanto um radio tradi-

cional precisa implementar todos os padroes simultaneamente.

• Flexibilidade: ao contrario dos radios tradicionais, existe a possibilidade de realizar

correcoes de falhas e atualizacoes de funcionalidades.

• Facilidade de producao: com as funcionalidades desenvolvidas por software, nao ha

necessidade de uma grande quantidade de componentes discretos, com um processador

de alto desempenho e possıvel executar diversos estagios da cadeia de processamento

do radio.

O conceito de SDR nao deve ser confundido com radios baseados ou controlados por

software, pois hoje, praticamente todos os radios se utilizam de software em sua concepcao.

Estes radios baseados ou controlados por software necessitam de ajustes no hardware para

qualquer mudanca em interfaces baseadas em software [71]. Ou seja, com o software podem

ser controlados parametros do radio como frequencia de operacao, modo de operacao (Am-

plitude Modulation (AM), Frequency Modulation (FM), Single-sidedband Modulation (SSB)),

controle de ganho, etc. O software e so uma interface para ajustes no proprio hardware.

2.1.1 Arquitetura

Ao propor os radios definidos por software em 1992, John Mitola III comenta sobre o

SDR Ideal (figura 2.1) [47]. Nesse radio, o sinal seria digitalizado imediatamente apos ser

recebido pela antena e imediatamente antes de ser transmitido por ela, e todas as etapas de

processamento Radio Frequency (RF) e de sinais seriam executadas diretamente em software.

c Algumas limitacoes impedem que o modelo ideal de SDR seja implementado, os re-

quisitos necessarios de Analog-to-Digital Converters (ADCs) e Digital-to-Analog Converters

(DACs) ficam muitos alem dos limites praticos existentes no que se refere a taxa de amostragem,

largura de banda e faixa dinamica. Segundo o teorema de Nyquist, um sinal analogico que

foi amostrado so pode ser reconstruıdo sem perdas a partir das suas amostras se a sua taxa

Page 35: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

2.1. Radios definidos por Software 7

Figura 2.1: Estrutura basica SDR Ideal.

de amostragem for pelo menos duas vezes maior que a maior frequencia do sinal original [36],

ou seja:

fs ≥ 2B, (2.1)

onde fs e a frequencia de amostragem e B e a maior frequencia do sinal. Por exemplo, para

amostrar um sinal na faixa de 2,4 Ghz, seria necessario uma frequencia de amostragem de

4,8 GHz. Contudo, existem limitacoes quanto a capacidade de amostragem e os custos dos

ADCs de alta taxa. Alem disso, a grande capacidade computacional necessaria para processar

diretamente o sinal torna essa alternativa inviavel.

Para solucao desses problemas sao feitas algumas alteracoes do sinal via hardware,

enquanto diferentes processadores, tais como FPGAs, DSPs e processadores de proposito

geral ficam encarregados do processamento do software, para implementacao de um modelo

real de SDR.

A solucao entao e filtrar a janela de frequencia desejada e converte-la para uma Frequencia

Intermediaria (IF), para entao ser amostrada pelo ADC. A figura 2.2 apresenta os blocos

da estrutura basica de um SDR real.

Figura 2.2: Estrutura basica de um SDR Real.

2.1.1.1 RF Front-end

Nos SDRs reais sao adicionadas interfaces analogicas entre a antena, ADC e DAC,

chamada de RF front-end. Este bloco e responsavel por captar e preparar os sinais para

conversao analogico/digital e preparar os sinais para transmissao apos a conversao digi-

Page 36: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

8 2. Tecnologias Relacionadas

tal/analogico. A preparacao dos sinais e feita atraves da amplificacao dos sinais, controle

de ganho, filtragem anti-aliasing 1 e deslocamento para uma IF (no caso de recepcao) ou

para frequencia original do sinal (no caso de transmissao).

O deslocamento do sinal para uma recepcao e realizado seguindo a proposta de Edwin

Armstrong descrita em [31]:

VIF = VRF − VLO, (2.2)

deslocamento para transmissao:

VIF = VRF + VLO, (2.3)

onde e VIF e a frequencia intermediaria, VRF e a radio frequencia e o VLO e o Local Oscillator

(LO). Por exemplo, para digitalizar um sinal que esta na faixa de 87,5-108 MHz, o front-end

seleciona uma janela de 6 MHz e desloca para a IF 0-6 MHz. Dessa forma, o sinal pode ser

amostrado por ADCs com um custo menor. As topologias mais utilizadas para transladacao

dos sinais sao: conversores super heterodino, direto e multiplo.

2.1.1.2 Digital Down Converter e Digital Up Converter

Os SDRs reais ainda possuem um estagio antes da conexao com o processador. Normal-

mente apenas uma faixa do sinal amostrado pelo ADCs e necessaria, por isso esses sistemas

incluem um Digital Down Converter (DDC) e um Digital Up Converter (DUC) que em

comparacao pode ser chamado de um Digital Front-end (DFE).

O DDC e responsavel por converter a frequencia intermediaria para uma frequencia em

banda base. Seu funcionamento consiste em mixar a IF em quadratura com duas sinusoides,

geradas por um oscilador local, decompondo assim o sinal em componentes complexas. Para

selecionar a faixa de frequencia de interesse, o sinal passa por um filtro passa-baixas deci-

mador, reduzindo assim a taxa de dados enviados ao processador [66]. A figura 2.3a apresenta

a arquitetura de um DDC.

O DUC tem a funcao contraria do DDC, ele transporta o sinal em banda base, para

frequencia intermediaria novamente. O sinal complexo e interpolado, para obter um numero

maior de amostras, depois e mixado com duas sinusoides em quadratura convertendo o sinal

de complexo para real. O RF front-end finalmente transmite o sinal na sua frequencia original.

A figura 2.3b apresenta a arquitetura de um DUC.

As sinusoides comentadas nos paragrafos sao geradas pelo Numerically Controlled Osli-

tator (NCO) que, basicamente, tem como entrada um clock e um incremento de fase, a cada

1Um filtro anti-aliasing consiste em um filtro passa-baixas com frequencia de corte igual ou menor quea metade da frequencia de amostragem, com o intuito de retirar componentes de frequencias indesejadassobreponham o espectro do sinal amostrado.

Page 37: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

2.1. Radios definidos por Software 9

(a) Arquitetura de um DDC

(b) Arquitetura de um DUC.

Figura 2.3: Arquiteturas de DDC e DUC [22].

ciclo do clock ele incrementa o seu acumulador de fase e apresenta na saıda o seno e o cosseno

da fase armazenada no acumulador [65].

O NCO pode ser implementado em varias arquiteturas, como uma tabela de look-up em

uma memoria Read-only Memory (ROM) ou utilizando um algoritmo COordinate Rotation

DIgital Computer (CORDIC) [41]. O CORDIC e um algoritmo numerico que calcula funcoes

trigonometricas atraves de rotacoes fasoriais iterativas, calculando coordenadas cartesianas

de um vetor que roda sobre um angulo arbitrado, e e de excelente desempenho e uma saıda

para sistemas que nao possuem memoria interna [3].

2.1.2 GNU Radio

O GNU Radio [62] e um framework de software livre, derivado do projeto SpectrumWare

[69] do Massachusetts Institute of Technology (MIT), para desenvolvimento de SDRs em

computadores pessoais combinados com um hardware para conversao analogica/digital e RF

front-end. O GNU Radio suporta o uso de varios dispositivos como RF front-end, entre eles

USRP [23]. Segundo Eric Blosson, um dos fundadores do projeto, o GNU Radio tem como

objetivo

Page 38: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

10 2. Tecnologias Relacionadas

“trazer o codigo mais proximo possıvel da antena, transformando assim problemas

de hardware em problemas de software [22].”

O GNU Radio disponibiliza uma biblioteca que possui blocos para processamento digital

de sinal, conta com funcoes basicas ate algoritmos completos de filtros, (de)moduladores,

(de)codificadores, etc. A biblioteca permite conectar os blocos para formar um SDR. Os

blocos do GNU Radio permitem realizar uma abstracao da camada fısica de um radio em um

grafo acıclico, onde os nodos representam os blocos de processamento e as arestas o fluxo dos

dados entre os nodos. A figura 2.4 apresenta um exemplo de um flowgraph de uma cadeia

de recepcao, onde, os dados saem do nodo inicial, o Audio Source, e vao fluindo atraves dos

blocos de processamento, sofrendo transformacoes ate chegar no nodo final.

Figura 2.4: Flowgrpah tıpico do GNU Radio.

Conceitualmente, um bloco de processamento processa um fluxo infinito de dados,

fluindo das suas portas de entrada para as suas portas de saıda. A unica restricao existente

para o fluxo de dados e que eles nao podem conter lacos (loops), significa que a parte que

contem loop deve ser construıda completamente dentro de um bloco [52]. As portas dos

blocos de entrada e saıda servem como fontes e sumidouros de dados no grafo. Por exemplo,

ha fontes que leem dados de um arquivo ou de um ADC, e sumidouros que escrevem em um

arquivo, DAC ou em um display grafico.

A estrutura interna do GNU Radio e formada basicamente por quatro componentes

[18] [43]:

Blocos de processamento: sao os componentes que efetivamente atuam sobre o stream e

podem ser dividos em tres classes: Normal, Fonte e Sumidouros. A grande maioria

dos blocos e do tipo Normal, os quais possuem entradas, saıdas e sao responsaveis pelo

processamento do sinal nas fase intermediarias do flowgraph. Os blocos Fontes possuem

somente saıda e iniciam o flowgraph. Os blocos Sumidouros possuem somente entrada

e consomem a stream processada.

Controlador de flowgraph: e responsavel pela abstracao do fluxo de dados, ou seja, a

sequencia de como o sinal e processado pelos blocos e as conexoes entre eles sendo

utilizado para construcao do flowgraph.

Buffer de Dados: e responsavel pela alocacao dos buffers entre os blocos. A funcao define o

tamanho dos buffers considerando a taxa relativa de consumo e producao e os tamanhos

dos dados de entrada e saıda. Cada buffer e implementado como uma FIFO o que

possibilita multiplas portas de leitura e uma unica porta de escrita.

Page 39: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

2.1. Radios definidos por Software 11

Escalonador: e responsavel por movimentar os dados pelo flowgraph, passando repetidas

vezes por cada bloco, ele verifica se ha dados suficientes na entrada e espaco suficiente

na saıda. Se esses requisitos forem satisfeitos o metodo work do bloco e chamado.

A implementacao do GNU Radio e feita em linguagem C++ e Python, e utiliza o

Simplified Wrapper and Interface Generator (SWIG) para criar interfaces entre ambas. A

linguagem C++ e utilizada para programacao onde e necessario desempenho, como nos blocos

de processamento de sinais. Ja a linguagem Python e utilizada para conexao dos blocos de

processamento de sinais. Essa abordagem oferece uma interface de alto nıvel ao desenvolvedor

e um bom desempenho atraves da execucao nativa dos blocos de processamento.

As principais vantagens do GNU Radio estao na utilizacao de plataforma de uso geral

o que facilita a instalacao e desenvolvimento, na quantidade de blocos de processamento

de sinal disponıveis e na grande comunidade de software livre que suporta o framework.

As desvantagens surgem a partir das proprias caracterısticas basicas. Devido as aplicacoes

serem executadas em computador pessoal com um sistema operacional de proposito geral

e se comunicando com RF front-ends atraves de barramentos compartilhados [51]. O uso

desse tipo de sistema insere um atraso nao-determinıstico na cadeia de processamento, o que

impossibilita a implementacao eficiente das camadas mais altas dos protocolos que possuem

requisitos de tempo precisos [56].

2.1.2.1 Universal Hardware Driver

O Universal Hardware Driver (UHD) e um componente mais recente [23], o qual prove

uma Application Programming Interface (API) e device drivers para plataformas de aquisicao

de dados para SDRs, desenvolvidas pela empresa Ettus Research, que normalmente sao uti-

lizados com o GNU Radio. O UHD foi criado com o intuito de criar uma interface padrao para

as diferentes plataformas existentes. Com uma API bem definida permite a portabilidade

para diversas plataformas, atualmente suporta os sistemas operacionais Linux, Windows e

MAC OSX, alem de permitir portabilidade para diversas aplicacoes. A figura 2.5 apresenta

um diagrama em blocos da estrutura interna e funcionamento do UHD.

A API do UHD tem definido um canal de comunicacao um para o envio e recebimento

de dados e outro para mensagens de controle. Por meio dos canais de controle e comunicacao

e possıvel:

• Encontrar dispositivos.

• Configurar propriedades dos dispositivos como: ganho, frequencia central, taxa de

transmissao, selecao de antena e front-end.

Page 40: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

12 2. Tecnologias Relacionadas

Figura 2.5: Diagrama de blocos da estrutura do UHD [23].

• Detectar erros no stream como: overflow, underflow, erros de sequencia.

• Sincronizacao de streams com timestamps para sistemas Multiple-Input and Multiple-

Output (MIMO).

O UHD tem suporte ao padrao VMEbus International Trade Association (VITA)-49

que define a transferencia de dados de uma IF digital entre os equipamentos de aquisicao e

de processamento do sinal. O padrao tem o intuito de proporcionar interoperabilidade entre

os diversos fabricantes. O padrao define um pacote para o stream foi projetado para diminuir

o overhead das mensagens, suporta multi-canais e sincronizacao [61].

2.2 Computacao Reconfiguravel

Atualmente, observa-se um grande numero de aplicacoes que necessitam de recursos

computacionais especıficos. Os processadores de uso geral ou DSPs nao conseguem resolver

eficientemente esses problemas devido as generalidades de suas estruturas internas. Ja as

solucoes implementadas totalmente em hardware (ASIC) apresentam problemas em relacao

a flexibilidade, reusabilidade e time-to-market.

Nesse contexto, a computacao reconfiguravel surge como um paradigma de computacao

que combina o hardware com a flexibilidade do software utilizando hardwares reconfiguraveis

[70]. Possibilita uma maior flexibilidade e desempenho em relacao aos paradigmas de hard-

ware e software, como tambem uma efetiva melhora de eficiencia, custo, generalidade e

Page 41: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

2.2. Computacao Reconfiguravel 13

tolerancia a falhas [13]. A utilizacao de computacao reconfiguravel e vantajosa para sistemas

de alto desempenho, pois, permite explorar multiplos nıveis de paralelismo [67].

As arquiteturas reconfiguraveis sao formadas por blocos (modulos) logicos que repro-

duzem unidades funcionais de processamento, armazenamento, comunicacao. As arquiteturas

reconfiguraveis nao necessariamente precisam ser todas as partes reconfiguraveis, por isso, po-

dem ser hıbridas. Entre as principais caracterısticas das arquiteturas reconfiguraveis, podem

ser destacadas:

Granularidade: essa caracterıstica esta relacionada aos elementos de processamento, pode-

se definir arquiteturas reconfiguraveis em granularidade fina e grossa. Por granularidade

fina, entende-se que a unidade reconfiguravel mınima seja composta por elementos

bastante simples, por exemplo a nıvel de bit. Enquanto, a granularidade grossa e

aquela se se da em menor escala e o sistema e composto de grandes blocos dispostos

em uma organizacao previamente definida.

Reconfiguracao: essa caracterıstica esta relacionada a capacidade de realizar uma ou varias

configuracoes. O tipo da reconfiguracao estatica ou dinamica, parcial ou total, local

ou remota. A configuracao estatica esta relacionada com a configuracao do dispositivo

antes desse comecar a fazer a computacao dos dados, caso seja necessario reconfigurar,

para que se tenha outra funcionalidade, o dispositivo para de executar as operacoes e e

reconfigurado. Ja a reconfiguracao dinamica o dispositivo realiza uma reconfiguracao de

uma area, onde nao esta sendo processado dados, paralelamente a execucao de operacoes

de computacao [30].

Interconexao: essa caracterıstica esta relacionada a forma de conexao entre os diversos

elementos de processamento. Podendo ser classificadas como conexoes dedicadas e bar-

ramentos compartilhados. As conexoes dedicadas sao um conjunto de ligacoes diretas

entre componentes que irao se comunicar. Os barramentos compartilhados sao quando

um conjunto de nucleos compartilha um mesmo conjunto de conexoes e normalmente

sao controlados por uma logica de arbitragem.

No contexto de SDRs as arquiteturas reconfiguraveis representam um papel importante

e sao largamente utilizadas principalmente na realizacao do RF front-end digital. Nessa

etapa ha uma alta vazao de dados e sao realizadas as funcoes de DDC e DUC e outras com

caracterısticas paralelas como separacao de canais [20] [43].

2.2.1 Dispositivos Reconfiguraveis

Um Field Programmable Gate Array (FPGA) e um dispositivo programavel que possui

blocos e conexoes que podem ser programadas. Esse dispositivo permite a implementacao

Page 42: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

14 2. Tecnologias Relacionadas

de circuitos logicos que consistem de um arranjo dos blocos e interconexoes, contidos num

circuito integrado. Sua configuracao pode ser alterada sem que tenham que ser retirados do

circuito eletronico, a capacidade atual dos FPGAs esta na faixa de milhoes de portas logicas

[30].

Um FPGA tıpico e composto por tres componentes basicos: blocos logicos, chaves de

interconexao e blocos de entrada e saıda. A estrutura generica da estrutura e apresentada na

figura 2.6.

Figura 2.6: Arquitetura basica de um FPGA [44].

Os blocos logicos sao implementados atraves de uma estrutura chamada de LookUp

Table (LUT), que representam uma a tabela-verdade de uma determinada funcao logica, um

multiplexador e um flip-flop. A figura 2.7 mostra um exemplo de um bloco logico. A tabela-

verdade e implementada atraves de uma memoria interna e um multiplexador que traduz as

entradas para o elemento correspondente desta memoria interna.

Figura 2.7: Elementos de um bloco logico programavel [44].

Page 43: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

2.2. Computacao Reconfiguravel 15

Os FPGAs comerciais possuem outros blocos na sua composicao nao somente LUTs,

que implementam funcoes puramente combinacionais. Esses FPGAs possuem uma matriz

de blocos logicos configuraveis, cercados por uma rede de interconexao programavel, for-

mada por blocos de interconexao. Circundando todo o circuito, existem os Input Output

Blocks (IOBs), que tambem sao programaveis e que servem como interface com o mundo

exterior [70]. Atualmente, tambem existem nos FPGAs uma area de memoria interna Block

RAM (BRAM) e blocos para gerenciamento de clock. Os Digital Clock Managers (DCMs)

fornecem opcoes para tratamento de sinais de clock, como multiplicacao, divisao, calibracao

e o deslocamento de fase. Alem disso e comum encontrar blocos que exercem funcoes es-

pecıficas de processamento de DSP, tais como somadores e acumuladores, pois os FPGAs sao

amplamente utilizados neste domınio de aplicacao. A figura 2.8 apresenta a estrutura de um

FPGA comercial do fabricante Xilinx.

Figura 2.8: Arquiteturas interna de um FPGA Xilinx [73].

A configuracao do comportamento do FPGA, pode ser feita atraves de uma Hardware

Description Language (HDL). Depois que o circuito foi projetado em HDL ele e sintetizado

independente de plataforma gerando o netlist. O proximo passo, no fluxo de geracao da

configuracao do FPGA, e o mapeamento das estruturas em um dispositivo, este processo e

denominado place-and-route. O place-and-route e uma parte importante desta cadeia, pois

esta diretamente ligado com o desempenho e a melhor utilizacao da area do dispositivo . Ao

final e gerado um arquivo binario que configura o FPGA (bitstream) [13].

Atualmente, as linguagens de descricao de hardware mais utilizadas sao o Verilog e

VHSIC Hardware Description Languange (VHDL). Essas linguagens sao de grande utilidade,

pois permitem definir o comportamento do hardware em alto nıvel. VHDL e um acronimo

de Very High Speed Integrated Circuits (VHSIC) + HDL surgiu na de decada de 1980 e em

1987 foi aprovada como padrao da Institute of Electrical and Eletronic Engineering (IEEE)

[5].

Page 44: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

16 2. Tecnologias Relacionadas

2.3 Network on Chip

Em barramentos compartilhados, um conjunto de nucleos compartilha uma mesma in-

terconexao. Ha uma perda de desempenho devido ao fato que somente um nucleo por vez pode

acessar o barramento, pode-se utilizar outras topologias de barramento como hierarquicos, em

anel ou crossbars [60]. Em um ambiente com diversos nucleos em barramento compartilhado,

uma serie de problemas surge, como [7]:

• dificuldades para dissipacao de energia.

• efeitos na integridade do sinal causados pelo aumento do ruıdo, interferencia eletro-

magnetica.

• atraso nao-determinıstico na propagacao sinais.

Para solucionar os problemas dos barramentos compartilhados foi proposto as Network

on Chip (NoC) [6]. Em uma NoC, os nucleos sao conectados a um comutador (switch) e

realizam a comunicacao por meio de troca de mensagens. Os comutadores estao conectados

em uma malha (mesh) bidimensional o que permite a comunicacao entre os nucleos.

Sao utilizados dois termos para definir os campos dos pacotes em uma NoC. O termo

flit e utilizado para identificar os bits onde serao executadas as acoes de controle de fluxo nos

enlaces. O corpo de um flit em blocos denominados phit, como apresentado na figura 2.9.

O tamanho de um phit em bits corresponde a largura do enlace de comunicacao entre dois

comutadores [60].

Figura 2.9: Estrutura de um pacote de dados em uma NoC [60].

A disposicao dos nucleos pode determinar o grau de escalabilidade e o desempenho de

um sistema utilizando NoC. A seguir e apresentado as topologias utilizadas encontradas na

literatura para construcao de NoC:

Page 45: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

2.3. Network on Chip 17

CLICHE: e uma topologia simples, Chip-Level Integration of Communicating Heterogeneous

Elements (CLICHE) [35] e uma rede em mesh bidimensional, cada roteador e conectado

a um nucleo. A facilidade de roteamento da topologia ajuda diminuir o tamanho do

roteador, aumenta a capacidade dos canais fısicos e melhora a escalabilidade.

Torus: uma topologia similar a mesh, exceto pelo fato de possuir interconexao que ligam

os componentes das extremidades superior com a inferior, e os das direita com os da

esquerda [14].

Butterfly Fat Tree: nessa topologia os nucleos estao dispostos em forma de uma arvore,

cada no e representado por um conjunto de coordenadas nıvel e posicao. Cada roteador

e conectado a outros dois roteadores do nıvel acima e a quatro “filhos” no nıvel abaixo,

que podem ser outros roteadores ou nucleos e sao chamadas de “folhas” [58]

SPIN: esta topologia Scalable Programmable Integrated Network (SPIN) [27] e semelhante

com a Butterfly Fat Tree. Para uma arvore com “N” nucleos, existem um total de

3N/4 roteadores na arvore, todos os nıveis de roteadores possuem o mesmo numero

de roteadores. O tamanho da rede cresce na proporcao de (NlogN)/8. A abordagem

desta topologia e a preservacao data taxa de transmissao no dois sentidos

Octogonal: esta topologia nenhum componente necessita mais do que dois saltos para se

comunicar com outro componente. O modelo basico desta topologia e em anel com

oito componentes. Essa topologia possui vantagens na implementacao do algoritmo de

roteamento e alta taxa de comunicacao [33].

Como vantagens do uso de uma NoC pode-se destacar o reuso, a alta escalabilidade,

melhor controle dos parametros eletricos, devido a estrutura das interconexoes. Como desvan-

tagens o consumo de energia nos comutadores, latencia de comunicacao e o sobre custo de

area em silıcio para geracao dos comutadores.

No restante secao sao apresentadas algumas implementacoes de NoC existentes e as

abordagens que cada implementacao enfoca. As implementacoes apresentadas abordam

questoes particulares de NoC, tais como, topologia, modularidade, reusabilidade entre outros.

2.3.1 Arquitetura HERMES

HERMES e uma infraestrutura para NoC que faz o uso de roteadores bastante simples

para proporcionar um menor sobrecusto de area. O mecanismo de comunicacao e o de

comutacao de pacotes e a topologia do tipo mesh [50]. A topologia da HERMES e mostrada

na figura 2.10

O roteador HERMES possui uma unidade logica de roteamento e cinco portas bidi-

recionais: Norte, Sul, Leste e Oeste, para conexoes com outros roteadores, uma Local para

Page 46: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

18 2. Tecnologias Relacionadas

Figura 2.10: Topologia NoC Hermes [50].

estabelecer comunicacao com o nucleo. Cada porta possui um buffer para armazenar da-

dos temporariamente, caso o destino esteja ocupado ou eventuais problemas de conexao. A

unidade logica implementa o roteamento, logica de arbitragem e o algoritmo de comutacao

de pacotes. A figura 2.11 apresenta o roteador da NoC HERMES.

Figura 2.11: Roteador da NoC Hermes [50].

2.3.2 SoCIN

A NoC System on Chip Interconnection Network (SoCIN) [74] foi desenvolvida pela

Universidade Federal do Rio Grande do Sul. Pode ser construıda utilizando topologias 2D

tanto em mesh quanto torus, como apresentado na figura 2.12.

As interconexoes desta NoC possuem dois canais unidirecionais, cada um com seus

dados, controles de fluxo e empacotamento. As mensagens transmitidas possuem dois bits

que indicam o inicio (bop: begin-of-packet) e o final do pacote (eop: end-of-packet). Os bits

Page 47: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

2.3. Network on Chip 19

Figura 2.12: As duas topologias para SoCIN: mesh e torus

de controle sao usados para validar os dados do canal (val) e para dar conhecimentos dos

dados recebidos (ack). A figura 2.13 apresenta a estrutura do link do SoCIN.

Figura 2.13: Link SoCIN [74].

2.3.3 Æthereal

A NoC Æthereal [26], foi desenvolvida baseada em servicos diferenciados que garantem

uma comunicacao, com o intuito de facilitar integracao e eliminar incertezas da interconexao.

Os servicos diferenciados sao implementados atraves de configuracoes individuais nas metricas

de comunicacao entre os nucleos, como vazao de dados e latencia.

A Æthereal possui dois componentes roteadores e interfaces de rede. O canal imple-

menta uma comunicacao ponto-a-ponto entre duas interfaces de rede, com a possibilidade

de varios caminhos para a conexao dos nucleos. O canal pode ter garantia de latencia ou

de “melhor esforco” na comunicacao, para garantir a latencia usa uma implementacao Time

Division Multiplexing (TDM) para comutacao do circuito. A figura 2.14 apresenta o roteador

Æthereal trabalhando nas duas abordagens garantia de latencia e “melhor esforco”.

A ordem da entrega das mensagens nao e garantida quando utilizado varios canais,

Æthreal tem a possibilidade de controlar nas conexoes multiplos canais, controle de fluxo e

um reordenacao das mensagens.

Page 48: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

20 2. Tecnologias Relacionadas

Figura 2.14: Roteador da NoC Æthreal [26].

2.3.4 QNoC

A rede QNoC foi proposta em [8] e possui uma topologia de malha irregular o mecanismo

de comunicacao e o de comutacao de pacotes, possui controle de fluxo baseado em creditos.

A QNoC oferece classes de servico com diferentes nıveis de prioridade como: (a) Signalling,

nıvel de servico com maior prioridade na rede; (b) Real time, nıvel de servico que garante

largura de banda e latencia para as aplicacoes; (c) Read/Write, nıvel de servico projetado

para suportar acessos curtos a memorias e registradores; (d) Block Transfer, nıvel de servico

usado para transferencia de mensagens e blocos de dados grandes.

A figura 2.15 ilustra a arquitetura do roteador da QNoC, suporta ate cinco conexoes:

quatro para roteadores vizinhos e uma para o nucleo local. O roteador transfere os pacotes

das portas de entrada para as de saıda, os dados sao recebidos em flits e armazenados em

buffers de entrada. Na medida que o roteador envia os dados uma posicao do buffer fica

disponıvel e um credito e enviado ao outro roteador. O gerenciamento das prioridades utiliza

o algoritmo round-robin e os nıveis de servico sao indicados por um canal de controle.

2.3.5 RTSNoC

A Real Time Star Network on Chip (RTSNoC) foi desenvolvida no intuito de criar uma

estrutura de intercomunicacao com previsibilidade de latencia, sendo assim apropriada para

a interconexao de nucleos de tempo real que necessitem deste tipo de garantia. O principal

elemento que compoem esta rede e o seu roteador.

O roteador da rede RTSNoC possui oito pontos de interconexao, conforme ilustra a

figura 2.16. Os oito pontos recebem os nomes de pontos cardeais de uma bussola: NN para

Page 49: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

2.3. Network on Chip 21

Figura 2.15: Arquitetura do roteador QNoC [8].

a porta Norte, NE para Nordeste, EE para Leste, SE para Sudoeste, SS para Sul, SW para

Sudoeste, WW para Oeste e finalmente NW para Noroeste.

Figura 2.16: Topologia do roteador RTSNoC.

Em cada ponto de interconexao do roteador da rede RTSNoC estao disponıveis os

enlaces da rede, que constituem os canais de comunicacao da rede. Os enlaces da rede RT-

SNoC sao implementados por dois canais unidirecionais em oposicao, conforme figura 2.17. O

tamanho de cada canal pode ser configurado pelo usuario de acordo com as necessidades da

aplicacao. Os barramentos de sinais denominados de DIN e DOUT referem-se aos barramen-

tos de dados de entrada e saıda de dados, respectivamente. Os sinais RD e WR sao strobes

utilizados para escrever ou ler dados no roteador, respectivamente. Por fim, os sinais WAIT

e ND constituem os sinais utilizados para controle de fluxo na rede. O sinal WAIT indica ao

Page 50: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

22 2. Tecnologias Relacionadas

PE que deve aguardar para poder escrever novo dado no canal de entrada do roteador. Ja o

sinal ND indica ao canal de destino do pacote que um novo pacote esta disponıvel para ser

encaminhado.

Figura 2.17: Canais de comunicacao da RTSNoC.

Com um roteador e oito nucleos e constituıda uma subrede RTSNoC. A interconexao de

mais roteadores, alem dos nucleos, permite que sejam estabelecidas redes em malha regular

2-D ou irregular 2-D, conforme apresentado nas figuras 2.18a e 2.18b.

(a) Malha regular comquatro roteadores

(b) Malha irregular comtres roteadores.

Figura 2.18: Exemplos de redes RTSNoC.

2.3.5.1 Formato dos pacotes na RTSNoC

O roteador da Rede RTSNoC e parametrizavel em tempo de projeto. Os parametros

ajustaveis sao o tamanho do campo de dados e as coordenadas cartesianas dos roteadores

envolvidos em uma determinada comunicacao. A figura 2.19 apresenta o formato deste pacote.

Como a rede RTSNoC trabalha em malha regular ou irregular 2-D, sao utilizados dois

campos, denominados de XORI e YORI, que correspondem as coordenadas X e Y do roteador

na malha de onde esta sendo gerado um pacote, ou seja, o seu endereco de origem. O mesmo

Page 51: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

2.3. Network on Chip 23

Figura 2.19: Formato dos pacotes da RTSNoC.

acontece para o endereco do roteador de destino do pacote, que possui os campos XDST e

YDST para informar as coordenadas de destino na comunicacao. O campo HORI refere-se

ao endereco da porta dentro do roteador de origem de onde esta sendo enviado o pacote para

a rede. De modo similar, HDST e a informacao do nucleo de destino do pacote a ser roteado.

O campo DATA apresentado na figura 2.19 e a carga util que deve ser entregue aos

nucleos da rede. A limitacao de um phit por pacote esta contida na camada de rede da NoC.

Pacotes com numero ilimitado de dados podem ser constituıdos logicamente entre os nucleos,

de modo transparente para a NoC.

2.3.5.2 Estrutura interna do Roteador

O roteador proposto possui oito canais bi-direcionais, os quais podem ser conectados

a nucleos ou aos canais de outros roteadores. O algoritmo de roteamento adotado e do tipo

XY e por este motivo os canais Norte, Sul, Leste e Oeste sao priorizados para conexao com

os canais de outros roteadores, quando necessario, para formar uma rede em malha 2-D. A

figura 2.20 ilustra a estrutura interna do roteador da RTSNoC.

Cada canal de entrada e composto por uma interface de entrada, uma interface de saıda

e um controlador de fluxo. A interface de entrada possui um registrador capaz de armazenar

um phit. Quando um nucleo deseja enviar pacotes pela rede ele deve escrever o pacote neste

registrador. Em seguida, o controlador de fluxo ira identificar no cabecalho do pacote qual

o destino da mensagem e verificara se o destino esta livre para ser utilizado. Paralelo a

isto, o controlador de fluxo informa ao bloco arbitro da existencia de uma nova requisicao de

roteamento.

O bloco arbitro implementa um algoritmo tipo Round Robin. Ao inicializar, todos os

canais recebem um nıvel de prioridade, diferente dos demais. Um determinado nucleo so

tera sua requisicao de roteamento atendida se tiver prioridade superior aos outros nucleos

que estao enviando requisicoes ao arbitro naquele momento, ou entao se nao houver outra

requisicao pendente no arbitro alem da sua requisicao. Uma vez que a requisicao e atendida,

o canal que solicitou o envio de pacotes passa a ter a menor prioridade na arbitragem e

Page 52: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

24 2. Tecnologias Relacionadas

so podera enviar outro pacote na sequencia se nenhum outro canal estiver requisitando um

roteamento.

Figura 2.20: Estrutura interna do roteador da RTSNoC.

Uma vez que foi definido qual canal tera prioridade de roteamento, o bloco arbitro envia

um comando ao bloco de switch, comunicando qual roteamento deve ser realizado naquele

momento. O roteamento adotado e o algoritmo XY. Este algoritmo e utilizado em NoCs com

topologia de malhas regulares, pois em sua operacao um caminho deve primeiro percorre a

coordenada X para entao efetuar o encaminhamento no eixo Y. Esta abordagem e utilizada

para evitar o problema de deadlock causados pela alocacao de recursos feita por dois ou mais

fluxos.

Devido ao fato de o algoritmo XY ser utilizado no roteamento em redes com topologia

malha regular 2-D, e necessario fazer a alocacao de determinados canais dos roteadores para

que se possa garantir o funcionamento deste tipo de algoritmo numa malha irregular. No

exemplo apresentado na figura 2.18b, o canal Oeste do roteador numero sete esta conectado

ao canal Sul do roteador numero cinco. Se esta conexao nao tivesse sido realizada, um

pacote gerado por algum nucleo do roteador numero sete nao conseguiria alcancar nenhum

dos nucleos conectados no roteador numero cinco.

Page 53: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

2.3. Network on Chip 25

Uma vez definida a arbitragem, o bloco arbiter envia um comando para o bloco

switch, responsavel por controlar a crossbar que e quem realiza o encaminhamento do pacote

disponıvel no registrador de entrada para o canal de saıda.

O roteador da RTSNoC utiliza quatro ciclos de clock para realizar o encaminhamento

de um pacote. Na versao original sao dois ciclos de clock, mas foi detectado um problema na

estrutura interna de roteamento, para um caso particular de transmissao de dados, e houve a

necessidade de alterar o roteador incluindo dois ciclos a mais, em media. Sera realizado um

trabalho especıfico para que o roteador possa novamente trabalhar apenas com dois ciclos de

clock.

2.3.5.3 Simulacao funcional do roteador

Em um cenario onde foram colocados dois nucleos em um roteador RTSNoC. Um nucleo

conectado na porta Norte (NN) envia cinco pacotes para o nucleo conectado na porta Oeste

(WW). Os sinais do canal de comunicacao sao apresentados na figura 2.21, que e o resultado

desta simulacao realizada na ferramenta ISE do fabricante Xilinx.

Figura 2.21: Simulacao de envio de pacotes na RTSNoC.

Conforme ilustrado na figura 2.21, os dados a serem enviados pelo roteador sao disponi-

bilizados pelo nucleo 1 no barramento i DIN NN[37:0]. Uma vez que os dados estao disponıveis

em i DIN NN, o nucleo gera um pulso de um perıodo de clock em i WR NN para registrar

o dado no roteador. Em seguida, o roteador coloca o sinal o WAIT NN em nıvel 1 ate que

o dado disponibilizado pelo nucleo 1 possa ser encaminhado. Este sinal e um indicativo de

que o nucleo conectado na porta Norte deve esperar para poder enviar novo dado por aquela

porta. Quando o dado fica disponıvel para a porta de destino, neste caso a porta Oeste

(WW), o roteador coloca o pino o ND WW em nıvel logico 1, indicando que existe um dado

Page 54: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

26 2. Tecnologias Relacionadas

valido para aquela porta. O nucleo 2 deve entao gerar um pulso de um ciclo de clock em

i RD WW para poder retirar este dado do roteador, que e disponibilizado no barramento

o DOUT WW[37:0].

2.3.5.4 Adaptadores de Canais na RTSNoC

A interconexao entre os canais de dois ou mais roteadores ou a interconexao entre os

nucleos e os roteadores deve ser feita atraves de adaptadores (wrappers). A figura 2.22 ilustra

um exemplo de interconexao entre roteadores e nucleos.

Figura 2.22: Uso de adaptadores na interconexao de roteadores e nucleos.

Os adaptadores sao necessarios devido ao fato de os canais de comunicacao da RTSNoC

terem sido dimensionados para utilizarem o menor numero possıvel de sinais de handshake.

Como os canais de comunicacao da Rede RTSNoC sao bi-direcionais, sao necessarios dois

adaptadores para cada interconexao entre nucleos e roteadores ou entre roteadores.

A figura 2.23 apresenta uma maquina de estados de um exemplo de adaptador para a

RTSNoC. Esta maquina fica aguardando pela chegada de um novo dado no canal de comu-

nicacao (estado idle). Ao receber um novo dado, a maquina registra o pacote internamente,

verifica se o canal de destino esta disponıvel e, se estiver disponıvel, encaminha o pacote.

2.4 Desenvolvimento para FPGA em alto nıvel

Historicamente, os fluxos tradicionais para desenvolvimento de projeto em FPGA sao

espelhados nos processos de desenvolvimento de Aplication Specific Integrated Circuits (ASICs).

Page 55: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

2.4. Desenvolvimento para FPGA em alto nıvel 27

Figura 2.23: Exemplo de uma maquin de estados para um adaptador RTSNoC.

Um modelo do sistema e criado a partir de uma linguagem imperativa, como C ou MAT-

LAB. A fase de modelo representa a primeira oportunidade de realizar testes e validacao do

sistema. Tipicamente, a implementacao inicial e descrita em uma linguagem de descricao

hardware como VHDL ou Verilog para Register Transfer Level (RTL), que permite a de-

scricao da logica por comportamento. Normalmente, a descricao RTL envolve a instanciacao

de Intellectual Property (IP) reutilizaveis (por exemplo, decodificador Viterbi, Fast Fourier

Transform (FFT), filtro Finite Impulse Response (FIR)), muitas vezes fornecidos pelo fabri-

cante do FPGA, para assegurar a implementacao eficiente de funcoes complexas.

Testes de conformidade e funcionais, para o modelo original do sistema, sao feitos

atraves de simulacao do HDL com a criacao de testbenchs. Este acoplamento fraco entre o

modelo e a implementacao do sistema faz a depuracao difıcil e demorada. Por exemplo os

testes, proporcionam apenas uma relacao de entrada/saıda, por isso e muitas vezes necessario

refazer o modelo de sistema, que em alguns casos e desenvolvido por uma equipe totalmente

diferente, a fim de extrair estados e sinais internos para a depuracao.

Sytem Generator e um ambiente de projeto em nıvel de sistema para FPGAs. O fluxo

de projeto e integrado ao Matlab/Simulink, permite sıntese de HDL para dispositivos Xilinx,

possui bibliotecas de IPs com blocos de aritmetica, operadores logicos e funcoes DSPs. Gera

testbench, arquivos para simulacao e permite co-simulacao em hardware.

Em contraste, ao desenvolvimento tradicional, o fluxo de desenvolvimento com base

no System Generator, ou ferramentas similares deriva o hardware diretamente do modelo

atraves da geracao automatica de codigo [19] [32]. O metodo utilizado pelo Sytem Generator,

Page 56: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

28 2. Tecnologias Relacionadas

tambem conhecido como model-based design, visa aumentar a produtividade, devido o nıvel

de abstracao, e confiabilidade pela geracao automatica de codigos. A figura 2.24 mostra o

fluxo de desenvolvimento utilizando o System Generator, o diagrama apresenta um tıpico

fluxo para co-simulacao do HDL.

Figura 2.24: Fluxo de desenvolvimento utilizando o System Generator.

O System Generator estende a API padrao do Simulink criando uma interface para

a simulacao do HDL diretamente em plataformas de hardware. A ferramenta faz a geracao

do bitstream sem a necessidade da utilizacao de ferramentas de FPGA. Utilizar somente um

sistema permite acelerar significativamente a simulacao e validacao do projeto.

Em [29] (tabela 2.1) e apresentado uma comparacao de “homem-hora” entre o tradi-

cional modelo de desenvolvimento versus a abordagem em alto nıvel. O levantamento dos

dados foram realizados no desenvolvimento um sistema SDR, levando em consideracao as

seguintes categorias: (a) especificacao de interface e algoritmo; (b) projeto dos modulos;

(c) modelagem, simulacao e verificacao; (d) desenvolvimento do VHDL; (e) verificacao com-

portamental do VHDL; (f) integracao dos modulos. As duas abordagens foram realizadas

individualmente por dois desenvolvedores com varios anos de experiencia na implementacao

de sistemas de comunicacao. Mesmo sendo uma avaliacao subjetiva pode-se concluir uma

maior produtividade utilizando desenvolvimento em alto nıvel.

Page 57: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

2.5. Consideracoes Finais 29

Tabela 2.1: Tabela de comparacao desenvolvimento FPGA [29].

BlocosEspecif. Projeto Modelagem, Desenv. Verif. Integracao

Fluxode interface dos simulacao e do do dose algoritmo modulos verificacao VHDL VHDL modulos

Reed Solomon Encode1 0,25 2 0 0 0 A2

40 40 0 40 60 20 B3

Reed Solomon Decode1 0,5 3 0 0 0 A20 80 0 60 100 20 B

Scrambler/Descrambler0 0,25 3 0 0 0 A1 1 0 1 6 3 B

Convulotional Encode0 0,25 1,5 0 0 0 A1 1 0 1 1 1 B

Viterbi Decode0 0,5 2 0 0 0 A8 8 0 8 16 24 B

Differential Enc/Dec0 0,25 1 0 0 0 A1 1 0 1 4 2 B

Interleaver/Deinterleaver0 0,5 2 0 0 0 A40 16 0 16 36 60 B

PSK Modulator (2,4,8)1 0,5 4 0 0 0 A5 5 0 4 3 3 B

Frame Sync1 4 16 0 0 0 A4 6 0 4 6 4 B

Totais4 7 34,5 0 0 0 A

120 158 0 135 232 137 B

2.5 Consideracoes Finais

Este capıtulo introduziu conceitos fundamentais para o entendimento da proposta do

trabalho. Apresentou detalhes sobre SDRs, computacao reconfiguravel, redes-em-chip e abor-

dagens de desenvolvimento em FPGA. No proximo capıtulo sera apresentado os trabalhos

relacionados que envolem grande parte desses conceitos.

2Fluxo de projeto utilizando abordagem em alto nıvel.3Fluxo de projeto utilizando abordagem tradicional.

Page 58: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

30 2. Tecnologias Relacionadas

Page 59: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

Capıtulo 3

Trabalhos Relacionados

Varias arquiteturas de SDR foram propostas pela academia e a industria nos ultimos

anos, segundo [63] existem duas abordagens para arquiteturas de SDR que podem ser seguidas:

(i) baseada em hardware reconfiguravel e (ii) baseada em um processador central, normal-

mente um DSP, com aceleradores para auxiliar a arquitetura. A segunda abordagem garante

uma elevada flexibilidade, mas tambem sofre de problemas relacionados com o consumo de

energia. Para reduzir o consumo de energia, algumas plataformas utilizam varios DSPs ro-

dando a um clock relativamente em baixo. Nesse capıtulo, vamos analisar diferentes solucoes

propostas para arquiteturas de SDR com base nas duas abordagens mencionadas (Figura 3.1)

[4].

Figura 3.1: Categorizacao das solucoes em SDR.

3.1 Arquiteturas com Processador Central

Esta secao fornece uma visao geral de algumas arquiteturas de SDR baseadas em um

processador central (DSPs), que possuem recursos extras, como aceleradores, para explorar o

Page 60: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

32 3. Trabalhos Relacionados

paralelismo intrınseco de alguns blocos de radio. Alem disso, algumas das plataformas usam

a ideia de multiplos nucleos, onde tarefas maiores sao divididas em partes menores.

3.1.1 LeoCore

LeoCore [40] e um Application Specifc Instruction Set Processor (ASIP) para pro-

cessamento de sinais de radio em banda base. Este nucleo foi desenvolvido para telefones

celulares, laptops, terminais de radiodifusao, Global Positioning System (GPS) e sistemas em-

barcados. A filosofia basica por tras da arquitetura e primeiro identificar em nıvel algorıtmico

as operacoes de processamento de sinal necessario para a aplicacao, como: FFT, filtros, dec-

imadores, interpoladores, geradores de forma de onda, etc. Em seguida mapear os para um

processamento adequado como um processador Single Instruction Multiple Data (SIMD) ou

um acelerador ASIC.

A arquitetura do LeoCore e dividida em quatro processadores otimizados de maneira

diferente para tratar um conjunto distinto de operacoes. Os processadores sao classificados

como: RF front-end digital, processador SIMD, aceleradores de funcoes, processador para

controle e outras funcoes (3.2).

Figura 3.2: Arquitetura LeoCore [40].

O conjunto de instrucoes dessa arquitetura cobre estritamente funcoes de DSP men-

cionadas anteriormente, nao permitindo executar aplicacoes de uso geral. Ha uma troca

de flexibilidade por eficiencia em nıvel de instrucao. Os principais problemas relacionados

a otimizacao sao latencia dos dados e consumo de energia. Para solucionar problemas de

latencia sao realizados paralelizacao de tarefas, para contornar os problemas de consumo de

energia foi proposto desligar os modulos ociosos [39].

Page 61: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

3.1. Arquiteturas com Processador Central 33

Juntamente com o LeoCore e fornecido o Coresonic Developer Studio, uma ferramenta

de desenvolvimento que possui montador e depurador. Em publicacoes ha benchmarks para

sistemas Digital Video Broadcasting - Terrestrial (DVB-T) e Worldwide Interoperability for

Microware Access (WiMAX)

3.1.2 Signal-processing On-Demand Architecture

Signal-processing On-Demand Architecture (SODA) e uma arquitetura para disposi-

tivos moveis com foco em reducao de consumo de energia. A arquitetura e baseada em

dividir as tarefas em dois tipos de processadores, um para dados onde sao realizadas as

operacoes de DSP, outro para controle que destina-se a executar as operacoes de sistema e

gerenciar os processadores de dados, atraves de Remote Procedure Call (RPC) e operacoes

de Direct Memory Access (DMA). A arquitetura e apresentada na figura 3.3 sendo composta

por um processador de controle, quatro processadores de dados e uma memoria scratchpad.

Os componentes sao interconectados por meio de um barramento compartilhado. Os proces-

sadores de dados possuem uma memoria interna para instrucoes e dados, uma unidade de

processamento escalar e uma unidade SIMD para processamento vetorial.

Figura 3.3: Visao geral da arquitetura SODA [72].

Page 62: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

34 3. Trabalhos Relacionados

Um aspecto importante desta arquitetura e que ela nao utiliza uma abordagem multi-

threading, cada tarefa e realizada em uma unidade de processamento (PE). Essa abordagem

foi escolhida, devido as observacoes que fizeram durante o desenvolvimento da arquitetura,

onde a taxa de comunicacao inter-unidade e muito mais baixa do que a intra-unidade para

aplicacoes de processamento de sinais em banda base. Os desenvolvedores da SODA desen-

corajam solucoes multithreading para um projeto de processador de comunicacao em banda

base.

3.1.3 Tomahawk

Tomahawk e uma plataforma heterogenea de SDR em um unico chip. Como em muitas

outras solucoes explora e paralelismo no nıvel de tarefa. Sua principal caracterıstica e o seu

CoreManager que e um escalonador dedicado em hardware (3.4). Essa arquitetura utiliza dois

processadores Reduced Instruction Set Computing (RISC) Tensilica para executar um sistema

operacional e funcoes de controle, seis unidades de DSP, um ASIP para decodificadores e

filtros. Todos as unidades do chip utilizam transferencia sıncrona para diminuir o consumo

de energia [12]. Foram realizados testes na arquitetura para WiMAX e 3GPP Long Term

Evolution (LTE).

Figura 3.4: Arquitetura Tomahawk MPSoC [38].

Seu modelo de programacao deve ser mencionado como uma das principais vantagens

da arquitetura, distinguindo-se das outras solucoes. As tarefas sao basicamente convertidos

em descricoes de tarefas em tempo de compilacao. Estas descricoes sao enviadas pela unidade

de controle para CoreManager com uma fila de comprimento maxima de dezesseis tarefas.

O mapeamento espacial e temporal dessas tarefas para as unidades do chip e entao feita

automaticamente pelo CoreManager. Este modelo de programacao facilita o desenvolvimento,

pois nao e necessario o desenvolvimento das tarefas, diminuindo o ciclo de projeto.

Page 63: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

3.2. Arquiteturas Reconfiguraveis 35

3.2 Arquiteturas Reconfiguraveis

Esta secao fornece uma visao geral de algumas arquiteturas reconfiguraveis de granu-

laridade grossa voltadas para processamento de fluxo de dados deSDR.

3.2.1 ADRES

A Architecture for Dynamically Reconfigurable Embedded Systems (ADRES) sao unidades

de processamento que possuem uma arquitetura reconfiguravel de granularidade grossa e sao

usados para processamento em banda base.

Figura 3.5: Nucleo da arquitetura ADRES [10].

O diferencial da arquitetura ADRES e a utilizacao de um processador Very Long In-

struction Word (VLIW) em um arranjo de elementos de processamento reconfiguraveis, como

mostrado na figura 3.5 [10]. Os autores apresentam que o uso de um processador VLIW ao

inves de um processador RISC, comum em outras arquiteturas, traz um ganho de velocidade

superior. Isso se da pelo fato que os processadores VLIW sao capazes de explorar eficiente-

mente paralelismo no nıvel de instrucoes.

Page 64: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

36 3. Trabalhos Relacionados

Os elementos de processamento do ADRES sao unidades funcionais com bancos de

registradores acoplados que se comunicam atraves de memoria compartilhada. Essa abor-

dagem facilita a geracao de codigo binario por compiladores, mas acarreta problemas de

escalabilidade nos bancos de registradores.

3.2.2 BUTTER e CREMA

BUTTER e uma arquitetura reconfiguravel de granularidade grossa desenvolvida na

Tampere Universtity of Tehcnology [11]. A arquitetura e composta por uma matriz de

unidades de processamento, que pode ter as funcionalidades e interconexoes definidas em

tempo de execucao (figura 3.6). Essa caracterıstica permite alcancar uma alta taxa de dados

necessaria em aplicacoes de SDR.

Figura 3.6: Arquitetura Butter e Crema [25].

Normalmente a matriz de unidades de processamento tem uma dimensao de 4x8 ele-

mentos, sedo que cada elemento pode executar diferentes tipos de operacoes aritmeticas. Essa

matriz foi idealizada para ser utilizada como um co-processador na combinada com um pro-

cessador de proposito geral. Na plataforma dos desenvolvedores e acoplado um processador

open-source chamado COFFE [55], que e utilizado como um controlador global, enquanto a

matriz realiza computacao intensiva.

Um novo nucleo reconfiguravel foi concebido como evolucao do BUTTER. O novo

Page 65: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

3.2. Arquiteturas Reconfiguraveis 37

nucleo e chamado CREMA, permite em tempo de projeto adaptar a arquitetura de cada

unidade de processamento de acordo com os requisitos da aplicacao. Esse recurso reduz a

flexibilidade de reproduzir instancias especıficas, mas reduz o tempo de reconfigurabilidade e

o tamanho de uma logica em FPGA.

3.2.3 Arquitetura de Canais para SDR de Multiplas Camadas

A arquitetura proposta por [17] emprega o conceito de multiplos canais entre a interface

fısica (hardware) e as camadas fısicas (PHYs) implementadas em software. A mudanca de

paradigma de “manipulacao do espectro” para “multiplos canais” simplifica a interacao com

o hardware e permite que a dependencia da camada fısica (PHY) passe a ser um canal ou

um grupo de canais e nao mais o hardware como um todo, permitindo o compartilhamento

da mesma janela amostrada pelo ADC por varias camadas fısicas. Essa simplificacao tornou

transparente varias configuracoes do hardware, uma vez que a partir dos canais solicitados

(frequencias centrais e larguras de banda) ao bloco de controle e possıvel inferir todos os

parametros de configuracao. A figura 3.7 apresenta um diagrama de blocos da arquitetura

proposta, a sua prototipacao foi feita utilizando como base a plataforma USRP2 e o GNU

Radio, as alteracoes nao diminuıram a flexibilidade no projeto ou em tempo de execucao se

comparada com a arquitetura tradicional.

Figura 3.7: Arquitetura de multiplos canais [17].

Outro benefıcio proporcionado pelo conceito de canal e a possibilidade da adicao de

uma estrutura de separacao de canais no hardware, o que diminui drasticamente a ocupacao

Page 66: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

38 3. Trabalhos Relacionados

do processador de uso geral do sistema (host), uma vez que o paralelismo intrınseco existente

na separacao de diversos canais, que exige o processamento concomitante do mesmo grupo

de dados, e a alta quantidade de amostras por segundo, proveniente das fases iniciais do

radio, sao caracterısticas onerosas para implementacoes em software e sao beneficiados pela

implementacao paralela do hardware.

3.2.4 CRUSH

Cognitive Radio Universal Software Hardware (CRUSH) proposta por [21] e uma ar-

quitetura para SDR com foco em aplicacoes de radio cognitivo, sua principal ideia e mover

o processamento de dados mais proximo do front-end utilizando FPGAs, pois esses com-

ponentes permitem alto desempenho e reconfigurabilidade. A proposta propoe resolver um

problema encontrado atualmente, onde grande parte das amostras sao processadas utilizando

um computador como host impactando muito em radios que possuem tarefas com tempo

crıtico.

A figura 3.8 apresenta um digrama em blocos da arquitetura CRUSH, e composta

por um kit de desenvolvimento FPGA Xilinx ML605 conectado a uma USRP N210, dessa

forma, aumentando os recursos de logica programavel disponıveis. Para um cenario de testes

da plataforma foi implementado um algoritmo de sensoriamento de espectro, utilizado para

determinar a disponibilidade de canais para comunicacoes de radio cognitivos. Os resultados

mostram ganhos significativos na execucao de FFTs e no ciclo completo de sensoriamento do

espectro.

Figura 3.8: Diagrama do sistema CRUSH [21].

Page 67: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

3.3. Consideracoes Finais 39

3.3 Consideracoes Finais

Alem das arquiteturas apresentadas existem outras que foram propostas nos ultimos

anos, SandBridge Sandblaster [68], NXP Embedded Vector Processor (EVP) [57], Heteroge-

neous Reconfigurable System (HERS) [54].

Muitas das arquiteturas consistem em um System on Chips (SoCs) que incluem um

processador de proposito geral para implementacao das camadas mais altas dos protocolos e

co-processadores SIMD para fazer processamento dos sinais. Apesar de muitas das arquite-

turas apresentadas atingirem os requisitos de desempenho, elas impoem muitas dificuldades

no desenvolvimento de aplicacoes. Por exemplo, na maioria das arquiteturas o desenvolve-

dor deve dividir as tarefas, definir as partes que rodaram em software, nos aceleradores e

nas unidades DSP. No caso das unidades DSP deve-se escrever as tarefas diretamente na

linguagem assembly para a maioria dos casos.

Segundo [4] num futuro proximo a evolucao dessas arquiteturas e adotar o paradigma de

NoC para integrar um numero crescente de subsistemas com altas demandas computacionais.

Os proximos desafios da area sao aumentar o poder de processamento, limitar o consumo de

energia e tornar mais flexıvel o processo de desenvolvimento dos SDRs.

Page 68: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

40 3. Trabalhos Relacionados

Page 69: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

Capıtulo 4

Arquitetura Heterogenea e

Reconfiguravel

Neste capıtulo, inicialmente, apresenta-se os fatores que motivaram o desenvolvimento

de uma nova arquitetura para SDR. Em seguida e mostrada a arquitetura e suas carac-

terısticas.

4.1 Motivacoes

Os trabalhos relacionados, apresentados no capıtulo 3, levantam as principais carac-

terısticas que as futuras arquiteturas de SDR devem possuir:

• Alto poder de processamento.

• Baixo consumo de energia.

• Reconfigurabilidade.

• Facilidade de programacao.

A metodologia para desenvolvimento de arquiteturas de SDR proposta em [40] sugere

que o primeiro passo do projeto e especificar os potenciais produtos que a arquitetura pre-

tende atender. Por exemplo, a arquitetura sera utilizada em telefones celulares, terminais

de radiodifusao, sistemas de posicionamento global. Apos a especificacao dos produtos, os

padroes relacionados devem ser coletados (802.11 a/b/g/n, DVB-T), a partir dos padroes sao

definidos os subsistemas como: (a) Digital front-end, (b) sincronizadores, (c) estimadores de

canais, (d) equalizadores de canais e (e) modulos corretores de erros. Por fim, os algoritmos

necessarios pelos subsistemas sao especificados e alocados para o hardware (figura 4.1).

Page 70: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

42 4. Arquitetura Heterogenea e Reconfiguravel

Figura 4.1: Exploracao de arquiteturas de SDR.

Segundo analises realizadas por Anjum et al [4] em aplicacoes de radio, cerca de 90%

do tempo de execucao do processamento na camada fısica e usado para executar os seguintes

algoritmos:

• Filtros de dados do tipo inteiro, utilizados para filtragem e correlacao.

• Filtros de dados do tipo complexo, utilizados em filtros passa-baixo e banda-passante,

identificacao de preambulos, adaptacao de taxas, sincronizacao de fase e quadratura.

• Algoritmos de transformacao como FFT, Discrete Cosine Transform (DCT) e trans-

formada de Walsh.

• Processamento de sinais no domınio da frequencia, como filtros, processamento de sub-

portadoras, estimacao de canais e equalizacao.

• Algoritmos de divisao, raiz quadrada de dados inteiros e complexos, geradores de onda.

• Computacao de matrizes em ambos os domınios do tempo e da frequencia incluindo

soma, multiplicacao, transposicao e decomposicao de matrizes.

• Algoritmos de Forward Error Correction (FEC) e Cyclic Redundant Check (CRC).

Varios decodificadores FEC sao amplamente adotados nos sistemas modernos de comu-

nicacao sem fio.

Desta forma, conclui-se que uma arquitetura capaz de otimizar a execucao desta classe

de algoritmos, denominados essenciais, por consequencia ira aumentar o desempenho e eficiencia

do sistema.

Page 71: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

4.2. Arquitetura Proposta 43

A arquitetura a ser proposta tem como meta atender alguns requisitos, como desem-

penho e flexibilidade, que podem variar de acordo com a aplicacao e as caracterısticas do

radio a ser implementado. Para alcancar esses requisitos, optou-se por utilizar os recursos de

paralelismo e reconfiguracao utilizando o paradigma de computacao reconfiguravel.

O paralelismo sera alcancado utilizando o processamento simultaneo de varios blocos

de processamento de sinal com o intuito de diminuir o tempo de execucao do fluxo de dados.

A arquitetura possuira um grau de paralelismo variavel, de acordo com a demanda de cada

aplicacao. Ja a utilizacao da reconfiguracao tem o intuito de tornar a arquitetura mais flexıvel

(adaptavel para cada tipo de radio e requisitos da aplicacao), visto que ela permite alterar al-

gumas de suas caracterısticas. Com o aumento da flexibilidade, espera-se, por exemplo, poder

fazer a opcao de realizar o processamento de um bloco em software de proposito geral ou em

um bloco de hardware dedicado, em detrimento de um maior consumo de recursos logicos, ou

vice-versa. As tecnicas de reconfiguracao tambem possibilitam uma maior tolerancia a falhas

no circuito digital, pois no caso de defeito em alguma parte do dispositivo, o circuito pode ser

implementado em outra area do chip. Alem disso, com a computacao reconfiguravel pode-

se obter uma significativa reducao de custos, uma vez que o recurso de reconfigurabilidade

permite a utilizacao do mesmo hardware para diferentes versoes do produto.

4.2 Arquitetura Proposta

A nova arquitetura proposta usa a ideia de paralelismo ao nıvel de tarefa utilizando

uma estrutura heterogenea com componentes de processamento em software e hardware. Os

componentes de hardware sao dedicados para a execucao de uma tarefa, podendo ser chama-

dos de aceleradores, e podem ser reconfigurados dependendo das necessidades da aplicacao.

Essa abordagem propoe o mapeamento de tarefas em hardware com a finalidade de aumentar

o desempenho do sistema.

O diferencial desta proposta e a utilizacao de uma NoC como forma de interconexao e

comunicacao dos blocos de processamento. Como forma de programacao a arquitetura oferece

um framework que possibilita o mapeamento das tarefas de alto nıvel em hardware, por meio

de um bloco de controle, este bloco controla o fluxo de execucao e realiza a configuracao dos

parametros dos nodos em hardware.

A arquitetura proposta e apresentada na figura 4.2 sendo composta dos seguintes blocos:

Interface RF: bloco responsavel por realizar a interface com ADCs e DACs, que fazem a

conversao dos sinais RF, sendo este nodo o fonte para um SDR. O bloco tambem realiza

toda a parte de DFE DDCs e DUCs.

Page 72: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

44 4. Arquitetura Heterogenea e Reconfiguravel

Controle: bloco responsavel pelo controle e conexao dos nodos para a formacao do SDR,

tambem do fluxo e da taxa de dados entre os nodos. E composto por um processador,

sof-core arquitetura MicroBlaze, e perifericos conectados pelo barramento AMBA4

AXI-Lite 1.

Interconexao: a comunicacao entre os blocos da arquitetura e realizada por meio de uma

rede-em-chip, os nucleos pertencentes ao bloco de controle se conectam por meio de um

barramento compartilhado. A comunicacao entre o bloco de controle e os outros blocos

se da por uma bridge entre a rede-em-chip e o barramento compartilhado.

Aceleradores: sao blocos que realizam uma tarefa especifica de processamento digital de

sinais, mais especificamente os algoritmos essenciais (citados anteriormente) para ca-

mada fısica de um radio. A arquitetura preve dois aceleradores fixos (FFT e um filtro

FIR) e um espaco em silıcio para ser reconfiguravel com outros aceleradores.

Interface de rede: a arquitetura possui uma interface de rede Ethernet Gigabit que permite

comunicacao com um host.

Interfaces seriais: a arquitetura possui interfaces seriais de baixa velocidade (Universal

Asynchronous Receiver Transmitter (UART), Inter-Integrated Circuit (I2C), Serial Pe-

ripheral Interface (SPI)) que sao utilizadas para realizar depuracoes e configuracoes de

dispositivos externos, por exemplo, um front-end analogico.

Figura 4.2: Visao geral da arquitetura proposta.

A arquitetura proposta nao oferece uma solucao completa para um SDR, pois nao

possui um processador de proposito geral com alto poder de processamento. Desta forma,

e necessario a sua integracao com um host para a implementacao das camadas de mais alto

1AMBA e um padrao aberto de gerenciamento e interconexao intra-chip e de blocos funcionais para umSoC.

Page 73: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

4.2. Arquitetura Proposta 45

nıvel de um radio. O bloco de controle poderia substituir o host, mas por ser composto por um

softcore2 de baixo processamento pode realizar eficientemente somente funcoes de controle

e configuracao. Uma futura expansao poderia ser adicionar um hardcore com maior poder

de processamento, como processadores da arquitetura Advanced RISC Machine (ARM) que

atualmente estao sendo utilizados amplamente na industria.

Nas secoes que seguem sera apresentado em mais detalhes os blocos da arquitetura, a

forma de programacao e o mecanismo para controle de fluxo.

4.2.1 Bloco RF Interface

A interface com o mundo RF na arquitetura proposta e realizado por meio do bloco

RF Interface, cujas principais funcoes sao: (a) realizar a interface de aquisicao e transmissao

de dados com os ADCs e DACs configurando e controlando; (b) implementar toda a parte

de Digital Front-end (DFE) (DDC, DUC, filtragem) para converter o sinal de uma IF para

banda base e vice-versa; (c) realizar interface com a rede-em-chip para enviar e receber dados

dos outros blocos, como tambem dados de controle para configuracao dos modulos internos

do bloco.

Na implementacao das funcionalidades de Digital Front-end para essa arquitetura,

foram definidos os seguintes limites a serem atendidos: (a) capacidade de transmissao e

recepcao; (b) taxa de amostragem de 64Mhz e quantificacao de 12 bits para recepcao e

128Mhz de 14 bits para transmissao; (c) suporte para amostras complexas; (d) flexibilidade

de trocar o canal pela mudanca da frequencia central do DDC. Para a implementacao dos

DDCs e DUCs e utilizado o algoritmo CORDIC para geracao das sinusoides para translacao

na frequencia. As mudancas de taxas (interpolacao e decimacao) sao realizadas utilizando a

classe de filtros Cascaded Integrator-Comb (CIC). Ja a filtragem utiliza filtro FIR half-band

com 31 taps e tambem realiza uma decimacao de fator dois.

O bloco RF Interface possui interfaces para dois ADCs e dois DACs, o controle dos

dispositivos pode ser feito pelas interfaces seriais (SPI e I2C) e aquisicao e o envio de dados

e feito por interfaces paralelas sıncronas que utilizam um clock com a taxa de transmissao

para sincronizacao. A recepcao de dados pode ser feita na forma complexa, para cada ADC

ha um barramento de 12 bits para parte real ou imaginaria. A implementacao desse bloco foi

feita baseada na arquitetura da plataforma USRP utilizada amplamente com o GNU Radio,

a figura 4.3 mostra um diagrama de blocos da RF Interface.

O caminho de recepcao dos dados e feito a partir da captura dos dados de um ADC,

em seguida o sinal e decimado, filtrado e convertido para banda base por fim e escrito em

uma First-In First-Out (FIFO) para ser enviado pela NoC. Ja o caminho de transmissao os

2Softcore e o nucleo de um microprocessador todo implementado em logica sintetizavel para ser utilizadoem dispositivos como FPGAs e ASICs.

Page 74: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

46 4. Arquitetura Heterogenea e Reconfiguravel

Figura 4.3: Diagrama de blocos da interface RF.

dados sao recebidos em uma FIFO pela NoC, logo apos o sinal e interpolado e filtrado, por

fim enviado para o DAC. A configuracao dos fatores de decimacao, interpolacao e dos filtros

e realizado a partir de registradores de controle.

4.2.2 Controle

O bloco responsavel por configurar os blocos da arquitetura, controlar o roteamento de

dados pela NoC e configurar dispositivos externos (ADCs e DACs) e chamado de Controle.

Este bloco tem um papel importante na arquitetura e para realizar todas essas tarefas neces-

sita ser flexıvel, por isso e formado pelo processador AeMB um softcore e outros perifericos

interligados por um barramento compartilhado o AMBA4, podendo ser programado na lin-

guagem C. A comunicacao entre o processador e a NoC e feita por um bloco chamado NoC

Bridge, este bloco faz a ponte entre NoC e o AMBA4, dessa forma o processador realiza

comunicacao com os outros blocos e recebe os pacotes configuracao do host.

Arquiteturas reconfiguraveis de granularidade grossa apresentam diversas vantagens do

ponto de vista de hardware para exploracao de diversos tipos de paralelismo em aplicacoes. No

entanto, em conjunto com essas arquiteturas e necessario o desenvolvimento de ferramentas

que permitam o mapeamento de aplicacao descritas em alto nıvel para os recursos presentes no

hardware. Park et al. [59] propoem um metodo chamado Modulo Graph Embedding, baseado

em uma tecnica utilizada para layout e visualizacao de grafos. Essa tecnica consiste na

alocacao de um grafo “convidado” em um grafo “hospedeiro”. O escalonamento de aplicacoes

e feito atraves de um grafo de fluxo de dados e de um grafo representando os recursos de

processamento presentes na arquitetura.

Page 75: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

4.2. Arquitetura Proposta 47

Um dos problemas das arquiteturas de SDR que utilizam aceleracao em hardware e

a sua forma de programacao, e difıcil para o desenvolvedor mapear as tarefas em alto nıvel

para hardware. Este trabalho propoe uma abordagem semelhante a utilizada por Park et al.,

as tarefas que serao executadas na arquitetura formam um grafo “convidado”, o flowgraph e

constituıdo a partir do host que envia pacotes de configuracao para o bloco de controle, este

entao configura os blocos da arquitetura. A figura 4.4 apresenta um diagrama que mostra um

exemplo do processo de configuracao dos blocos e determinacao do flowgraph e transferencia

dos dados entre os blocos e o host.

Figura 4.4: Representacao grafica do filtro FIR.

No exemplo apresentado na figura 4.4 primeiramente: (1) o host define o flowgraph

enviando pacotes de configuracao para o bloco de controle esse bloco entao envia os pacotes

para os blocos DFE e ACC1; (2) na sequencia o host envia um pacote para iniciar a execucao

do grafo; (3) baseado no flowgraph configurado o bloco DFE comeca enviar dados para o bloco

ACC1 e esse apos realizar o processamento envia para o host ; (4) por fim o host finaliza o

fluxo de dados enviando um pacote para finalizar a execucao.

Na arquitetura proposta utiliza-se a infraestrutura do GNU Radio (vide secao 2.1.2)

para a construcao do grafo “hospedeiro”. Para tanto, e necessario criar blocos do tipo source

sink da arquitetura para o GNU Radio, estes blocos possuem metodos para que a partir

da forma de programacao do GNU Radio seja possıvel configurar os blocos aceleradores da

arquitetura.

Abaixo e apresentado um exemplo de programacao da arquitetura utilizando o GNU

Radio, onde primeiramente e realizado a instanciacao do objeto que se comunica com a ar-

quitetura. Na sequencia sao realizadas configuracoes dos blocos RF Interface e do acelerador

FIR, como taxa de amostragem, frequencia central e o tipo de filtragem. Por fim, e realizado

a definicao do flowgraph configurando a rota de saıda do stream de dados de cada bloco e no

host a gravacao dos dados recebidos.

Page 76: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

48 4. Arquitetura Heterogenea e Reconfiguravel

1 from gnuradio import eng_notation

2 from gnuradio import gr

3 from gnuradio import uhd

4

5 class arch_noc_test(gr.top_block):

6 def __init__(self):

7 self.uhd_src = uhd.arch_noc_source(device_addr=’192.168.20.1’)

8

9 # Config DFE

10 self.uhd_src.dfe.set_samp_rate(200000)

11 self.uhd_src.dfe.set_center_freq(450e6, 0)

12 self.uhd_src.dfe.set_gain(0, 0)

13 self.uhd_src.dfe.route(0,0,SE)

14

15 # Config accelerator Filter FIR

16 taps = firdes.low_pass_2(1, 1, 0.4, 0.1, 60)

17 self.uhd_src.filter_fir.taps(10, taps)

18 self.uhd_src.filter_fir.route(0,0,SS)

19

20 # Use file sink to capture data from arch_noc

21 self.fsnk = gr.file_sink (gr.sizeof_gr_complex, test.dat)

22

23 # Connections

24 self.connect((self.uhd_src, 0), (self.fsnk, 0))

25

26 if __name__ == ’__main__’:

27 tb = arch_noc_test()

28 tb.run()

4.2.3 Interconexao

A interconexao entre os nucleos se da atraves da infraestrutura provida pela rede-

em-chip RTSNoC. O proposito deste modelo de interconexao e substituir os barramentos

compartilhados para a comunicacao dos blocos, normalmente utilizados em sistemas em chip.

Os barramentos compartilhados apresentam problemas de escalabilidade, nao determinismo

na comunicacao, dissipacao de energia, ruıdos e interferencia eletromagnetica.

O uso da NoC para interconexao da arquitetura tras as vantagens de melhorar o controle

dos parametros eletricos e escalabilidade, quando comparada com barramentos compartilha-

dos e pipelines. Porem, a principal vantagem que pode ser destacada e a interface padrao de

comunicacao bem definida que permite o reuso, facilidade da migracao de tarefas em software

para aceleradores em hardware. Alem de que a natureza de comunicacao sıncrona adotada

pela RTSNoC diminui o consumo de energia.

O bloco de controle apresentado na secao anterior e responsavel por determinar o

Page 77: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

4.2. Arquitetura Proposta 49

roteamento do stream de dados pela infraestrutura da rede, ou seja, realizar a conexao dos

nodos. Para realizar a sincronizacao, o controle de fluxo, configuracao dos blocos e transporte

dos dados, foram definidos dois tipos de pacotes para a NoC: dados e configuracao. O tipo de

pacote enviado para os blocos e identificado por meio de um cabecalho (conforme apresentado

na figura 4.5). Os pacotes de dados possuem somente informacoes referentes ao roteamento

e como carga os dados para processamento de sinais. Ja os pacotes de configuracao podem

ter as seguintes informacoes:

• configuracoes de roteamento para o bloco, isto e, a indicacao dos enderecos de destino,

para onde os dados do bloco que esta sendo configurado devem ser enviados. Essa

informacao e utilizada durante a formacao dos pacotes de dados.

• Configuracoes referentes aos blocos, por exemplo, no bloco interface RF a configuracao

da frequencia central de um DDC.

Figura 4.5: Estruturas dos pacotes de configuracao e dados.

Normalmente as configuracoes de cada bloco sao distintas, inerentes a solucao que

cada bloco se propoe resolver, por isso o pacote de configuracao possui um campo tipo

de configuracao que esta atrelado a cada bloco. Dessa forma, comandos para controle e

configuracao sao disparados pelo host para o bloco de controle e este cria os pacotes da NoC

envia para os blocos da arquitetura.

4.2.4 Aceleradores

A arquitetura propoe a implementacao da classe de algoritmos essenciais (vide secao

4.1), que sao implementados em software nas arquiteturas tradicionais de SDR, na forma

de blocos especıficos em hardware denominados aceleradores. Esse metodo possui as van-

tagens que permite aumentar a eficiencia do algoritmo, alem do que uma abordagem com

aceleradores diminui os problemas de latencia da NoC.

Page 78: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

50 4. Arquitetura Heterogenea e Reconfiguravel

A solucao utilizada para o projeto e desenvolvimento dos aceleradores e semelhante ao

desenvolvimento em alto nıvel para FPGA, abordada na secao 2.4. Nessa abordagem o fluxo

de projeto inicia com o desenvolvimento do modelo em blocos e simulacao em MATLAB,

apos a validacao do funcionamento do sistema e feita a troca dos blocos pelos do System

Generator Xilinx, por fim e gerado HDL para integracao na infraestrutura de interconexao

da arquitetura. Alem disso, os fabricantes de FPGA e outras empresas disponibilizam uma

grande variedade algoritmos de DSP na forma de IP tambem conhecidos como nucleos. Esses

IPs sao feitos como modulos pre-definidos para FPGAs, dessa forma podem ser otimizados

para o dispositivo.

Para os aceleradores desenvolvidos foi escolhido remover as operacoes de ponto flutu-

ante, pois este tipo de operacao e bastante custoso do ponto de vista energetico e em area de

silıcio, e a grande maioria das arquiteturas para SDR pesquisadas nao utilizam unidade de

ponto flutuante.

Para demonstrar a solucao proposta, foram escolhidos dois algoritmos amplamente

uitilizados: FFT e um filtro FIR. A FFT tem suporte a uma janela 64-4096 pontos e o filtro

FIR com 64 taps onde e possıvel configura-lo como: passa-baixas; passa-alta; passa-banda e

rejeita-banda. Somente dois aceleradores nao sao suficientes para construir radios modernos,

mas nao e escopo deste trabalho criar aceleradores para os algoritmos essenciais. O uso de

computacao reconfiguravel e uma interface de comunicacao bem definida com NoC, facilita a

adicao e substituicao de aceleradores conforme a necessidade do sistema dessa forma utilizar

uma abordagem orientada a aplicacao.

4.2.5 Interface com o Host

A arquitetura proposta possui um bloco responsavel pela comunicacao com um host,

nesse caso o host realiza a configuracao da arquitetura e a implementacao das camadas de

mais alto nıvel de um SDR. Com o intuito de dar uma maior flexibilidade para a arquitetura e

diminuir o tempo de latencia de comunicacao foi escolhida a interface padrao Gigabit Ethernet

(GbE). O bloco implementa a camada Media Access Control (MAC) do padrao GbE, o

desenvolvimento do bloco foi feita baseada no Tri-mode Ethernet MAC [24] do OpenCores3

e no bloco utilizado pela USRP2. As principais caracterısticas do bloco sao descritas abaixo

e um diagrama de blocos e apresentado na figura 4.6a:

• implementacao completa do MAC seguindo a especificacao IEEE 802.3.

• verificacao e geracao de pacotes com CRC.

• FIFOs para interface de uso do bloco.

3OpenCores e uma comunidade Open Source para o desenvolvimento de hardware digital.

Page 79: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

4.2. Arquitetura Proposta 51

• suporte para frames Jumbo (4096 bytes).

• suporte a controle de fluxo com geracao de pause e termination frame (802.3 anexo 31A),

provendo um completo automatizado controle de fluxo sem sobrecarga para aplicacao

de uso.

• interface para gerenciamento da Ethernet Physical Layer (PHY) por Management Data

Input/Output (MDIO).

(a) Arquitetura do bloco GbE

(b) Conexao entre o blocoMAC GbE e o PHY

Figura 4.6: Diagrama de blocos da interface GbE

Para facilitar e tornar mais eficiente a comunicacao com host o bloco GbE possui nos

caminhos de transmissao e recepcao um modulo User Datagram Protocol (UDP), o modulo

realiza o tratamento geracao dos pacotes UDP todo em hardware. O modulo UDP e capaz

de identificar os pacotes de controle e dados, os pacotes de dados sao roteados para o bloco

de controle e os de dados para os aceleradores.

O bloco GbE implementa a camada MAC e para conexao com outros dispositivos

possui a interface Gigabit Medium Independent Interface (GMII), que e um padrao industrial

Page 80: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

52 4. Arquitetura Heterogenea e Reconfiguravel

utilizado para conexao com PHYs a figura 4.6b apresenta a o padrao de conexao dos sinais.

Alem disso, o bloco possui uma interface MDIO que permite configurar, controlar e receber

estatısticas da PHY.

4.3 Fluxo de projeto para nova aplicacoes

Atualmente, existem uma serie de dificuldades encontrar blocos (IPs) que implementem

os principais algoritmos utilizados em SDR. Alem disso, e a implementacao de novos IPs difıcil

pois os desenvolvedores devem ter um bom conhecimento do algoritmo a ser desenvolvido e

de computacao reconfiguravel. Tentando minimizar este problema a arquitetura criou uma

interface bem definida utilizando a NoC como infraestrutura de comunicacao e sugeriu uma

abordagem de alto nıvel para desenvolvimento dos aceleradores.

Para utilizacao da arquitetura este trabalho propoe um fluxo de projeto que tem por

objetivo simplificar os procedimentos de criacao de um SDR. A figura 4.7 ilustra as etapas

do fluxo de projetos, as quais sao resumidas a seguir:

1. Definicao da aplicacao pretende-se desenvolver, por exemplo, Radio FM.

2. Especificar os algoritmos que ocupam mais processamento para sua implementacao em

hardware.

3. Implementar os algoritmos em HDL utilizando a abordagem de desenvolvimento em

alto nıvel para FPGA, ou realizar uma pesquisa por IPs que implementem o algoritmo.

4. Criar os wrappers para os aceleradores receberem e enviarem dados pela NoC.

5. Conectar todos os blocos e gerar o bitstream para a arquitetura alvo.

6. Definir os parametros de configuracao e criar um wrapper para o acelerador no GNU

Radio

7. Criar um programa para aplicacao no host.

Este fluxo de projeto simplifica os procedimentos para a criacao de uma aplicacao na

arquitetura proposta e permite criar componentes reutilizaveis para futuras implementacoes.

A principal dificuldade do fluxo e a verificacao e validacao dos aceleradores, mesmo sendo

facilitada utilizando uma abordagem em alto nıvel. As tarefas passıveis de serem automati-

zadas sao as conexoes dos blocos para gerar o bitstream e a criacao dos wrappers para o GNU

Radio.

Page 81: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

4.4. Resumo da Proposta 53

Figura 4.7: Fluxo de projeto de um SDR para a arquitetura.

4.4 Resumo da Proposta

A arquitetura proposta no trabalho utiliza o conceito de computacao reconfiguravel

empregando uma NoC para realizar a infraestrutura de comunicacao, esta abordagem melhora

problemas de escalabilidade, reconfigurabilidade e parametros eletricos. A granularidade

adotada e do tipo grossa para a implementacao dos algoritmos de processamento de sinais.

A forma de programacao utilizada pela arquitetura permite mapear tarefas de alto nıvel de

um radio para um grafo, as tarefas sao disparadas por um host para um bloco de controle

que determina o roteamento dos dados. Para se beneficiar das vantagens do GNU Radio a

arquitetura criou uma interface compatıvel que permite o uso deste framework no host.

Outro benefıcio proporcionado pela arquitetura e o processamento em hardware dos

algoritmos essenciais para um SDR, o que diminui drasticamente a ocupacao do processador

de uso geral do sistema (host), uma vez que os aceleradores realizam processamento nas fases

iniciais do radios. Fases onde ha uma maior demanda de processamento e a alta quantidade

de amostras por segundo e sao beneficiados pela implementacao paralela do hardware.

No proximo capıtulo serao abordados os aspectos de implementacao da arquitetura e a

comparacao da proposta com a arquitetura USRP executando o GNU Radio.

Page 82: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

54 4. Arquitetura Heterogenea e Reconfiguravel

Page 83: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

Capıtulo 5

Implementacao e Avaliacao da

Proposta

Este capıtulo apresenta os resultados obtidos atraves de experimentos realizados com a

implementacao da arquitetura proposta. Para isso, inicialmente e apresentada a plataforma

utilizada para a implementacao da arquitetura proposta, assim como a descricao dos experi-

mentos realizados e os resultados obtidos.

5.1 Implementacao da Arquitetura Proposta

Nesta secao apresenta-se o ambiente de hardware e software utilizado para desenvolver

um prototipo da arquitetura proposta no trabalho. Primeiro, descreve-se as plataformas de

desenvolvimento utilizadas e os modulos de hardware de prototipacao. Em seguida, descreve-

se quais softwares comerciais foram empregados e os aplicativos implementados para habilitar

o desenvolvimento do estudo de caso.

5.1.1 FPGA Virtex-6 Xilinx

O FPGA Virtex-6 da Xilinx foi utilizado para implementar e testar a arquitetura pro-

posta. Essa famılia foi desenvolvida em 2009 para dar sequencia as famılias de alto desem-

penho da Xilinx, utiliza o processo de fabricacao de 40 nm e possui os mais avancados recursos

disponıveis no mercado de FPGA.

O modelo utilizado foi XC6VLX240T, que possui 241.152 celulas logicas, 37680 slices,

768 Block Random Access Memorys (RAMs) de 18 Kb e 720 sinais para entrada e saıda.

Outros blocos tambem sao fornecidos entre eles, o DSP48E1 slices para a implementacao de

Page 84: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

56 5. Implementacao e Avaliacao da Proposta

estrutura tıpicas presentes em algoritmos para processamento de sinais, alem de blocos para

gerenciamento de sinais de clock, Peripheral Component Interconnect (PCI) Express e MACs

Ethernet.

Todos os testes utilizaram o kit ML605, a figura 5.1 apresenta seu diagrama de blocos.

A placa possui o FPGA Virtex-6, um soquete SODIMM para memoria DDR3 e diversas

interfaces de comunicacao e conectores para expansao. Para a sintetizacao de hardware, foi

utilizado a ferramenta ISE Foundantion, versao 13.1, fornecida pela Xilinx no seu programa

universitario.

Figura 5.1: Digrama de blocos do kit ML605 [28].

5.1.2 BESDR - Placa Front-End RF

A Board for Embedded Software-defined Radio (BESDR) e uma plataforma aberta, de

baixo custo desenvolvida no contexto deste trabalho pelo Laboratorio de Integracao Software

e Hardware (LISHA) [16], tem como objetivo prover uma interface de RF para kits de de-

senvolvimento FPGA, compatıvel com padrao FPGA Mezzanine Card (FMC) de conexao.

Sendo basicamente composta por:

• dois ADCs com quatro canais de 12-bit, amostragem de 64 MSPS.

• dois DACs com quatro canais de 14-bit, amostragem de 128 MSPS.

• quatro slots para placas filhas que suporta uma grande variedade de placas de RF.

Page 85: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

5.1. Implementacao da Arquitetura Proposta 57

• interface auxiliar para controle do radio que suporta padroes como Received Signal

Strength Indication (RSSI) e Automatic Gain Control (AGC).

• um conector para a conexao aos kits de desenvolvimento.

O principal objetivo da BESDR e permitir o desenvolvimento e prototipacao rapida de

SDRs de baixo custo. A figura 5.2 apresenta um exemplo de utilizacao da placa e a figura

5.3 o diagrama de blocos da BESDR.

Figura 5.2: Exemplo de utilizacao da BESDR.

A interface de conexao utilizado pela BESDR o FMC, foi um padrao desenvolvido

pelo consorcio American National Standards Institute (ANSI) / VITA 57.1 formado por

diversas empresas fabricantes e usuarias de FPGA. O proposito e especificar padroes eletricos,

mecanicos de conexao e desta forma permitir a flexibilizacao, reuso do hardware e criar um

mercado de placas de aplicacao para FPGAs [1]. O conector utilizado na BESDR e o tipo

FMC High Pin Count (HPC), por meio dele a placa:

• recebe os sinais de alimentacao: +12V , +3.3V , 2.5V e GND.

• recebe o clock de referencia dos ADCs, DACs e placas filhas.

• recebe os barramentos para configuracao e controle: SPI, I2C e UART.

• externaliza os sinais dos ADCs e DACs.

5.1.2.1 Caminhos de Recepcao e de Transmissao

Os quatro canais de recepcao dos ADCs presentes na placa podem realizar uma amostragem

de ate 64 MSPS. Em teoria, pode-se digitalizar uma banda de ate 32 MHz, caso realize-se

amostragem de uma IF com uma largura de banda maior que 32 MHz ocorrera o fenomeno

de aliasing, e a banda de interesse sera mapeada entre -32 MHz e +32 MHz [42]. Quanto

maior a frequencia do sinal amostrado maior e a degradacao do Signal-to-Noise Ratio (SNR)

por meio do jitter.

Page 86: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

58 5. Implementacao e Avaliacao da Proposta

Figura 5.3: Diagrama de blocos da BESDR.

A entrada de tensao dos ADCs e de 2 V pico-a-pico e a impedancia de 50 ohms, ou

seja, potencia de 40 mW ou 16 dBm. Um Programmable Gain Amplifier (PGA) e usado

antes dos ADCs para amplificar o sinal de entrada, e utilizar toda a faixa de entrada do

ADCs, caso o sinal for fraco. A faixa de ganho do PGA e de ate 20 dB. E possıvel utilizar

outras taxas de amostragem submultiplas de 128 MHz, tais como 64 MSPS, 42,66 MSPS,

32 MSPS, 25,6 MSPS e 21,33 MSPS. A figura 5.4a apresenta o caminho de recepcao.

No caminho de transmissao, tambem ha quatro canais como uma taxa de amostragem

de ate 128 MSPS, de modo que a frequencia de Nyquist e de 64 MHz. Entretanto, utilizar

uma faixa de frequencia de ate 50 MHz torna o processo de filtragem mais simples. Os DACs

podem fornecer um 1 V de pico para uma carga de 50 ohms, ou seja potencia de 10 mW ou

10 dBm. Ha tambem um PGA utilizado apos a DAC, fornecendo ate obter 20dB. O PGAs

em ambos os caminhos, recepcao e transmissao, sao programaveis. A figura 5.4b apresenta o

caminho de transmissao.

Em princıpio, os quatro canais de entrada e saıda utilizam amostras reais. Entretanto,

havera mais flexibilidade e banda se amostras complexas forem utilizadas. Desta forma

resultando em dois canais de entrada complexos e dois canais de saıda complexos [15].

Page 87: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

5.1. Implementacao da Arquitetura Proposta 59

(a) Caminho de Recepcao do ADC

(b) Caminho de Transmissao do DAC.

Figura 5.4: Caminhos de Recepcao e Transmissao do ADC e DAC.

5.1.2.2 Placas filhas

A BESDR possui quatro slots para placas filhas, onde pode-se conectar ate duas placas

de recepcao e duas de transmissao. As placas implementam o Front-End RF analogico, a

funcao delas e converter as frequencias da portadora de interesse para uma IF possibilitando

a digitalizacao do sinal pelo ADC na recepcao, o caminho inverso e feito para transmissao.

Caso seja utilizada amostragem real, sao disponıveis duas secoes RF independentes em

cada placa filha, podendo ser utilizadas ate quatro antenas em todo o sisetma. Se amostragem

complexa for utilizada, cada placa filha suporta uma interface RF. A BESDR nao utiliza

nenhum filtro anti-aliasing ou de reconstrucao, o que permite uma grande flexibilidade na

escolha da placa filha a ser utilizada.

A interface, para as placas filhas da BESDR, possui compatibilidade com as placas

utilizadas pela USRP [23]. Atualmente existe uma variedade de placas filhas compatıveis

com BESDR, que trabalham com diferentes faixas de frequencia e cobrem todo o espectro

livre. Por exemplo:

BasicTX/RX: placas filhas basicas equipadas com conectores SubMiniature version A (SMA)

que realizam interfaces para a conexao de Front-ends nao compatıveis com a BESDR.

TVRX: placa filha de recepcao equipada com o Microtune 4937 Cable Modem, opera na

faixa de frequencia de 50 MHz a 800 MHz, utilizada em aplicacoes como FM e Very

High Frequency (VHF).

Page 88: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

60 5. Implementacao e Avaliacao da Proposta

RFX1800: placa filha com as cadeias de recepcao e transmissao independentes, opera na

faixa de frequencia de 1.5 GHz a 2.1 GHz, utilizada em aplicacoes de telefonia celular.

RFX2400: placa filha com as cadeias de recepcao e transmissao independentes, opera na

faixa de frequencia de 2.3 GHz a 2.9 GHz, utilizada em aplicacoes como Wi-Fi.

5.1.2.3 Modulo de controle para BESDR

Para a utilizacao da placa BESDR sao utilizados os blocos de controle e RF Interface

e da arquitetura proposta, estes permitem o controle, configuracao, recepcao e transmissao

dos dados. O bloco de controle realiza a configuracao dos parametros dos ADCs, DACs e

das placas filhas, por meio das interfaces seriais (I2C e SPI). Ja o bloco RF Interface realiza

a interface paralela com os ADCs e DACs, como tambem todo o processamento DFE que

permite realizar uma gama de configuracoes, como por exemplo, a mudanca da frequencia

central, possibilitando ao sistema a troca de canal instantaneamente.

5.1.3 Interfaceamento da Proposta com GNU Radio

A integracao da arquitetura proposta com o GNU Radio e facilitada devido ao UHD,

que e uma API e um conjunto de device drivers para comunicacao com as plataformas USRP.

Dessa forma, o suporte para arquitetura proposta foi realizado adicionando ao UHD uma

extensao baseada na implementacao da USRP2, que possibilita a comunicacao entre o host

e a arquitetura.

Para tornar possıvel a utilizacao do GNU Radio decidiu-se por fazer uma especial-

izacao do bloco gr-uhd ja existente, pois muitas configuracoes (DDC, filtros, placas filhas)

que sao realizadas nas plataformas USRP tambem sao feitas na arquitetura proposta. A im-

plementacao atual do GNU Radio fornece uma interface que prove uma camada de abstracao

as plataformas USRP, na forma dos blocos source e sink, a esta interface foram adicionadas

classes que implementam os blocos para a arquitetura proposta. Nas classes foram adiciona-

dos metodos que permitem configurar o novo comportamento da plataforma, por exemplo,

configurar o roteamento dos dados entre nucleos da NoC e parametros dos aceleradores em

hardware.

Na figura 5.5 e possıvel ver o diagrama de classes simplificado da nova interface pro-

posta estendida da interface original. Um ponto importante a ser salientado e cada vez que

for adicionado um novo acelerador em hardware, tambem e necessario adicionar metodos

especıficos relativos as suas configuracoes as classes da arquitetura.

Page 89: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

5.2. Avaliacao da Arquitetura Proposta 61

Figura 5.5: Diagrama de Classes simplificado da interface de abstracao da arquitetura com UHD eGNU Radio.

5.2 Avaliacao da Arquitetura Proposta

O experimento de teste criado para a avaliacao da arquitetura e a realizacao da inter-

ceptacao de uma comunicacao ponto-a-ponto do tipo General Mobile Radio Service (GMRS),

utilizada nas comunicacoes de radios Walkie-talkie (figura 5.6a). Este tipo de aplicacao e am-

plamente utilizado em acoes militares e de seguranca publica, por exemplo, interceptacao de

comunicacoes entre criminosos. Para a realizacao de uma analise comparativa o cenario de

testes sera implementado de duas formas distintas: (1) utilizando a arquitetura GNU Ra-

dio e USRP; (2) o prototipo da arquitetura proposta utilizando a BESDR com placas-filhas

TVRX2, kit ML605 e um host rodando GNU Radio com as modificacoes realizadas.

Com o intuito de criar um ambiente mais proximo do real e tambem coletar um numero

maior de dados para a analise da arquitetura, foi desenvolvido um cenario de testes com

multiplos canais. Porem, devido a dificuldade de criar um ambiente de experimentacao

composto por varios radios Walkie-talkie se comunicando, utilizou-se uma USRP junto com

o GNU Radio para emular a geracao de multiplos canais como apresentado na figura 5.6b.

A USRP realiza a transmissao de um stream com 8 canais (tabela 5.1) narrowband FM com

12,5 KHz de banda contendo audios distintos.

5.2.1 Implementacao do experimento

Os principais algoritmos utilizados para a implementacao do experimento de teste pro-

posto sao: (a) spectrum sensing ; (b) separacao dos canais de interesse; (c) demodulador

Page 90: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

62 5. Implementacao e Avaliacao da Proposta

(a) Testes com canais GMRS

(b) Testes com multiplos canais utilizando USRP.

Figura 5.6: Ambiente de testes.

Tabela 5.1: Lista dos canais GMRS

Canal Frequencia (MHz)

1 462,550

2 462,575

3 462,600

4 462,625

5 462,650

6 462,675

7 462,700

8 467,725

Page 91: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

5.2. Avaliacao da Arquitetura Proposta 63

FM narrowband. A figura 5.7 apresenta um fluxograma do algoritmo de recepcao, os blocos

de cor cinza representam as partes que estao sendo executados no hardware, por meio de

aceleradores na arquitetura proposta. O algoritmo pode ser dividido nas seguintes etapas:

1. Recebimento dos dados da janela de interesse e realizacao de DFE (decimacao e fil-

tragem).

2. Analise do espectro para encontrar as portadoras dos canais que estao se comunicando.

3. Separacao dos canais encontrados.

4. Demodulacao dos canais narrowband FM.

5. Gravacao do stream de dados de cada canal em arquivos.

Figura 5.7: Algoritmo de recepcao do experimento de teste.

O algoritmo de spectrum sensing, que e amplamente utilizado em aplicacoes de radios

cognitivos, e baseado em um detector de energia utilizando uma FFT. De forma basica

funciona aplicando uma FFT de 1024 pontos ao sinal que e recebido apos a decimacao e

filtragem. Ao resultado no domınio da frequencia e realizado uma busca para encontrar

frequencias que possuem energia superior a 30 dBm permitindo, dessa forma, encontrar

portadoras ativas. Nas frequencias ativas encontradas e realizado uma correlacao para definir

as frequencias minima e maxima (Fmin-Fmax), para entao identificar os canais que podem

ser comparados com uma base de dados com canais pre-existentes.

Apos determinar os canais ativos e necessario realizar a separacao dos mesmos para

a demodulacao. A separacao dos canais e feita utilizando o algoritmo de DDC, este bloco

recebe a janela de interesse com todos os canais, entao realiza a filtragem e translacao de

frequencia para a banda base de cada canal. Para realizar a separacao dos canais sao feitas

as configuracoes de frequencia central e a taxa de decimacao para os diferentes canais nos

blocos de DDC.

Ja a implementacao que faz a simulacao de multiplos canais se comunicando, utilizando

a USRP e GNU Radio, e feita modulando com FM narrowband arquivos de audio do tipo

Page 92: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

64 5. Implementacao e Avaliacao da Proposta

wav com amostragem de 8 KHz, por fim multiplicando cada sinal por um cosseno com a

frequencia referente ao seu canal, dessa forma, e feita uma multiplexacao de todos os canais

na frequencia como e apresentado na figura 5.8.

Figura 5.8: Domınio da frequencia dos 8 canais transmitidos para a realizacao dos testes.

5.3 Avaliacao dos Resultados

Esta secao apresenta os resultados obtidos atraves de experimentos realizados e e or-

ganizado de forma a agrupar os aspectos de analise. A performance foi analisada de forma

comparativa, com e sem a arquitetura proposta. Outro aspecto abordado e o consumo dos

recursos da FPGA para a implementacao dos testes.

5.3.1 Analise de desempenho

Para auxiliar a avaliacao e analise de desempenho dos experimentos foi desenvolvido

o bloco bench graph para o GNU Radio. Esse bloco utiliza o utilitario mpstat do pacote

sysstat do Linux, que apresenta a ocupacao de cada processador disponıvel na maquina ou

a media global do sistema. A porcentagem de uso da CPU e separado pelo mpstat em sete

categorias: user, nice, system, iowait, irq, soft e idle. A duas primeiras categorias (user e nice)

apresentam a porcentagem do uso da CPU em espaco de usuario com aplicacoes, sendo que

a segunda categoria separa o que e executado com prioridade “nice”. As categorias system,

iowait, irq e soft apresentam metricas relacionadas com a porcentagem do uso da CPU pelo

kernel, requisicao de disco, interrupcoes e interrupcoes de software, respectivamente. Por fim,

a categoria (idle) apresenta o tempo em que a CPU fica inativa.

Para simplificar a apresentacao dos resultados a saıda do mpstat foi agrupada em tres

Page 93: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

5.3. Avaliacao dos Resultados 65

categorias USR, SYS e IDLE. A USR agrupa as duas primeiras categorias (user e nice)

e representa de forma geral o gasto de CPU pelas implementacoes dos cenarios propostos.

A SYS agrupa os valores do consumo de processamento das tarefas do sistema operacional

(system, iowait, irq e soft). Por fim, o IDLE e o valor direto retirado das medicoes com mpstat.

Para a analise foi utilizado o valor da media global gerada pelo mpstat, que representa melhor

o consumo dos recursos do sistema por cada implementacao.

As medicoes dos testes propostos foram feitas com intervalos de 2 segundos e os testes

foram executadas com prioridade “tempo real” durante 600 segundos (300 medicoes por

teste), o que foi suficiente uma vez que as implementacoes nao apresentam grandes oscilacoes

no processamento dos fluxos de amostra, os quais sao constantes durante todo o teste. O host

utilizado para o ambiente de testes foi composto por um PC com processador Intel QuadCore

de 2.83 GHz, com 4GB de RAM e rodando Ubuntu 11.04 com o kernel 2.6.38-15. A placa de

rede gigabit utilizada para interface com a arquitetura proposta foi a Broadcom BCM5755

integrada.

As figuras 5.9a e 5.9b apresentam os resultados da analise de desempenho para o cenario

de testes, utilizando a arquitetura tradicional e a arquitetura proposta respectivamente. As

medicoes de cada uma das categorias (USR, SYS e IDLE ) foram plotadas levando em consid-

eracao o uso dos quatro nucleos do processador utilizado. Como esperado, as implementacoes

tradicionais mostraram desempenho bastante inferior se comparado a arquitetura proposta.

Isto pode ser observado pela curva USR e SYS que somadas mostram uma ocupacao media

maior que 340% na implementacao com a arquitetura original, o que torna o computador

praticamente sem responsividade para outras possıveis tarefas.

A figura 5.10 apresenta as medias de ocupacao da CPU no cenario de testes. A ocupacao

e dividia em USR e SYS para a implementacao com a arquitetura proposta, respectivamente

27% e 10%. E tambem para implementacao tradicional, respectivamente 310% e 33%. A

diminuicao de 283% de ocupacao da CPU por tarefas em espaco de usuario quando a ar-

quitetura proposta e utilizada mostra um ganho de performance significativo. Alem disso,

a diminuicao do fluxo de dados, que possuem uma parte tratada diretamente no hardware,

possibilita uma diminuicao da ocupacao da CPU pelas tarefas do sistema de 23%.

Foram realizadas medicoes para verificar o desempenho das funcoes aceleradas em hard-

ware comparando-as com suas implementacoes no GNU Radio. Para auxiliar nessa tarefa

foram utilizadas as ferramentas oprofile [37] e ChipScope presente no ISE. Oprofile permite

realizar analise dinamica de programas em execucao em ambientes Linux, permitindo realizar

medicoes do tempo de execucao das funcoes de um programa. A tabela 5.2 apresenta a com-

paracao do tempo medio para a execucao de diferentes tamanhos FFTs entre o acelerador

em hardware e a implementacao no host. Para o tamanho da janela da FFT utilizada no

experimento de 1024 pontos a implementacao em hardware possui um desempenho 28 vezes

maior aproximadamente.

Page 94: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

66 5. Implementacao e Avaliacao da Proposta

(a) Implementacao USRP e GNU Radio

(b) Implementacao com a arquitetura proposta

Figura 5.9: Ocupacao da CPU no cenario de testes

Page 95: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

5.3. Avaliacao dos Resultados 67

Figura 5.10: Ocupacao media da CPU no cenario de testes.

Tabela 5.2: Analise de tempo para diferentes tamanhos de janela de FFT.

Janela FFT FPGA Media (µs) Host Media (µs)

64 4.21 937.89

128 6.12 912.25

256 10.98 1170.07

512 19.47 944.58

1024 34.61 995.26

2048 68.34 1055.14

4096 125.38 1171.35

Page 96: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

68 5. Implementacao e Avaliacao da Proposta

A figura 5.11 apresenta uma comparacao do numero de FFTs por segundo em funcao

do tamanho da janela para as implementacoes em hardware e executadas no host. Como

era esperado ha um grande ganho de performance o que auxilia diminuir a latencia para

implementacao de um radio ja que essa operacao e utilizada em diversas tecnologias de

comunicacoes.

Figura 5.11: Numero de FFTs por segundo em funcao do tamanho da janela.

5.3.2 Analise de latencia da RTSNoC

Para realizar uma analise de latencia do roteador da rede RTSNoC, foram gerados

padroes de trafegos de pacotes e para uma analise foi utilizada a ferramenta de simulacao

presente no ISE.

A figura 5.12 mostra um diagrama de forma de onda da simulacao da comunicacao entre

os nucleos conectados ao roteador RTSNoC. Nessa comunicacao, apos o reset do sistema os

nucleos localizados nos canais NN, NE, ES e SS enviam pacotes simultaneamente para o canal

SE. A ordem de prioridade para acessar o mesmo canal e da mais alta para a mais baixa: NN,

NE, SE, SS, SW, NW e WW. Apos o reset do sistema os nucleos enviam ao mesmo tempo o

pedido para enviar os pacotes. Os pacotes enviados por cada canal de comunicacao sao:

• 08811300AAh (canal NN);

• 08891300CCh (canal NE);

• 08911300EEh (canal EE);

Page 97: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

5.3. Avaliacao dos Resultados 69

• 08A11300FFh (canal SS).

Neste caso, dado o criterio de prioridade, o nucleo localizado no canal de NN envia seu

pacote para o canal de SE, como mostrado na figura 5.12 (1). Seguindo a ordem de prioridade,

os outros pacotes sao enviados do NE, EE, e terminando com o envio do pacote de SS, como

mostrado na figura 5.12, (2) ate (4). A ordem de entrega dos pacotes e confirmado na figura

5.12(5).

Figura 5.12: Diagrama de forma de onda da utilizacao da RTSNoC.

A latencia do roteador RTSNoC pode ser visto na figura 5.12 (6), onde o atraso do

pacote enviado pelo canal NN e dois ciclos de clock. Um ciclo devido o processo de arbitragem

e um segundo ciclo devido ao processo de roteamento, ou seja, a latencia para envio de um

pacote e de dois ciclos de clock. Aos pacotes dos canais NE, EE e SS que estao competindo

pelo canal SE e adicionado mais um ciclo para a entrega. Por exemplo, o pacote enviado por

SS tem um ciclo de clock de arbitragem, mais um ciclo de atraso devido o pacote de NN e

mais dois devido os pacotes de NE e EE, por fim, outro devido o envio de seu proprio pacote,

totalizando cinco ciclos de atraso.

Portanto, os limites da latencia de um fluxo de pacotes na RTSNoC, pode ser calculado

considerando que o mınimo de latencia e o dobro do numero de roteadores entre a fonte do

pacote ate o seu destino, como mostra:

LMIN = NROU ∗ 2, (5.1)

onde LMIN e o mınimo de latencia e NROU e o numero de roteadores no caminho entre a

Page 98: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

70 5. Implementacao e Avaliacao da Proposta

origem do pacote e o destino do pacote. A latencia maxima e determinada adicionando uma

unidade para o maior numero de nucleos que podem competir por algum canal de destino em

um determinado instante, para cada roteador no caminho entre a fonte de pacote e o destino

do pacote. A expressao que determina a latencia maxima e dada por:

LMAX =∑

(NREQ + 1), (5.2)

onde LMAX e o maximo de latencia e NREQ e o maior numero de canais (ou nucleos) que

pode requerer a mesmo canal de comunicacao como o destino de sua mensagens ao mesmo

tempo, para cada roteador no caminho entre a fonte do pacote e de destino final.

Outros cenarios foram testados utilizando diferentes configuracoes de trafego e difer-

entes topologias de rede usando mais de um roteador. Em todos os casos, a maxima latencia

para a rede foi respeitada, independentemente do trafego ou topologia usada no teste.

5.3.3 Consumo dos Recursos da FPGA

Na tabela 5.3 e apresentado o consumo dos recursos da FPGA Virtex-6 para a im-

plementacao do experimento de testes na arquitetura proposta. Os custos sao separados em

Slices, Flip-Flops, LUTs e blocos DSP48E1 que possuem multiplicadores em hardware (18x18

Mult).

Tabela 5.3: Consumo de recursos para realizacao do experimento.

Implementacao Slices FFs LUTs DSP48E1

RTSNoC 807 1131 429 *

FFT 4089 4794 2461 16

Filtro FIR 1127 1058 1578 4

Controle 1290 2799 2585 *

RF Interface 2946 2252 3285 4

Separacao de canais 8756 6988 12526 18

Gigabit Ethernet 1206 1198 1526 *

5.4 Consideracoes Finais

A principal vantagem da arquitetura proposta perante o sistema que utiliza USRP

juntamente com o GNU Radio e a capacidade da migracao dos algoritmos DSP executados

no host para o hardware sem a perda da flexibilidade para as implementacoes de SDR. Isso

diminuiu drasticamente a ocupacao do processador de uso geral do sistema (host), uma vez

que o paralelismo intrınseco existente na separacao de diversos canais, que exige o processa-

mento concomitante do mesmo grupo de dados, e a alta quantidade de amostras por segundo,

proveniente das fases iniciais do radio, sao caracterısticas onerosas para implementacoes em

software e foram beneficiados pela implementacao paralela do hardware.

Page 99: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

5.4. Consideracoes Finais 71

A RTSNoC apresenta uma latencia maxima de dois ciclos de clock independente das

taxas de dados, diferente de outas implementacoes de NoC que mostram um comportamento

exponencial de latencia com o aumento da taxa de dados [9]. Esse comportamento de uma

latencia maxima e a capacidade de rodar a uma frequencia superior de 200 MHz aliado

com a utilizacao de uma abordagem de granularidade grossa dao a arquitetura uma vazao

suficiente para aplicacoes SDR.

A area ocupada pela estrutura de comunicacao e os blocos da arquitetura nao utiliza

muitos recursos das famılias de FPGA de alto desempenho, como e o caso do dispositivo

FPGA Virtex-6 utilizado para a prototipacao. Porem, para o uso de dispositivos de menor

capacidade o valor consumido torna-se um problema como tambem a frequencia de operacao.

Page 100: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

72 5. Implementacao e Avaliacao da Proposta

Page 101: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

Capıtulo 6

Conclusoes

Este trabalho trabalho foi desenvolvido na direcao de explorar arquiteturas capazes de

atender as demandas de aplicacoes atuais para SDR, como por exemplo radios cognitivos.

O trabalho analisou os algoritmos mais utilizados para implementacao das camadas fısicas

dos radios e propos uma arquitetura para SDRs utilizando uma abordagem de granularidade

grossa baseada em aceleradores em hardware para os algoritmos mais utilizados. Como alter-

nativa de interconexao, foi explorado o uso da RTSNoC devido a vantagem desta tecnologia

para a interconexao de multiplos blocos.

Como pontos positivos da proposta, pode-se considerar a escalabilidade, capacidade de

exploracao de paralelismo e uma interface de comunicacao bem definida para os blocos. A

arquitetura proposta permitiu o deslocamento das fases com alto consumo de processamento,

que necessitam altas taxas de amostragem, para o hardware reconfiguravel. Os testes com-

parativos entre a implementacao tradicional e a arquitetura proposta demonstraram ganhos

significativos no aproveitamento dos recursos do sistema, relacionados mais especificamente

ao desempenho e as interfaces de comunicacao. Como contribuicao destaca-se tambem o de-

senvolvimento da placa BESDR, que realiza um front-end RF para kits de desenvolvimento

FPGA, essa plataforma auxilia no desenvolvimento de futuras arquiteturas para SDR e foi

utilizada para a prototipacao da arquitetura proposta.

A maior desvantagem encontrada foi a falta de aceleradores em hardware e a dificuldade

de implementacao dos mesmos. No entanto, foi proposto a utilizacao de uma abordagem de

desenvolvimento de alto nıvel para FPGAs utilizando as ferramentas System Generator e

Simulink. Outra desvantagem e a necessidade da utilizacao de um host para configuracao,

controle e a implementacao das camadas de mais alto nıvel de um radio.

Page 102: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

74 6. Conclusoes

6.1 Trabalhos Futuros

Como perspectivas de trabalhos futuros, no que se refere a arquitetura, as seguintes

atividades podem ser citados:

• Adicionar a arquitetura processadores hardcore de alto desempenho, por exemplo, ARM

Cortex-A8. Esse tipo de processadores ja estao disponıveis nas ultimas geracoes de

FPGA (Virtex 7), podem trazer vantagens como diminuir problemas de latencia, nao ter

a necessidade um host externo. Dessa forma, possibilitar a miniaturizacao do sistema,

diminuir o consumo de energia permitindo a utilizacao em sistemas embarcados.

• Adicionar a arquitetura co-processadores SIMD como blocos conectados na NoC para

permitir o desenvolvimento de algoritmos DSPs especıficos e complexos.

• Criacao de uma ferramenta capaz de gerar o HDL para arquitetura a partir de um

repositorio de aceleradores, semelhante a ferramenta gnuradio-companion que permite

a geracao automatica do flowgraph do GNU Radio a partir de seus blocos.

• Desenvolver mais aceleradores a partir de blocos do GNU Radio com abordagens de

descricao de hardware de alto nıvel como System C.

• Explorar a reconfiguracao parcial e dinamica dos modulos de processamento no FPGA.

Page 103: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

Apendice A

Consideracoes sobre os aceleradores

da Arquitetura

A.1 Fast Fourier Transform

A Discrete Fourier Transform (DFT) e um algoritmo fundamental para processamento

digital de sinais e utilizada em muitas aplicacoes, e a representacao finita e discreta da

transformada de Fourier. A DFT do sinal discreto X(k), k = 0, . . . , N − 1 de uma sequencia

x(n), n = 0, . . . , N − 1 e definida como:

X(k) =N−1∑n=0

x(n)e−jnk2π/N k = 0, . . . , N = 1 (A.1)

onde N e o tamanho da transformada e j =√−1. A transformada inversa (IDFT) e dada

por:

x(k) =1

N

N−1∑k=0

X(k)ejnk2π/N n = 0, . . . , N = 1 (A.2)

O calculo direto de uma DFT e de alto custo computacional. Um metodo mais eficiente

para esse calculo e o algoritmo da Fast Fourier Transform (FFT), o qual reduz drasticamente

o numero de operacoes necessarias para se chegar ao mesmo resultado da DFT. Enquanto

numa DFT de N pontos o numero de operacoes necessarias (adicoes, subtracoes e multi-

plicacoes) e proporcional a N2, numa FFT esta razao de proporcao e reduzida para log2N .

A arquitetura possui um acelerador que implementa uma FFT de 256 pontos, para

realizar o calculo utiliza o algoritmo padrao Radix-2 Cooley-Tukey (tambem chamado de

butterfly), ou seja, a FFT de 256 pontos e decomposta em log2(N) estagios, e cada estagio

contem uma Radix-2 butterfly, a figura A.1 apresenta o diagrama de um estagio do acelerador.

O bloco tambem e capaz de calcular a transformada inversa (IFFT).

Page 104: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

76 A. Consideracoes sobre os aceleradores da Arquitetura

Figura A.1: Representacao grafica da FFT.

A.2 Filtro FIR

O filtro Finite Impulse Response (FIR) e um dos blocos basicos mais utilizados em

sistemas DSP, e um tipo de filtro digital caracterizado por uma resposta ao impulso que

torna nula apos um tempo finito. A funcao transferencia de um filtro FIR de ordem N e

dada por:

Figura A.2: Representacao grafica do filtro FIR.

Y (n) =N∑i=0

k(i)S(n− 1), (A.3)

Page 105: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

A.2. Filtro FIR 77

onde S(n) e o sinal de entrada, Y (n) e o sinal de saıda, N a ordem do filtro e k(i) sao

os coeficientes do filtro que determinam a resposta em frequencia do sistema. A figura A.2

mostra que a mesma funcao pode ser realizada com um grupo de elementos de delay (z−1)

e multiplicadores, com um delay e um multiplicador para cada tap do filtro seguidos por

uma funcao de soma. Esse tipo de filtro em geral e implementado em DSPs com instrucoes

que multiplicam dois operandos e acumulam o resultado (Multiply and Accumulate (MAC))

em um unico ciclo de clock. E possıvel, no entanto, implementa-lo como uma cascata de

operacoes, o que possibilita uma implementacao paralela e mais eficiente [49].

O acelerador da arquitetura implementa um filtro FIR com 64 taps e leva 8 clocks

do FPGA para realizar a operacao. Os coeficientes para esse filtro deve ser carregados por

pacotes de configuracao enviados pelo bloco de controle.

Page 106: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

78 A. Consideracoes sobre os aceleradores da Arquitetura

Page 107: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

Apendice B

Geracao ondas FM narrowband

Existem, essencialmente, dois metodos basicos de geracao de ondas FM: direto e indireto

[53]. No metodo indireto a onda modulante e usado primeiramente para produzir uma onda

FM de banda estreita, e depois uma multiplicacao de frequencia para a translacao para faixa

desejada. Ja o no metodo direto a frequencia da portadora e variada diretamente de acordo

com o sinal modulante.

Figura B.1: Diagrama de blocos para modulador FM narrowband.

Neste caso entao utilizando o FM indireto considere primeiro a geracao de uma onda

FM de banda estreita. Para isso, a expressao de uma onda FM s1(t) que e escrita na seguinte

forma em funcao da onda modulante m(t):

s1(t) = A1 cos(2πf1t)−A1 sin(2πf1t)φ1(t)

= A1 cos(2πf1t)− 2πk1A1 sin(2πf1t)

t∫0

m(t)dt (B.1)

onde f1 e a frequencia da portadora e A1 e a amplitude da portadora. O argumento angular

φ1 de s1(t) esta relacionado com m(t) onde k1 e a sensibilidade de frequencia do modulador.

A equacao define uma onda FM narrowband e a partir dela e construıdo o diagrama de blocos

apresentado na figura B.1, o fator de escala 2πf1 e tratado pelo multiplicador modulador.

Page 108: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

80 B. Geracao ondas FM narrowband

A onda modulada produzida por esse modulador de banda estreita difere de um FM

ideal, pois apresenta modulacao em amplitude residual distorcao harmonica na frequencia

de modulacao. Porem, ao restringir o ındice de modulacao a β ≤ 0.3rad, os efeitos de AM

residual e PM harmonico sao limitados a nıveis negligenciaveis.

O passo seguinte no metodo de FM indireto e o de multiplicacao na frequencia. Basi-

camente, um multiplicador de frequencia consiste num dispositivo nao linear seguido por um

filtro passa-banda.

Page 109: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

Referencias Bibliograficas

[1] FPGA Mezzanine Card (FMC) standard. ANSI, New York, NY, 2008. Approved in

2008, revised in 2010.

[2] B. Ackland, D. Raychaudhuri, M. Bushnell, C. Rose, I. Seskar, T. Sizer, D. Samardzija,

J. Pastalan, A. Siegel, J. Laskar, et al. High performance cognitive radio platform with

integrated physical and network layer capabilities. NSF CNS-0435370, 2005.

[3] R. Andraka. A survey of cordic algorithms for fpga based computers. In Proceedings

of the 1998 ACM/SIGDA sixth international symposium on Field programmable gate

arrays, pages 191–200. ACM, 1998.

[4] O. Anjum, T. Ahonen, F. Garzia, J. Nurmi, C. Brunelli, and H. Berg. State of the

art baseband dsp platforms for software defined radio: A survey. EURASIP Journal on

Wireless Communications and Networking, 2011(1):5, 2011.

[5] P.J. Ashenden. The student’s guide to VHDL. Morgan Kaufmann, 2008.

[6] L. Benini and G. De Micheli. Networks on chips: A new soc paradigm. Computer, 35

(1):70–78, 2002.

[7] L. Benini and G. De Micheli. Networks on chips: Technology and Tools. Morgan Kauf-

mann, 2006.

[8] E. Bolotin, I. Cidon, R. Ginosar, and A. Kolodny. Qnoc: Qos architecture and design

process for network on chip. Journal of Systems Architecture, 50(2):105–128, 2004.

[9] L. Bononi and N. Concer. Simulation and analysis of network on chip architectures:

ring, spidergon and 2d mesh. In Proceedings of the conference on Design, automation

and test in Europe: Designers’ forum, pages 154–159. European Design and Automation

Association, 2006.

[10] F. Bouwens, M. Berekovic, A. Kanstein, and G. Gaydadjiev. Architectural exploration of

the adres coarse-grained reconfigurable array. Reconfigurable Computing: Architectures,

Tools and Applications, pages 1–13, 2007.

Page 110: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

82 REFERENCIAS BIBLIOGRAFICAS

[11] C. Brunelli, F. Cinelli, D. Rossi, and J. Nurmi. A vhdl model and implementation of a

coarse-grain reconfigurable coprocessor for a risc core. In Research in Microelectronics

and Electronics 2006, Ph. D., pages 229–232. IEEE, 2006.

[12] G. Cichon, P. Robelly, H. Seidel, E. Matus, M. Bronzel, and G. Fettweis. Synchronous

transfer architecture (sta). Computer Systems: Architectures, Modeling, and Simulation,

pages 193–207, 2004.

[13] K. Compton and S. Hauck. Reconfigurable computing: a survey of systems and software.

ACM Computing Surveys (csuR), 34(2):171–210, 2002.

[14] W.J. Dally and B. Towles. Route packets, not wires: On-chip interconnection networks.

In Design Automation Conference, 2001. Proceedings, pages 684–689. IEEE, 2001.

[15] A.D. Datasheet. Mixed-signal front-end (mxfe) processor for broadband communica-

tions, 2002.

[16] Laboratorio de Integracao de Software e Hardware. Board for embedded software-defined

radio, 2012. URL http://www.lisha.ufsc.br/Project+eSDR.

[17] Roberto de Matos, Antonio Augusto Frohlich, and Leandro Buss Becker. Using Multiple

Channels to Improve SDR Flexibility and Performance. In International Conference on

Computing, Networking and Communications, pages 1031–1035, Maui, U.S.A., January

2012. ISBN 978-1-4673-0009-4.

[18] R. Dhar, G. George, A. Malani, and P. Steenkiste. Supporting integrated mac and phy

software development for the usrp sdr. In Networking Technologies for Software Defined

Radio Networks, 2006. SDR’06.1 st IEEE Workshop on, pages 68–77. IEEE, 2006.

[19] C. Dick and J. Hwang. Fpgas: A platform-based approach to software radios. Software

Defined Radio, pages 235–272, 2004.

[20] C.H. Dick, S. Jose, and H.M. Pedersen. Design and implementation of high-performance

fpga signal processing datapaths for software defined radios. In Embedded Systems Con-

ference, pages 1–16, 2001.

[21] G. Eichinger, M. Leeser, and K. Chowdhury. An fpga spectrum sensing accelerator for

cognitive radio. 2011.

[22] Blossom Eric. Exploring gnu radio, 2012. URL

http://www.gnu.org/software/gnuradio/doc/exploring-gnuradio.html.

[23] M. Ettus. Universal software radio peripheral. Ettus Research, Mountain View, CA,

2009.

[24] J. Gao. 10 100 1000 mbps tri-mode ethernet mac specification, 2006.

Page 111: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

REFERENCIAS BIBLIOGRAFICAS 83

[25] F. Garzia, C. Brunelli, C. Giliberto, and J. Nurmi. Implementation of w-cdma cell search

on a runtime reconfigurable coarse-grain array. In EUROCON 2009, EUROCON’09.

IEEE, pages 411–415. IEEE, 2009.

[26] K. Goossens, J. Dielissen, and A. Radulescu. Æthereal network on chip: concepts,

architectures, and implementations. Design & Test of Computers, IEEE, 22(5):414–421,

2005.

[27] P. Guerrier and A. Greiner. A generic architecture for on-chip packet-switched intercon-

nections. In Proceedings of the conference on Design, automation and test in Europe,

pages 250–256. ACM, 2000.

[28] M.L.H.U. Guide. 1. overview. ML605 Hardware User Guide, 2009.

[29] D. Haessig, J. Hwang, S. Gallagher, and M. Uhm. Case-study of a xilinx system generator

design flow for rapid development of sdr waveforms. In SDR technical conference, pages

14–18, 2005.

[30] S. Hauck and A. DeHon. Reconfigurable computing: the theory and practice of FPGA-

based computation. Morgan Kaufmann Pub, 2008.

[31] S. Haykin. Sistemas de Comunicacao-Analogicos e Digitais. Artmed, 2004.

[32] J. Hwang, B. Milne, N. Shirazi, and J. Stroomer. System level tools for fpgas. Proceedings

FPL 2001, 2001.

[33] F. Karim, A. Nguyen, and S. Dey. An interconnect architecture for networking systems

on chips. Micro, IEEE, 22(5):36–45, 2002.

[34] P.B. Kenington. RF and baseband techniques for software defined radio. Artech House,

2005.

[35] S. Kumar, A. Jantsch, J.P. Soininen, M. Forsell, M. Millberg, J. Oberg, K. Tiensyrja,

and A. Hemani. A network on chip architecture and design methodology. In VLSI, 2002.

Proceedings. IEEE Computer Society Annual Symposium on, pages 105–112. IEEE, 2002.

[36] B.P. Lathi. Sinais e sistemas lineares. Bookman, 2007.

[37] J. Levon. Oprofile manual. Victoria University of Manchester, 2004.

[38] T. Limberg, M. Winter, M. Bimberg, R. Klemm, MBS Tavares, H. Ahlendorf, E. Matus,

G. Fettweis, H. Eisenreich, G. Ellguth, et al. A heterogeneous mpsoc with hardware

supported dynamic task scheduling for software defined radio. In Design Automation

Conference (DAC’09). Citeseer, 2009.

[39] D. Liu. Embedded DSP processor design: application specific instruction set processors,

volume 2. Morgan Kaufmann, 2008.

Page 112: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

84 REFERENCIAS BIBLIOGRAFICAS

[40] D. Liu, A. Nilsson, E. Tell, D. Wu, and J. Eilert. Bridging dream and reality: pro-

grammable baseband processors for software-defined radio. Communications Magazine,

IEEE, 47(9):134–140, 2009.

[41] M. Lohning, T. Hentschel, and G. Fettweis. Digital down conversion in software radio

terminals. In Proceedings of the 10. European Signal Processing Conference (EUSIPCO,

volume 3, pages 1517–1520. Citeseer, 2000.

[42] R.G. Lyons. Understanding digital signal processing. Prentice Hall PTR, 2004.

[43] R. Matos. Uma arquitetura de canais para radios definidos por software de multiplas

camadas. 2010.

[44] C. Maxfield. The Design warrior’s guide to FPGAs: Devices, tools and flows, volume 1.

Elsevier, 2004.

[45] J. Mitola. The software radio architecture. Communications Magazine, IEEE, 33(5):

26–38, 1995.

[46] J. Mitola. Software radio architecture. Wiley Online Library, 2000.

[47] J. Mitola III. Software radios: Survey, critical evaluation and future directions. Aerospace

and Electronic Systems Magazine, IEEE, 8(4):25–36, 1993.

[48] J. Mitola III. What is a software defined radio?, 2012. URL

http://gnu.feld-it.at/software/gnuradio/gnuradio.html.

[49] S.K. Mitra and Y. Kuo. Digital signal processing: a computer-based approach, volume 2.

McGraw-Hill New York, 2006.

[50] F. Moraes, N. Calazans, A. Mello, L. Moller, and L. Ost. Hermes: an infrastructure for

low area overhead packet-switching networks on chip. Integration, the VLSI Journal, 38

(1):69–93, 2004.

[51] T.R. Muck. Uma arquitetura para implementacao de sdrs em sistemas embarcados.

2009.

[52] A. Muller. Dab software receiver implementation. Swiss Federal Institute of Technology

Zurich, 2008.

[53] V.S. Neto. Telecomunicacoes: sistemas de modulacao. Erica, 2005.

[54] A. Niktash, H.T. Parizi, and N. Bagherzadeh. Application of a heterogeneous recon-

figurable architecture to ofdm wireless systems. In Circuits and Systems, 2007. ISCAS

2007. IEEE International Symposium on, pages 2586–2589. IEEE, 2007.

[55] J. Nurmi. Processor design: system-on-chip computing for ASICs and FPGAs. Springer

Verlag, 2007.

Page 113: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

REFERENCIAS BIBLIOGRAFICAS 85

[56] G. Nychis, T. Hottelier, Z. Yang, S. Seshan, and P. Steenkiste. Enabling mac pro-

tocol implementations on software-defined radios. In Proceedings of the 6th USENIX

symposium on Networked systems design and implementation, pages 91–105. USENIX

Association, 2009.

[57] O. Paker, K. van Berkel, and K. Moerman. Hardware and software implementations of

an mmse equalizer for mimo-ofdm based wlan. In Signal Processing Systems Design and

Implementation, 2005. IEEE Workshop on, pages 1–6. IEEE, 2005.

[58] P.P. Pande, C. Grecu, A. Ivanov, and R. Saleh. Design of a switch for network on

chip applications. In Circuits and Systems, 2003. ISCAS’03. Proceedings of the 2003

International Symposium on, volume 5, pages V–217. IEEE, 2003.

[59] H. Park, K. Fan, M. Kudlur, and S. Mahlke. Modulo graph embedding: mapping

applications onto coarse-grained reconfigurable architectures. In Proceedings of the 2006

international conference on Compilers, architecture and synthesis for embedded systems,

pages 136–146. ACM, 2006.

[60] S. Pasricha and N. Dutt. On-chip communication architectures: system on chip inter-

connect. Morgan Kaufmann, 2008.

[61] S.M. Pereira. Standardizing digital if data transfer with vita 49. RTC Magazine, 2006.

[62] GNU FSF Projec. The gnu radio, 2012. URL http://gnuradio.org.

[63] U. Ramacher. Software-defined radio prospects for multistandard mobile phones. Com-

puter, 40(10):62–69, 2007.

[64] J.H. Reed. Software radio: a modern approach to radio engineering. Prentice Hall

Professional, 2002.

[65] R. Schena. Desenvolvimento de um digital down converter (ddc) para um prototipo

embarcado de radio definido por software. 2007.

[66] M. Schwartz. Information transmission, modulation and noise. a unified approach to

communication systems. New York: McGraw-Hill, 1970, 1, 1970.

[67] M.C. Smith and G.D. Peterson. Programming high performance reconfigurable comput-

ers. SPIE ITCon Reconfigurable Technology: FPGAs and Reconfigurable Processors for

Computing and Communications, 2001.

[68] V. Surducan, M. Moudgill, G. Nacer, E. Surducan, P. Balzola, J. Glossner, S. Stanley,

M. Yu, D. Iancu, et al. The sandblaster software-defined radio platform for mobile

4g wireless communications. International Journal of Digital Multimedia Broadcasting,

2009, 2009.

Page 114: Uma Arquitetura Recon gur avel Heterog^enea para R … · Uma Arquitetura Recon gur avel Heterog^enea para ... FMC FPGA Mezzanine Card ... LTE 3GPP Long Term Evolution

86 REFERENCIAS BIBLIOGRAFICAS

[69] D.L. Tennenhouse and V.G. Bose. Spectrumware: a software-oriented approach to wire-

less signal processing. In Proceedings of the 1st annual international conference on Mobile

computing and networking, pages 37–47. ACM, 1995.

[70] T.J. Todman, G.A. Constantinides, S.J.E. Wilton, O. Mencer, W. Luk, and P.Y.K.

Cheung. Reconfigurable computing: architectures and design methods. In Computers

and Digital Techniques, IEE Proceedings-, volume 152, pages 193–207. Iet, 2005.

[71] W.H.W. Tuttlebee. Software defined radio: origins, drivers, and international perspec-

tives. Wiley, 2002.

[72] M. Woh, Y. Lin, S. Seo, S. Mahlke, T. Mudge, C. Chakrabarti, R. Bruce, D. Kershaw,

A. Reid, M. Wilder, et al. From soda to scotch: The evolution of a wireless baseband

processor. In Microarchitecture, 2008. MICRO-41. 2008 41st IEEE/ACM International

Symposium on, pages 152–163. Ieee, 2008.

[73] V.I.I. Xilinx. Platform fpgas: Complete data sheet. DS031 (v3. 4), March, 2005.

[74] C.A. Zeferino and A.A. Susin. Socin: a parametric and scalable network-on-chip. In In-

tegrated Circuits and Systems Design, 2003. SBCCI 2003. Proceedings. 16th Symposium

on, pages 169–174. IEEE, 2003.