29
ComL@b – Laboratório de Comunicações Digitais www.decom.fee.unicamp.br/~cardoso Aula 5, Exp 4: Representação em Ponto Fixo Fabbryccio Cardoso D lt S A t Dalton S. Arantes DECOM-FEEC-UNICAMP

Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

  • Upload
    vohuong

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

www.decom.fee.unicamp.br/~cardoso

Aula 5, Exp 4: Representação em Ponto Fixo

Fabbryccio Cardoso

D lt S A tDalton S. Arantes

DECOM-FEEC-UNICAMP

Page 2: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Representação bináriaRepresentação binária-22 21 20 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 2-10 2-11 2-12 2-13

Value = -2.261108…

F t Fi 16 131 0 1 1 0 1 1 1 1 0 1 0 0 1 0 1

Integer Fraction

Format = Fix_16_13

(Sign: Fix = Signed Valueg (Sign: Fix = Signed Value UFix = Unsigned value) Format = Sign_Width_Binary point a partir do LSB

Menor negativo: 1 0 0 0 0 ..... 0 = -2N – p - 1

0 0 0001 0 001

0 0 000-1 1 111 = 7 - 2^3

2 0 0103 0 011

-2 1 110 = 6 - 8-3 1 101 = 5 - 84 1 100 = 4 84 0 100

5 0 1016 0 110

-4 1 100 = 4 - 8-5 1 011 -6 1 0106 0 110

7 0 1116 1 010

-7 1 001-8 1 000 = 0 - 8

Page 3: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Representação em Ponto Fixo no SysGenRepresentação em Ponto Fixo no SysGen

pMSB LSB

N: comprimento da palavra binária.

p ponto binário o fator de escala (0 1 N 1)

p

p: ponto binário ou fator de escala (0, 1, ..., N-1).

Com ou sem sinal.

Com sinal: Ufix_N_p.

Sem sinal: Fix_N_p.

N e p definem a faixa de valores da representação.

p define a precisão da representação.p define a precisão da representação.

Page 4: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Ponto Fixo: Números Inteiros PositivosPonto Fixo: Números Inteiros Positivos

Ufix_3_0 Ufix_4_0_ _0 000Ufix_2_0 0 0000

1 00011 0012 010

0 001 01

2 00103 00114 01002 010

3 0114 100

1 012 10

4 0100..........10 10104 100

5 1013 11

10 101011 101112 1100

6 1107 111

13 110114 111015 11117 111 15 1111

Page 5: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Passo e Faixas de valores para Ufix N pPasso e Faixas de valores para Ufix_N_p

UFix_8_0: 0, 1, 2, 3, ................................, 255passo = 1_ _ , , , , ,

0 255

UFix_8_2: 0,passo = ¼ = 0.25

0.25, 0.5, ......................, 255/4 = 63.75

0 255/4 = 63.75

passo = 1UFix N 0: p

0

UFix_N_0:

UFix_N_p:passo =

0

Page 6: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Representação Numérica (truncar)Representação Numérica (truncar)Q{x}

1.51.75 3

Ufix_3_20.00 = 0.000 01 = 0 251.0

1.25

0.01 = 0.250.10 = 0.500.11 = 0.75

20.5

0.75

0.11 0.751.00 = 1.001.01 = 1.25x0

0.25

1.10 = 1.501.11 = 1.75

7/4Ufix 2 01.0

7/4_ _00 = 0 01 = 1 10 = 2 11 = 3 0 x

Page 7: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Ponto Fixo: Números Negativos

MSB indica o sinal

Ponto Fixo: Números Negativos

0 0000 0 00000 1111Inverte e soma 1 = x + 1 = 2N - x

0 00001 0001

0 0000-1 1111

0 11111 11101 0001

2 00103 0011

1 1111-2 11103 1101

1 11102 11013 11003 0011

4 0100-3 1101-4 1100

3 11004 1011

5 01016 0110

-5 10116 1010

5 10106 10016 0110

7 0111-6 1010-7 1001

6 10017 1000

8 1000 -8 10008 0111

Page 8: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Ponto Fixo: Complemento de 2Ponto Fixo: Complemento de 2

Representa números na faixa de

2N 1 2N 1 1

0 00001 0001

0 0000-1 1111- 2N-1 a 2N-1 - 1 1 0001

2 00103 0011

-1 1111-2 1110-3 1101

O ZERO tem uma única

representação4 01005 01016 0110

-4 1100-5 10116 10106 0110

7 0111-6 1010-7 1001-8 1000

O circuito de adição não precisa analisar o sinal do

operando para decidir entre as operações de soma

8 1000

operando para decidir entre as operações de soma

e de subtração

http://en.wikipedia.org/wiki/Two%27s_complement

Page 9: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Tipos e Faixas de valoresTipos e Faixas de valores

Fix_N_p 0passo =

Fix_N_N passo = 00 5 0 5-0.5 ~ 0.5

Fix N N-1 0passo =Fix_N_N-1 0-1 ~ 1

passo =

Fix_N_N-2 02 2

passo =

-2 ~ 2

Page 10: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Tipos e Faixas de valoresTipos e Faixas de valores

UFix_N_p passo =

0

UFix_N_N passo =

0 10 ~ 1

UFix N N 1 passo =UFix_N_N-1

0 ~ 2

passo =

UFix_N_N-2

0passo =

0 ~ 4

Page 11: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Representação (truncar e saturar)Representação (truncar e saturar)

Fix 3 2Q{ x }

Fix_3_2

1.00 -4/4 -1.000.75

1.01 -3/4 -0.751.10 -2/4 -0.501 11 1/4 0 25

0.25

0.50

1.11 -1/4 -0.250.00 0 0.000 01 1/4 0 25

x

p−2-0 25

-0.00

0.01 1/4 0.250.10 2/4 0.500.11 3/4 0.75

= 0.25p2

0 75

-0.50

0.25

-1.00

-0.75

Page 12: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Representação com ArredondamentoRepresentação com Arredondamento

Fix 3 2Q{ x } Fix_3_2

1.00 -4/4 -1.000.75

1.01 -3/4 -0.751.10 -2/4 -0.501 11 1/4 0 25

0.25

0.50

1.11 -1/4 -0.250.00 0 0.000 01 1/4 0 25

x

p−2-0 25

-0.00

0.01 1/4 0.250.10 2/4 0.500.11 3/4 0.75

= 0.25p2

0 75

-0.50

0.25

-1.00

-0.75

Page 13: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

VerificaçãoVerificação

Defina o formato e o valor da seguinte representação:p ç

1 1 0 0 0 1 1 0 1 0 1 1Format = < _ _ >Value =

Qual o formato para as seguintes faixas de valores:

a) Max value: +1 b) Max value: 0 8 ) M l 278

