Development and implementation of the SBA interface for a 16 independent programmable channels pWM Ip Core
Renzo Bermúdez y Miguel Risco
Centro de Investigación y Desarrollo en Ingeniería (CIDI) de la Facultad de Ingeniería Electrónica y Mecatrónica Universidad Tecnológica del perú
DOI: https://doi.org/10.33017/RevECIPeru2010.0017/
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.
Descriptores: FPGa, PWm, system on chip.
ABSTRACT
iP cores (intellectual Property cores) are for hardware design what libraries are for computer programming. They are typically used in the style and form of a discrete integrated circuit, where the “circuit board” is a larger design in asic or FPGa. a core intellectual property often takes the form of a software program written in hDl such as verilog, vhDl or systemc. ideally, an iP-core must be fully portable, meaning that it can be easily adapted to any technology from other suppliers or different design methods. receivers/transmitters universal asynchronous (uart), central Processing units (cPu), ethernet controllers, interfaces Pci are examples of iP-cores. This paper presents the adaptation of a 16-channel PWm iPcore to a separate brick structure similar to soc (system on chip). We did not implement a microprocessor as master of the system, instead a complex state machine runs a bus in order to save resources in the FPGa. This complex state machine that acts as the controller of the system is within a provision which is called sba (single bus architecture), which is just a simplification of the signals and rules establishing the Wishbone specification. The system thus allows the configuration of 16 independent PWm digital outputs in low ripple mode. While the example presented in this work shows a single PWm iPcore instantiated this is not a limit. The implemented PWm core does not use specific or special resources of the FPGa, which allows that the number of instantiated blocks can grow as much as configurable generic blocks in the FPGa become available. That is, for each instantiated core there will be 16 independent PWm channels that will have specific preset positions within the address map of the sba.
Keywords: FPGa, PWm, system on chip.