1 / 22

O Processador Leon

O Processador Leon. Rodolfo Jardim de Azevedo. 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). Configuração do Processador.

mary-beard
Download Presentation

O Processador Leon

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. O Processador Leon Rodolfo Jardim de Azevedo

  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 confque 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 = rs1 + 100 Ex.: ADD %i3, 100, %o0

  18. Registradores • Banco de Registradores organizado em janelas r[0]..r[7] (global) CWP + 1 CWP Current Window CWP - 1 Restore, RETT SAVE, trap

  19. Registradores (convenções)

  20. Memória do Leon

  21. Alguns Registradores on-chip

  22. Leon Configuration Register

More Related