Format = < > Format = < > Format = < >

a) Max value: +1Min value: -1Quantized to 12 bit data

b) Max value: 0.8Min value: 0.2Quantized to 10 bit data

c) Max value: 278Min value: -138Quantized to 11 bit data

Complete a tabela:

Format = < _ _ > Format = < _ _ > Format = < _ _ >

Operation Full Precision Output Type <Fix_12_9> + <Fix_8_3> <Fix 8 7> x <Ufix 8 6> <Fix_8_7> x <Ufix_8_6>

Page 14: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

VerificaçãoVerificação

Defina o formato e o valor da seguinte representação:p ç

1 1 0 0 0 1 1 0 1 0 1 1Formato = < Fix_12 _5 >Valor = -28.65625

Qual o formato para as seguintes faixas de valores:

a) Max value: +1 b) Max value: 0 8 ) M l 278

Format = < Fix 12 10 > Format = < Ufix 10 10 > Format = < Fix 11 1 >

a) Max value: +1Min value: -1Quantized to 12 bit data

b) Max value: 0.8Min value: 0.2Quantized to 10 bit data

c) Max value: 278Min value: -138Quantized to 11 bit data

Complete a tabela:

Format = < Fix_12_10 > Format = < Ufix _10_10 > Format = < Fix_11_1 >

Log2(279) = N-p-1p = N - 1 - log2(279)

