12345678910111213141516171819202122232425262728293031323334353637383940414243444546open!Baseopen!HardcamlmoduletypeS=sig(** A simpler master to slave interface decoded from AXI requests. *)moduleMaster_to_slave:Internal_bus_ports.Master_to_slave(** A simpler slave to master interface to be encoded to AXI response. *)moduleSlave_to_master:Internal_bus_ports.Slave_to_master(** Demultiplex one master across one or more slaves. *)moduleDemultiplexer:sig(** @inline *)includeDemultiplexer.SwithmoduleMaster_to_slave:=Master_to_slaveandmoduleSlave_to_master:=Slave_to_masterend(** RAM with per byte enable and configurable size. *)moduleRam_with_byte_enables:sig(** @inline *)includeRam_with_byte_enables.SwithmoduleMaster_to_slave:=Master_to_slaveandmoduleSlave_to_master:=Slave_to_masterend(** Bank of read/write registers connected to a Master interface. *)moduleRegister_bank:sig(** @inline *)includeRegister_bank.SwithmoduleMaster_to_slave:=Master_to_slaveandmoduleSlave_to_master:=Slave_to_masterendendmoduletypeInternal_bus=sigmoduletypeS=SmoduleMake(X:Master_slave_bus_config.S):S(** With 32 bit data and address bus *)moduleW32:Send