punk@1: signature BRegFile where { punk@1: import ¶Counter®¶; punk@1: punk@1: import ¶FIFOF_®¶; punk@1: punk@1: import ¶FIFOF®¶; punk@1: punk@1: import ¶FIFO®¶; punk@1: punk@1: import ¶Inout®¶; punk@1: punk@1: import ¶List®¶; punk@1: punk@1: import ¶Clocks®¶; punk@1: punk@1: import ¶ListN®¶; punk@1: punk@1: import ¶PrimArray®¶; punk@1: punk@1: import ¶RWire®¶; punk@1: punk@1: import ¶RegFile®¶; punk@1: punk@1: import ¶Vector®¶; punk@1: punk@1: import ¶Connectable®¶; punk@1: punk@1: import ¶GetPut®¶; punk@1: punk@1: import ¶ClientServer®¶; punk@1: punk@1: import Trace; punk@1: punk@1: import ProcTypes; punk@1: punk@1: interface (BRegFile.BRegFile :: * -> * -> *) index_t data_t = { punk@1: BRegFile.upd :: index_t -> data_t -> ¶Prelude®¶.¶Action®¶ {-# arg_names = [addr, ¡data¡] #-}; punk@1: BRegFile.sub :: index_t -> data_t {-# arg_names = [addr] #-} punk@1: }; punk@1: punk@1: instance BRegFile (¶Prelude®¶.¶PrimMakeUndefined®¶ data_t) => punk@1: ¶Prelude®¶.¶PrimMakeUndefined®¶ (BRegFile.BRegFile index_t data_t); punk@1: punk@1: instance BRegFile ¶Prelude®¶.¶PrimDeepSeqCond®¶ (BRegFile.BRegFile index_t data_t); punk@1: punk@1: instance BRegFile ¶Prelude®¶.¶PrimMakeUninitialized®¶ (BRegFile.BRegFile index_t data_t); punk@1: punk@1: BRegFile.mkBRegFile :: (¶Prelude®¶.¶Bounded®¶ index_t, punk@1: ¶Prelude®¶.¶Eq®¶ index_t, punk@1: ¶Prelude®¶.¶Bits®¶ data_t size_data, punk@1: ¶Prelude®¶.¶Bits®¶ index_t size_index, punk@1: ¶Prelude®¶.¶IsModule®¶ _m__ _c__) => punk@1: _m__ (¶RegFile®¶.¶RegFile®¶ index_t data_t) punk@1: }