Operation Full Precision Output Type <Fix_12_9> + <Fix_8_3> Fix_15_9 <Fix 8 7> x <Ufix 8 6> Fix 16 13 Fix_8_7 x Ufix_8_6 Fix_16_13

Page 15: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Exemplo SysGen: Equação de diferençasExemplo SysGen: Equação de diferenças

histograma Fix_8_6

[ -2, 1.9844 ]passo = 0.015625

fix_8_6[ -2, 1.9844 ]

passo = 0.015625

y(n)y(n-1)

x(n-1)x(n) x(n-5)

dbl fpt

Valor Real = -1.2344Valor Inteiro = -79

Valor Binario =10.110001

z-4z-1 z-1

Sy stemGenerator

double Fix_8_6Fix_8_6 Fix_8_6Fix 18 14dbl fpt

x_nfontePonto_fixo

zz

xlconvercast

Convert5078

)

16

2

Fix_18_14

Fix_18_14

x (-0

.05

x 0.

101

x 0.

199

aaaa double

Fix_16_14 Fix_16_14

Fix 19 14

Fix_18_14

fpt dbl

y_nScope

xladdsuba+bb

AddSub2

xladdsuba+b

a

b

a

AddSub1

xladdsuba+b

a

b

adoubley (n)

Fix_17_14Fix_18_14

Fix_19_14

AddSub

Page 16: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Otimização de tipo de dadosOtimização de tipo de dadosManter o comprimento da palavra binária em N = 8 bits.

y(n)y(n-1)

x(n-1)x(n) x(n-5)

dbl fpt

Valor InteiroValor Bina

10.1100z-4z-1 z-1

Generator

Fix_8_7

x_nfontePonto_

xlconvercast

Convert078)

6

2

(-1, 1) (-1, 1) (-1, 1)

xlconverConvert

x (-0

.05

x 0.

101

x 0.

1992

aa

Fix_8_8 Fix_8_8(-0.1, 0.1)

Fix_8_8

fpt dbl

y_n

xladdsuba+b

a

b

a

AddSub2

xladdsuba+b

a

b

a

xladdsuba+b

aa y (n)

(-1 1)

(-0.2, 0.2)

( 1 3 1 3)( 1 3 1 3)

(-0.07, 0.07)(-1.37, 1.37)

AddSub2AddSub1

b

AddSub

( 1, 1)(-1.2, 1.2)

Fix 8 6

(-1.3, 1.3)(-1.2, 1.2)

Fix 8 6

(-1.3, 1.3)

Fix 8 6_ _ _ _ _ _

Page 17: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Otimização de tipo de dadosOtimização de tipo de dadosManter a precisão da fonte.

y(n)y(n-1)

x(n-1)x(n) x(n-5)

dbl fpt

Valor InteiroValor Bina

10.1100z-4z-1 z-1

Generator

Fix_8_7

x_nfontePonto_

xlconvercast

Convert078)

6

2

(-1, 1) (-1, 1) (-1, 1)

xlconverConvert

