¿Cómo aprendo SystemVerilog de una manera práctica dentro de tres meses?

El aprendizaje de SystemVerilog y la aplicación de casi todas sus funciones en la creación de un banco de pruebas puede llevar más de tres meses.

Si usted es más fresco y está buscando un trabajo, puede aprender suficiente SystemVerilog dentro de tres meses.

Debería suceder en tres fases:
1.) Ejercitando todas las características básicas de SV.
2.) Aprendizaje de características OOPs de SV
3.) Aplicando todo en testbench construyendo un ejemplo de testbench

Antes de comenzar, se supone que ya conoces Verilog y deberías tener al menos versiones para estudiantes de simuladores en tu computadora. Si no tiene ningún simulador instalado, debe ir a EDA Playground para ejecutar su código.

Explicando las fases en detalle:
1.) La primera fase incluye el aprendizaje de los tipos de datos, aserciones, diferentes métodos de iteración, uso de funciones y tareas, comunicaciones entre procesos (estado de espera, eventos, etc.), buzón, elementos básicos de clase, restricciones, cobertura funcional (Imp), no en un orden particular .

2.) Esta es una fase importante ya que ahora aprenderá acerca de las características de OOPs.
Los conceptos básicos de OOP son herencia, encapsulación y polimorfismo (lea en la wikipedia si aún no lo sabe). Necesitas aprender sobre las características de SV para acomodar estos conceptos.

3.) Obtenga información sobre la interfaz, la interfaz virtual, el bloque de programas, etc. Lea el libro de Chris Spear en SystemVerilog. Eso explica cómo se ve un banco de pruebas en capas ideal en SV. Entender los roles de los diferentes componentes del entorno en capas. Ahora puede comenzar a desarrollar un banco de pruebas para un DUT. Elija cualquier DUT pequeño como contador o fifo o ram. Después de eso sugeriría los siguientes pasos:
– Construye tu interfaz SV.
– Construir controlador y monitor en esas interfaces
– Generar generador (Hasta ahora. Estaría al tanto de lo que son Generador, Controlador y Monitor)
– Construir Ambiente
– Poner mecanismo de autocomprobación en el entorno.
– Asegúrate de usar la mayor cantidad posible de funciones SV. (No haga que su TB sea muy simple, trate de llenarla con tantas características)
– Escriba un caso de prueba, escriba más casos de prueba, haga que un experto revise su TB y mejore todo lo posible.

Gracias por A2A.

3 meses es un tiempo suficiente para aprender SystemVerilog. Primero, le sugiero que tome un proyecto que pueda implementar utilizando SystemVerilog. No es necesario que sea un diseño complejo o una verificación, puede ser un protocolo simple como I2C, UART, SPI, etc. Puede obtener el RTL en Verilog fácilmente desde algunos sitios web. Uno de los que sé es Inicio :: OpenCores. Puede descargar la RTL desde aquí de forma gratuita una vez que se haya registrado.

En segundo lugar, si ya ha trabajado en Verilog y C ++ Learning System, Verilog no será difícil para usted en absoluto. Si no, le sugiero que repase los conceptos de OOP antes de comenzar a codificar en SystemVerilog. También puede encontrar muchos tutoriales en línea para SystemVerilog. Algunas buenas fuentes pueden ser http: //WWW.TESTBENCH.IN&nbsp ; y Academia de verificación: el recurso más completo para la capacitación en verificación.

Déjame saber como va. Todo lo mejor.

Es posible obtener una retención básica en System Verilog dentro de 3 meses si se sigue rigurosamente la estrategia mencionada a continuación.

a. Debe tenerlos listos antes de comenzar a aprender System Verilog

  1. Repasar sus conceptos de diseño digital y Verilog HDL.
  2. Revise los conceptos de verificación en Verilog http://WWW.TESTBENCH.IN – Verilog para verificación
  3. Consigue este libro; Sistema Verilog para verificación por Chris Spear
  4. Averiguar algunos simulador de Verilog System de código abierto

