Desarrollo e implementación de la interface SBA para un núcleo pWM de 16 canales independientes programables
DOI:
https://doi.org/10.33017/RevECIPeru2010.0017/Palabras clave:
FPGa, PWm, system on chip.Resumen
Los Ip-Cores (Núcleos de propiedad Intelectual) son para el diseño de hardware lo que las librerías son para la programación de computadoras. Se suelen utilizar en la forma de un circuito discreto integrado, donde la “placa de circuito” es un diseño más grande en ASIC o en FpGA. Un núcleo de propiedad intelectual a menudo adopta la forma de un programa de computadora escrito en el HDL, tales como Verilog, VHDL o SystemC. Idealmente, un Ip-Core debe ser totalmente “portable”, es decir, que fácilmente se pueda adaptar a cualquier tecnología de otros proveedores o diferentes métodos de diseño. Los Receptores/Transmisores Asíncronos Universales (UART), las Unidades Centrales de procesamiento (CpU), los Controladores Ethernet, las Interfaces pCI, son algunos ejemplos de Ip-Cores. En este trabajo, se presenta la adaptación de un IpCore pWM de 16 canales a una estructura de bloques independientes similar a los SoC (System on Chip). No se ha implementado un microprocesador como maestro del sistema; en su lugar una máquina de estado compleja administra un bus con la finalidad de ahorrar recursos en la FpGA. Esta máquina de estado compleja, que hace las veces de controlador del sistema, se encuentra dentro de una disposición a la que se le denomina SBA (Simple Bus Architecture) o Arquitectura Simple de Bus, la cual no es más de una simplificación de las señales y reglas que establece la especificación Wishbone. El sistema así integrado permite la configuración de 16 salidas digitales pWM independientes en modo de bajo rizado. Si bien en el ejemplo que se presenta en este trabajo muestra un solo IpCore pWM instanciado, esto no supone un límite. El núcleo pWM implementado no hace uso de recursos específicos o especiales de la FpGA, lo que permite que la cantidad de bloques instanciados pueda crecer tanto como bloques genéricos configurables en la FpGA se encuentren disponibles. Es decir, por cada núcleo instanciado se dispondrá de 16 canales pWM independientes que poseerán una posición de programación específica dentro del mapa de direcciones del SBA.