x (-0

.05

x 0.

101

x 0.

1992

aa

Fix_7_7 Fix_7_7(-0.1, 0.1)

Fix_7_7

fpt dbl

y_n

xladdsuba+b

a

b

a

AddSub2

xladdsuba+b

a

b

a

xladdsuba+b

aa y (n)

(-1 1)

(-0.2, 0.2)

( 1 3 1 3)( 1 3 1 3)

(-0.07, 0.07)(-1.37, 1.37)

AddSub2AddSub1

b

AddSub

( 1, 1)(-1.2, 1.2)

Fix 9 7

(-1.3, 1.3)(-1.2, 1.2)

Fix 9 7

(-1.3, 1.3)

Fix 9 7_ _ _ _ _ _

Page 18: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

HistogramaHistograma

0.02

Fix 8 6

0.016

0.018

0.012

0.014

cia

0.008

0.01

Freq

uenc

0.004

0.006

0

0.002

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2Amostra

Page 19: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Objetivo do ExperimentoObjetivo do Experimento

Aprender a implementar e testar em HW equações

de diferenças;

Aprender a ajustar os parâmetros de quantização

do algoritmo para otimizar a implementação.

Page 20: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Configuração Física do ExperimentoConfiguração Física do Experimento

Page 21: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Netlist do Projeto PrincipalNetlist do Projeto Principal

Baixar e copiar arquivo “principal.ngc” e

“principal.ucf” para a pasta do projeto SysGen que

contém o modelo “audio.mdl”.

Top-level do progeto: principal.ngc.

Componente do top level a ser implementado no

System Generator: audio clk wrapperSystem Generator: audio_clk_wrapper

Page 22: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Declaração do componente no top-levelDeclaração do componente no top level

component audio clk wrapper port (component audio_clk_wrapper port (audio_left_in: in std_logic_vector (15 downto 0);audio_right_in: in std_logic_vector (15 downto 0);ce: in std logic;ce: in std_logic;ce_clr: in std_logic;clk: in std_logic;audio left out: out std logic vector (15 downto 0);_ _ _ g _ ( );audio_right_out: out std_logic_vector (15 downto 0));

end component;

attribute box_type of audio_clk_wrapper : component is "black_box";

Page 23: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Arquitetura do ProjetoArquitetura do Projeto

Top Level: xupv2pro_wrapper

SData In audio left in_

SData_Out

audio_left_in

audio_right_in

Codec AC97LM4550 ac97_ifAC97Clk

(12.288 MHz)

audio_left_out

audio_right_out

audio_clk_wrapper

Controlador AC97

48 kHz1:500

Cristal 100 MH ClockGen100 MHz

Módulo System GeneratorDCM

24 MHz

FPGA Xilinx Virtex2P30

Page 24: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Implementação de Componente no SysGenImplementação de Componente no SysGen

Editar o modelo “audio.mdl”: não renomear o modelo nem as portas (gateways);modelo nem as portas (gateways);

Implementar a seguinte equação de diferenças para os canais esquerdo e direito do modelo:para os canais esquerdo e direito do modelo:

y(n) = 0.5*( x(n) + 0.8*y(n – M) )y(n) = 0.5 ( x(n) + 0.8 y(n M) )

onde M é o número de amostras do sinal tal que qM × Ts = 0.5 segundos.

Ajustar os parâmetros de quantização para os j p q ç pblocos do modelo, mas não alterar o número de bits das portas (gateways);

Page 25: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Módulo System GeneratorMódulo System Generator

ST 0

DisplaySystem

double

fpt dbldbl fpt y out0 xlregisterd qxlregisterd q

SystemGenerator

double Fix_16_14 Fix_16_14Fix_16_14 double

Fix_16_12 Fix_16_12

fpt dbldbl fpt

p

audio_left_out

p

audio_left_in

y_

xlregisterd q

g q

xlregisterd q

g q

Fix_16_14 Fix_16_14Fix_16_14 doublefpt dbl

audio_right_out

dbl fpt

audio_right_in

xlregisterd qxlregisterd q

Fix_16_12 Fix_16_12

Adicionar Sub-Sistema para implementar equações de diferenças.

Page 26: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Bloco “Subsystem”Bloco Subsystem

Page 27: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Interface do System GeneratorInterface do System Generator

Page 28: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

Carregar o Binário: ImpactCarregar o Binário: Impact

Clicar com botão direito do mouse:1. Assign new configuration file;g g ;2. Program ...

Page 29: Aula 5, Exp 4: Representação em Ponto Fixo - DECOMcardoso/ie344b2009s1/Aula5-exp4-ponto...Format = Sign_Width_Binary point a partir do LSB UFix = Unsigned value) Menor negativo:

ComL@b – Laboratório de Comunicações Digitais

AvaliaçãoAvaliação

Visto do experimento = 5 pontos;

Fontes do modelo e do exercício = 5 pontos.p

y(n) + 0 8 y(n-1) + 0 1 y(n-2) = x(n) + 3 x(n-4) + y(n) + 0.8 y(n-1) + 0.1 y(n-2) = x(n) + 3 x(n-4) +

6 x(n-10)

Quantizar entrada com N = 16 bitsQuantizar entrada com N = 16 bits