Paso 11: Controller.bsv
Este archivo contiene las definiciones de interfaz de base y HW funcionalidad del proyecto.
HBridgeCtrlRequest/HBridgeCtrlIndication proporcionan interfaces para controlar el HBridge (del SW) y reporte de eventos asincrónicos (de HW).
HBridge2 define una interfaz a través del cual se pueden configurar los registros de control hbridge. Porque sólo escribimos los registros, exportamos una interfaz compuesta exclusivo de métodos de valor. BSC compila estos métodos de valor en nombre señales (cables) que están conectadas a los pines físicos.
El módulo mkController implementa la lógica de la base de nuestro proyecto. Exporta las interfaces 'pins' que se utiliza para conducir el hbridge módulos y la interfaz 'req' que se invoca de SW a través de un portal. Es argumento ctor solo es una interfaz 'ind' por el cual el controlador invoca SW funcionalidad a través de un portal de segunda. La lógica es intencionadamente simple y debe ser fácilmente comprensible para incluso un principio programador Bluespec.