viernes, marzo 21, 2008

[Estudio] S1 Core: Arquitectura I - S1_top

Empecé a investigar la estructura del S1 Core comenzando por el bloque exterior, es decir el que se comunicaría con los demas circuitos integrados en la placa o PCB.
Este bloque exterior esta formado por los siguientes archivos escritos en Verilog:
  • t1_defs.h: Se definen las constantes usadas por OpenSPARC T1
  • s1_defs.h: Se definen las constantes usadas por S1 Core
  • s1_top.v: Código donde se hacen las conexiones entre los bloques "sparc", "spc2wbm", "rst_ctrl" y "int_ctrl"
  • sparc.v: Definición del núcleo SPARC
  • spc2wbm.v: Código donde se implementa un "puente" de un núcleo SPARC del OpenSPARC T1 hacia una interfaz maestra que hace uso del protocolo de interconexión Wishbone
  • rst_ctrl.v: Este bloque implementa el Controlador de Reset usado por el S1 Core para despertar el núcleo SPARC del OpenSPARC T1; este comportamiento fue obtenido al hacer ingeniería inversa de las formas de onda del OpenSPARC T1
  • int_ctrl.v: Implementa el Controlador de Interrupciones usado por el S1 Core para detectar si algún perisférico produjo una interrupción
Utilzando el OpenOffice.arg Draw realicé un gráfico describiendo este bloque:



Las entradas al bloques son:
  • sys_clock_i: Reloj del sistema
  • sys_reset_i: Reset del sistema
  • sys_irq_i: Pedidos de interrupciones. Son 64 en total
  • wbm_ack_i: Entrada para la petición del bus Wishbone
  • wbm_data_i: Entrada del bus de datos del bus Wishbone de 64 bits
Las salidas del bloque son:
  • wbm_cycle_o: Inicio de ciclo
  • wbm_strobe_o: Requerimiento de strobe (si alguien conoce la traducción de strobe la agradeceré)
  • wbm_we_o: Habilitación de escritura
  • wbm_addr_o: Bus de dirección del bus Wishbone de 64 bits
  • wbm_data_o: Bus de datos del bus Wishbone de 64 bits
  • wbm_sel_o: Salida de selección de 8 bits
En definitiva la función del bloque S1_top son intercomunicar los distintos bloques:
  • Un núcleo SPARC del OpenSPARC T1
  • Un puente entre el núcleo SPARC y un manejador Wishsbone
  • Un controlador de Reset
  • Un controlador de Interrupciones
Para saber más del bus Wishbone en Opencores.org hay información al respecto.

Saludos

Etiquetas: , , , , ,

1 Comments:

At 2:07 p. m., Anonymous Anónimo said...

Calviss,, te vimos en la marcha del campo, te staba empomando un chacarero,, otra cosa, dice George q dsp te va a explicar la estructura del core,, dice q son muchas lineas de codigo en delphi y paradox,,,,

 

Publicar un comentario

<< Home