C / C ++ o, para el caso, los lenguajes de programación de software no tienen noción del tiempo.
Verilog o cualquier lenguaje de diseño / descripción de hardware (HDL) tendrá una noción del tiempo. Cualquier HDL que se utilice para describir un circuito digital utilizando bloques digitales principales (como flip flops, registros de desplazamiento, memoria, multiplexores, sumador / sustractor / multiplicador digital, etc.) tendrá una noción de tiempo. Cuando digo hora, quiero decir que puede modelar un diseño que utiliza un reloj (sistemas síncronos). Por supuesto, dichos lenguajes también pueden describir sistemas asincrónicos.
Cualquier HDL como Verilog describe un hardware que implementa un algoritmo con mucho más detalle. Puede ver el control y el flujo de datos.
- ¿Cómo debo iniciar mi carrera en sistemas integrados, con la ayuda de Tiva Connected Launchpad?
- ¿Cuál es el futuro de los sistemas embebidos? ¿Hay aberturas en sistemas embebidos?
- ¿Cómo se usa Python en sistemas embebidos?
- ¿Puedo aplicar CJNE en 8051 con un registro y un acumulador?
- ¿Dónde empiezo a aprender los microcontroladores ARM y qué software debo usar para programarlos en LINUX?
Los lenguajes de software como C / C ++, por otro lado, son lenguajes de nivel superior. Su función principal es describir un algoritmo y no su implementación en hardware usando bloques digitales. Dicho esto, permítanme agregar también que C / C ++ y otros lenguajes se están utilizando en la síntesis de alto nivel (HLS) (síntesis de alto nivel – Wikipedia), que es una metodología de diseño que toma la descripción de un algoritmo como entrada y luego intenta escupir un diseño de hardware que haría el mismo trabajo.
El lenguaje C fue introducido por primera vez en 1978 por Brian Kernighan y Dennis Ritchie, mientras que Verilog se introdujo por primera vez en 1984 para modelar sistemas digitales. Ambos lenguajes han seguido sus propios caminos de desarrollo que surgen de las necesidades de facilidad de programar microprocesadores / microcontroladores (desde el ensamblaje en adelante) y diseñar sistemas digitales (diseño manual y diseño basado en esquemas en adelante) respectivamente. Aunque la idea de diseñar hardware usando C / C ++ también se originó como “síntesis de comportamiento (igual que HLS)” a principios de la década de 1990 (Synopsys introdujo Behavioral Compiler en 1994), es solo en los últimos 10 años que esta idea ha ganado Más tracción. La razón es que la complejidad del diseño de hardware digital está aumentando, mientras que la productividad del diseñador no aumenta tan rápido. HLS se está impulsando como una metodología que puede ayudar en la realización rápida de partes de un diseño.
Espero que esto te de alguna perspectiva.