Síntesis de alto nivel de un microprocesador [cerrado]

0

Estoy trabajando en una tienda de FGPA en este momento con los FPGA de Xilinx. No tengo mucha experiencia en el diseño de lógica, especialmente cuando se trata de microprocesadores. Uno de los grandes movimientos que mi equipo está considerando es adoptar la Síntesis de Alto Nivel (HLS) que traduce un algoritmo escrito en C a RTL que luego puede colocarse y enrutarse en un FPGA o incluso enviarse a un diseño ASIC.

Aquí se hizo una pregunta similar Convertir C a FPGA , pero quiero Dirija la respuesta de esta pregunta directamente a la arquitectura de un microprocesador.

Mi pregunta es ¿qué se necesitaría para implementar un algoritmo para un microprocesador? Obviamente tienes la ISA, así que asumo que tus entradas serían cada operando, dependiendo de la cantidad de procesadores que tomes y el código de operación. ¿Supongo que debería haber algún búfer asignado para representar los cachés / registros de la arquitectura? Además, probablemente deba asignar espacio para la RAM, ya que las ISA tienen operaciones de registro indirecto que pueden requerir que ese tipo de memorias ya estén asignadas.

Por ejemplo, digamos que quiero hacer un Intel 8008. ¿Me puede dar un pseudocódigo para demostrar el algoritmo que se puede poner a través de un sintetizador de alto nivel para obtener ese hardware?

Editar

Cuando pido un pseudo código, obviamente no me refiero a un producto completo. Solo quiero los pasos principales que estarían involucrados en el diseño del algoritmo. Supongo que giraría en torno a la obtención, decodificación y ejecución de la entrada a la función. Los comentarios con los emuladores y el AUGH parecen ser de gran ayuda.

    
pregunta Jack Frye

1 respuesta

0

Este artículo de Ken Chapman pasa por el proceso de diseño que se utilizó para crear el procesador PicoBlaze utilizado en los FPGA de Xilinx.

enlace

El artículo no habla específicamente de C. Pero el punto es intentar implementar la lógica de manera similar a lo que se describe.

    
respondido por el user4574

Lea otras preguntas en las etiquetas