Vamos a ver con esta entrada cómo podemos diseñar y verificar hardware con un editor de amplio espectro como es Visual Studio Code. Control de versiones Sin duda alguna un editor potente que se precie debe de tener implementado un control de versiones que nos garantice dicho control a nivel local, tener copias de seguridad remotas con algún repositorio en…
-
-
Sesion 3 Seminario Verificación UVM nivel básico
En esta sesión nos vamos a dedicarnos a la cobertura funcional y a mejorar nuestro plan de verificación con el fin de conseguir una grado de cobertura especificado. Para ello el esquema que vamos a seguir es el siguiente: Determinación de la cobertura funcional con el componente coverage Generación de nuevas secuencias y valoración del grado de cobertura obtenido Control…
-
Sesion 2 Seminario Verificación UVM nivel básico
En esta sesión nos vamos a centrar en la creación del test de la siguiente figura (RECUADRO EN AMARILLO) y su posterior refinamiento, tanto de la generación de estímulos como en la observación de los resultados. El esquema que vamos a seguir es el siguiente: Creación del test Como puede observarse por los pasos a seguir es una metodología «bottom-up».…
-
Sesion 1 Seminario Verificacion UVM nivel básico
Instrucciones iniciales Diseño a verificar Vamos a verificar un divisor algorítmico. El código ASM es el que se adjunta en la siguiente figura Os adjunto información de cómo deberían denominarse los puertos y de entrada y salida. Es muy importante respetar este tipo de nombres sobre todo si se quiere reusar un banco de pruebas previo. TerosHDL Entity: Divisor_Alg2 File:…
-
Realización de soluciones segmentadas III
Paso 3: Realización de la segmentación Partimos por tanto de la siguiente descripción. Nuestra intención es ahora hacer la segmentación de esta descripción algorítmica escrita en SystemVerilog. El procedimineto de segmentación lo podemos observar en el siguiente vídeo Mostramos ahora el resultado de nuestra segmentación: Veamos ahora las prestaciones en área y velocidad conseguidas por esta segmentación realizada. De paso…
-
Realización de soluciones segmentadas II
Paso 2: Modificación de la latencia El resultado de este proceso de modificación del ASM, transcrito a SystemVerilog es el siguiente:
-
Realización de soluciones segmentadas I
Paso 1: Realización ASM con un solo fichero En esta entrada vamos a explicar cómo podemos describir directamente un ASM con un solo fichero. Este será nuestro primer paso para la consecución de una solución segmentada; pero nos va a servir para que podáis observar que el particionado Control-Path y Data-path puede ser acometido de forma diferente a como lo…
-
Lectura de la FIFO y su temporización. Problemas asociados.
La lectura de datos de la FIFO presenta confusiones debido a su temporización. Para ello hay que tener claro cuando ocurren las cosas. Cuando se solicita la lectura de datos y cuando esta lectura se hace efectiva. Lectura de la FIFO. La FIFO es un elemento secuencial, por tanto, los instantes importantes en los elementos secuenciales vienen determinados por el…
-
Verificación Fase 4 remota
Procedimiento para poder hacer la verificación de vuestras fases 4 remotamente Supongamos que tengo ya un diseño fase 4 simulado y con visos de ser perfectamente correcto Solicito permisos para acceso remoto a alguno de los puestos de laboratorio de Diseño de Circuitos y Sistemas Electrónicos. De forma que desde casa con una VPN a la UPV y utilizando el…
-
RISC-V: Instrucciones auipc y lui en la implementación monociclo.
Para hacer compatible los programas desarrollados en Venus en nuestra implementación monociclo del RISC-V, sería muy útil el uso en nuestro RISC-V de instrucciones para cargar direcciones de memoria en registros, como puede ser la (load address) o li (load immediate). Las instrucciones la y li son realmente pseudoinstrucciones. El compilador crea dos instrucciones para la (auipc + addi) y…