segundo. Capítulos importantes que necesitan muy buena comprensión [dedique el 70% del tiempo a estos capítulos del libro mencionado anteriormente]

  • Tipos de datos
  • OOP básica [También consulte http://WWW.TESTBENCH.IN – Systemverilog OOPS]
  • Aleatorización
  • Hilos y comunicación entre procesos.
  • Cobertura funcional

do. Una vez que haya completado todos los capítulos básicos, comience a practicar ejemplos de

http://WWW.TESTBENCH.IN – Easy Labs: SV

re. Realice algunos pequeños proyectos de muestra en System Verilog con la ayuda de recursos en línea y gradualmente intente codificar por su cuenta.

mi. Y, finalmente, resuelva algunas preguntas frecuentes de la entrevista de Verilog del sistema de diferentes recursos como

http://WWW.TESTBENCH.IN – Preguntas de la entrevista de Systemverilog

NOTA: Siempre se recomienda que sigamos un libro de referencia único para comenzar, y una vez que hayamos obtenido un punto de referencia básico sobre el tema, puede consultar el número de fuentes “N”. Y el blog http://WWW.TESTBENCH.IN es muy útil en la práctica de primer nivel del código de Verilog del sistema.

Para empezar, sea sencillo y estudie el libro SystemVerilog for Verification de Chris Spear. Luego, puede ir a través del sistema Verilog LRM para obtener una sintaxis detallada. También puede consultar el sitio web http://WWW.TESTBENCH.IN .

Hay muchos sitios con ejemplos y explicaciones …
me gusta:

http://WWW.TESTBENCH.IN – Construcciones de SystemVerilog
Tutorial de SystemVerilog
Bienvenido a Project VeriPage

Y también puedes buscar muchos más artículos de investigación ……….

Página de inicio | DVCon
https://dvcon.org/

Grupo de usuarios de Synopsys – SNUG
https://www.synopsys.com/COMMUNI

Pero trate de hacer algunas preguntas cuando esté tratando de aprender algo nuevo O haya aprendido algo nuevo

Qué ? Cómo ? Por qué ?

Qué ? será la respuesta y puede obtenerla fácilmente buscando en Internet o leyendo cualquier documento.

Cómo ? te ayudarán a estar en compañía, ya que todos ellos solo quieren que el trabajo SE HAGA

Por qué ? Esta es la pregunta importante, tienes que pensar mucho para obtener una respuesta, pero al comenzar solo, después podrás vincular tus conocimientos previos para obtener la respuesta a la siguiente pregunta.

Esta respuesta le dará todo lo que un programador debería tener ………… Creatividad, habilidades de organización … programación sistemática, muchas más …


4Ex:

Verilog depende principalmente de C (en el comportamiento secuencial) y en verilog hemos extraído algunas de las características de eso.

Como “Definir” que usamos en verilog es muy débil pero es muy poderoso en C. Así que cuando lo aprendes de C, puedes pensar en él desde diferentes direcciones.

Puede ser que puedas pensar que este método (Estudiar C para Verilog) tomará mucho tiempo O es una pérdida de tiempo …………
No es (como creo :-))
Le ahorrará tiempo más de lo que puede imaginar ……….

Leer y comprender los conceptos que utilizamos en verilog de C tardará entre 2 y 3 meses (para una buena comprensión … de modo que pueda obtener la respuesta de ¿POR QUÉ?)
Pero vas a trabajar en Verilog / SystemVerilog durante años …

Una cosa más, en el futuro hay muchas posibilidades de que tenga la oportunidad de trabajar en el firmware “Real Bro Of Hardware” y luego debería saber C.


Un ejemplo más:

Tipo de datos :
Qué ? int, bit, logic, wire, reg ………
Cómo ? Fácilmente puedes leer un documento para eso
Por qué ? ahora tienes que pensar ………
¿Por qué una entrada no puede ser un registro? Tienes que leer y pensar sobre el comportamiento de reg / wire.

¿Por qué necesitamos definir un tipo de datos?
¿Quién lo ha pensado por primera vez?

Y luego, cada vez que te encuentres con un nuevo tipo de datos … puede hacer una buena imagen alrededor de este tipo de datos simplemente haciendo estas preguntas y vinculando su conocimiento previo de otros tipos de datos. ……………

