A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Leon2 MO801/MC912. Características Básicas Processador RISC Padrão SPARC V8 (IEEE-1754) Palavra de 32 bits Descrição em VHDL-87 Barramento AMBA (AHB e.

Apresentações semelhantes


Apresentação em tema: "Leon2 MO801/MC912. Características Básicas Processador RISC Padrão SPARC V8 (IEEE-1754) Palavra de 32 bits Descrição em VHDL-87 Barramento AMBA (AHB e."— Transcrição da apresentação:

1 Leon2 MO801/MC912

2 Características Básicas Processador RISC Padrão SPARC V8 (IEEE-1754) Palavra de 32 bits Descrição em VHDL-87 Barramento AMBA (AHB e APB) para interligação de periféricos Controlador de memória (SRAM e DRAM)

3 Configuração do Processador Duas alternativas –Interface gráfica make xconfig(Linux) make wconfig(Windows + cygwin) –Edição manual dos arquivos device.vhd e target.vhd

4 Interface Gráfica Interface de configuração similar ao do kernel do Linux

5 Opções de Síntese

6 Processador e Cache

7 Unidade de Inteiros

8 Configuração Manual target.vhd –Declara as estruturas de configuração device.vhd –Cria a estrutura conf que armazena a configuração do leon A constante tkconfig é gerada automaticamente pela interface gráfica.

9 Síntese O diretório syn possui scripts de síntese para diversas ferramentas Arquivo para Leonardo: leon.tcl (sem informações sobre tecnologia) read -dont_elaborate../leon/amba.vhd read -dont_elaborate../leon/target.vhd read -dont_elaborate../leon/device.vhd read -dont_elaborate../leon/config.vhd read -dont_elaborate../leon/sparcv8.vhd read -dont_elaborate../leon/iface.vhd read -dont_elaborate../leon/macro.vhd... read -dont_elaborate../leon/mcore.vhd read -dont_elaborate../leon/leon.vhd elaborate leon -architecture rtl

10 Síntese (cont.) Informações sobre tecnologia no início do arquivo –FPGA Xilinx XCV800 do kit da XESS set part v800hq240 set process 4 set wire_table xcv800-4_wc load_library xcv

11 Síntese (cont.) read -dont_elaborate./xsv800.vhd elaborate xsv800 -architecture rtl set xilinx_exec_path /home/lsc/xilinx/bin/sol set edif_write_arrays FALSE # Comandos para contornar incompatibilidades com a Xilinx set register2register 80 set input2register 80 set register2output 80 optimize.work.xsv800.rtl -target xcv -chip -delay -effort quick optimize_timing.work.xsv800.rtl # Output report_area xsv800.area -cell_usage -all_leafs report_delay xsv800.delay -num_paths 1 -critical_paths - clock_frequency auto_write -downto xcv xsv800.edf

12 Ferramentas da Xilinx Ferramentas de linha de comando: ngdbuild -p xcv800-4-hq240 -uc xsv800.ucf xsv800.edf xsv800.ngd map -p xcv800-4-hq240 -o xsv800.ncd xsv800.ngd xsv800.pcf par -w xsv800.ncd xsv800.ncd xsv800.pcf trce -skew xsv800.ncd xsv800.pcf -o xsv800.twr -xml xsv800.twx bitgen xsv800.ncd -d -w

13 Simulação Utilizando o ModelSim basta executar o comando make no diretório raiz da distribuição e chamar o simulador Diretórios: –tbench: Código VHDL do Test Bench do Leon –tsource: Código em C para teste do processador –leon: Descrição VHDL do processador

14 Kit da XESS Utilitários com interface gráfica para Windows e versões de linha de comando para Linux –gxsload ou xsload: Transferência de arquivos para a placa através da interface paralela –gxsetclk ou xsetclk: Altera a freqüência do clock da placa (entre 10KHz e 100MHz)

15 Características SPARC Conjunto maior de instruções –Mais instruções de salto –Instruções para ativar código de condição (cc) Suporte a regiões específicas de memória (ASI – Address Space Identifier) Imediato de 30 bits no CALL Big endian

16 Formato das Instruções

17 Instruções (notação) rs1 e rs2 são as origens rd é o registrador destino ADD rs1, rs2, rd rd = rs1 + rs2 Ex.: ADD %i3, %i4, %o0 ADD rs1, 100, rd rd = rs Ex.: ADD %i3, 100, %o0

18 Registradores Banco de registradores organizado em janelas r[24]..r[31] (in) r[16]..r[23] (local) r[08]..r[15] (out)r[24]..r[31] (in) r[16]..r[23] (local) r[08]..r[15] (out)r[24]..r[31] (in) r[16]..r[23] (local) r[08]..r[15] (out) r[0]..r[7] (global) CWP + 1 CWP Current Window CWP - 1 Restore, RETT SAVE, trap

19 Registradores (convenções) RegistradorUso %i7 = %r31Endereço de retorno %fp = %i6 = %r30Frame pointer %i0 = %r24Primeiro parâmetro de entrada e valor de retorno %o7 = %r15Endereço do CALL %sp = %o6 = %r14Stack pointer %o0 = %r8Primeiro parâmetro de saída e valor retornado %g7, %g6, %g5Reservados %g1 = %r1Valor temporário %g0 = %r00 (zero

20 Memória do Leon IntervaloTamanhoConteúdoControlador 0x – 0x1FFFFFFF512MbPROM Controlador de Memória 0x – 0x3FFFFFFF512MbI/O em Memória 0x – 0x7FFFFFFF1GbSRAM e/ou SDRAM 0x – 0x8FFFFFFF256MbRegistradores on-chipBarramento APB 0x – 0x9FFFFFFF256MbUnidade de depuraçãoDSU

21 Alguns Registradores on-chip EndereçoSignificado 0x Memory Configuration Register 1 0x Memory Configuration Register 2 0x Memory Configuration Register 3 0x AHB Status Register 0x Cache Control Register 0x Power-down Register 0x Leon Configuration Register 0x Timer 1 Counter Register 0x Timer 1 Reload Register 0x Timer 1 Control Register 0x UART 1 Data Register 0x UART 1 Status Register 0x UART 1 Control Register 0x CUART 1 Scalar Register

22 Leon Configuration Register BitSignificado 30Debug suport unit present 29SDRAM controller present 28:26Number of implemented Watchpoints 25UMAC/SMAC instruction implemented 24:20Number of register windows – 1 19:17Log 2 (instruction cache size) in Kb 16:15Log 2 (instruction cache line size) in 32bit words 14:12Log 2 (data cache size) in Kb 11:10Log 2 (data cache line size) in 32bit words 9UDIV/SDIV instruction implemented 8UMUL/SMUL instruction implemented 7Watchdog present 6Memory status and failing address register present 5:4FPU type (00 = none, 01 = Meiko) 3:2PCI core type (00 = none, 01 = InSilicon, 10 = ESA, 11 = Other) 1:0Write protection type (00 = none, 01 = standard)

23 Código Fonte Configuração –target.vhdtarget.vhd –device.vhddevice.vhd –config.vhdconfig.vhd Interfaces –iface.vhdiface.vhd Módulo principal –leon.vhd, leon_eth.vhd, leon_pci.vhd, leon_eth_pci.vhdleon.vhdleon_eth.vhd leon_pci.vhd leon_eth_pci.vhd Controlador de Memória –mctrl.vhdmctrl.vhd Processador –mcore.vhdmcore.vhd Unidade de Inteiros –iu.vhdiu.vhd Biblioteca de tecnologia –tech_virtex.vhd, tech_virtex2.vhdtech_virtex.vhd tech_virtex2.vhd AMBA –amba.vhdamba.vhd


Carregar ppt "Leon2 MO801/MC912. Características Básicas Processador RISC Padrão SPARC V8 (IEEE-1754) Palavra de 32 bits Descrição em VHDL-87 Barramento AMBA (AHB e."

Apresentações semelhantes


Anúncios Google