/***********************************************/ /* */ /* MODULE MEMORY BOARD VERSION 1.2 */ /* */ /* Prog. M.AOYAGI 1997 */ /* */ /***********************************************/ %i "javachip.sfl" /** 32bit Memory **/ module r32{ /** External pins **/ instrin read,write; input adrs<32>,din<32>; output dout<32>; /** Internal elements **/ mem cell[16384]<32>; /** Instructions **/ instruct read dout=cell[adrs<15:2>]; instruct write cell[adrs<15:2>]:=din; } /** Declaration of r32 **/ submod_type r32{ instrin read,write; input adrs<32>,din<32>; output dout<32>; instr_arg read(adrs); instr_arg write(adrs,din); } /** Declaration of javachip **/ submod_type javachip{ /** External pins **/ instrin start; input dbi<32>; instrout mem_we,mem_re; output dbo<32>,ab<32>; } /** Definition of the board **/ module board{ /** Internal elements **/ javachip cpu; r32 mem32; /** Definition of instructions **/ instruct cpu.mem_we mem32.write(cpu.ab,cpu.dbo); instruct cpu.mem_re cpu.dbi=mem32.read(cpu.ab).dout; }