Entonces, esta fórmula parece lenta pero es realmente rápida y efectiva … … como en SystemVerilog tomamos la sintaxis y el concepto de Java … No estudies Java completo, pero puedes leer algunos de ellos.

Editar:

Quiero agregar algunos cursos en línea: puede obtenerlos gratis si tiene suerte

Verificación SOC utilizando SystemVerilog | Udemy
https://www.udemy.com/soc-verifi

SystemVerilog Verification -3: Construye tu TestBench aleatorio | Udemy
https://www.udemy.com/systemveri

SystemVerilog Verification -2: Programación Orientada a Objetos | Udemy
https://www.udemy.com/systemveri

Diseño de SystemVerilog: comience a programar sus propios circuitos integrados en HDL | Udemy
https://www.udemy.com/ic-design-…


Aquí puede practicar después de crear una cuenta: sin instalar ningún software … Sí, se requieren Internet y navegador 🙂

Editar código – EDA Playground
https://www.edaplayground.com/

Comencé con este libro – SystemVerilog for Verification
¡Muy bien! Explica conceptos buenos.
Pero realmente aprendí cuando comencé a verificar las fichas.
Para empezar, descargue un VIP de SysWip. Ejecutar ejemplos. hacer que algunos cambios se ejecuten de nuevo. Esto te dará una idea de cómo se genera el estímulo? ¿Cómo se verifican las respuestas? Intentas más aprendes más.

La mejor manera de comenzar el aprendizaje de SV “de una manera práctica” es comenzar con www. testbench.in.

Use EDAPlayground ( https://www.edaplayground.com/ ) para ejecutar los códigos SV. En 3 meses estoy seguro de que puedes ganar un fuerte control de SV pero hay un problema:

En la industria actual, cuando alguien dice SV, entonces es SV en conjunto con, en su mayoría, UVM (Metodología de Verificación Universal). Por lo tanto, debe aprender tanto SV como UVM durante el período de 3 meses.

Piense en un triángulo: un vértice es SV, el segundo es UVM y el tercero es una IP: todos están altamente interconectados. Así que planea tus horarios en consecuencia:

Los primeros 20 días: SV (testbench.in + otras fuentes)

próximos 20 días: SV + UVM (testbench.in + otras fuentes)

los próximos 20 días: SV + UVM + IP (descargue el flujo de UVM del sitio web de Accelera y contendrán algunos bancos de prueba como referencia).

para 30 días: consolide todas sus dudas con respecto a SV y UVM e intente buscar en los foros de la comunidad para aclaraciones. Dave Richards es un experto que puede recordar mientras busca. También hay otros expertos, pero Dave es el chico activo y su explicación es al punto.

Una experiencia general en la verificación no solo significa que conoce SV, UVM y la configuración de testbench para una IP: debe comprender cómo están desempeñando sus roles individualmente y contribuir a su búsqueda de errores y problemas en IP. quieres verificar Discuta con las personas que están en este dominio para obtener una imagen clara de cómo están las cosas dentro de un cubículo de oficina.

Hay muchas cosas que encontrarás en tu camino mientras exploras y están sujetas a lo serio y curioso que eres.

Te deseo lo mejor..

Ahora es fácil de aprender SystemVerilog, puede ejecutar los códigos de ejemplo sv en su navegador web en eda playground.

no es necesario perder tiempo en copiar códigos desde el navegador al simulador local. Refiérase al tutorial de SystemVerilog por

http://www.verificationguide.com

enlazar:

Tutorial de SystemVerilog para principiantes

proporciona tutorial de systemverilog con códigos de ejemplo fácilmente comprensibles, junto con enlaces a códigos de ejemplo en eda playground.

La mejor manera es aprender haciendo. así que trata de instalar el software y trata de hacer cosas. Sin embargo estos libros pueden ayudarte.
Samir palnitkar-verilog HDL, una guía para el diseño digital y la síntesis.
Thomas y Moorby VerilogHDL
Síntesis de J bhaskar-VerilogHDL Un manual práctico

Siempre puedes usar sitios web como el desbordamiento de pila

Sistema Verilog LRM
Sistema Verilog por Chris Spear
VLSI QnA