

--Configuration for MU T-rack (first rack) with some switched links installed


VAL K IS 1024 :
VAL M IS K * K:
VAL rack.transputers IS 64:
VAL rack2M.transputers IS 20: --20 rack transputers with 2 Mbytes
NODE tadpole,control:
[64] NODE rack:
ARC tosun:


NETWORK transputer.rack
  DO
    --SET tadpole (type,memsize := "T414",1*M)
    --SET control (type,memsize := "T414",1*M)
    DO i = 0 FOR rack2M.transputers
      SET rack[i] (type, memsize := "T800",2*M)
    DO i = rack2M.transputers FOR rack.transputers - rack2M.transputers
      SET rack[i] (type, memsize := "T800",1*M)
    CONNECT rack[0][link][0] TO HOST WITH tosun
    --CONNECT tadpole[link][0] TO HOST WITH tosun
    --CONNECT tadpole[link][1] TO control[link][0]
    --CONNECT tadpole[link][3] TO rack[0][link][0]
    --CONNECT tadpole[link][2] TO rack[63][link][1]
    DO i = 0 FOR rack.transputers - 1
      CONNECT rack[i][link][1] TO rack[i+1][link][0]


    -- hardware description of switched link connections
    -- table giving for each transputer i the destination transputer
    -- of the link2 to link3 connection 
    VAL three.in IS [63 ,4, 5, 6, 2, 7,-1, 3, 1,
                     -1,-1,-1,-1,-1,-1,-1,-1,
                     -1,-1,-1,-1,-1,-1,-1,-1,
		     -1,-1,-1,-1,-1,-1,-1,-1,
                     -1,-1,-1,-1,-1,-1,-1,-1,
                     -1,-1,-1,-1,-1,-1,-1,-1,
                     -1,-1,-1,-1,-1,-1,-1,-1,
                     -1,-1,-1,-1,-1,-1,-1]:

    DO i = 0 FOR rack.transputers
      IF
        three.in[i] <> (-1)
          CONNECT rack[i][link][2] TO rack[three.in[i]][link][3]
        TRUE
          SKIP


:
--Software configuration for the OCCARM Simulator

#INCLUDE "/home/amu5/users/georget/Phd/Simul/Defs/defs.inc"
#INCLUDE "hostio.inc"

#USE "Process1.cah"
#USE "Process2.cah"
#USE "Process3.cah"
#USE "Process4.cah"
#USE "Process5.cah"
#USE "Process6.cah"
#USE "IOProcess.cah"
#USE "Forward.cah"



CHAN OF LINK.TO.LINK from.6.to.3,from.3.to.6, from.6.to.2,from.6.to.8, 
                     from.6.to.io,from.io.to.6,from.3.to.1, from.1.to.3, from.3.to.2,
                     from.2.to.3, from.3.to.5, from.5.to.3,from.1.to.2, from.2.to.1,
                     from.1.to.4, from.4.to.1, from.1.to.7,from.2.to.5,from.5.to.2,
                     from.5.to.4, from.4.to.5, from.5.to.7,from.4.to.7,from.7.to.8:

[65]CHAN OF LINK.TO.LINK  to.screen:

VAL INT report IS 0:

CONFIG
  CHAN OF SP fs,ts:
  PLACE fs,ts ON tosun:

  PAR
    -----------------------------------------------------------------
    PROCESSOR rack[1]

      Process6( from.6.to.3,from.3.to.6,
           from.6.to.2,from.6.to.8, from.6.to.io,from.io.to.6,
           report)


    -----------------------------------------------------------------
    PROCESSOR rack[2]

      Process3(from.3.to.1, from.1.to.3,
              from.3.to.2, from.2.to.3, from.3.to.5, from.5.to.3, 
              from.3.to.6, from.6.to.3,
             report)

    -----------------------------------------------------------------
    PROCESSOR rack[3]
      Process1( from.1.to.3,from.3.to.1 , from.1.to.2, from.2.to.1, 
            from.1.to.4, from.4.to.1, from.1.to.7,  report)


    -----------------------------------------------------------------
    PROCESSOR rack[4]
      Process2( from.2.to.1,from.1.to.2,
              from.2.to.5,from.5.to.2,
             from.2.to.3,from.3.to.2,
             from.6.to.2,
               report)

    -----------------------------------------------------------------
    PROCESSOR rack[5]

      Process5( from.5.to.2, from.2.to.5,
            from.5.to.4, from.4.to.5,
            from.5.to.3, from.3.to.5,
            from.5.to.7,
            report)
    -----------------------------------------------------------------

    PROCESSOR rack[6]

      Process4(from.4.to.5,from.5.to.4,
            from.4.to.1,from.1.to.4,
            from.4.to.7,  
            report)
    ----------------------------------------------------------------
    PROCESSOR rack[7]
      Forward ([from.1.to.7,from.5.to.7,from.4.to.7], from.7.to.8)   --Process 7
    -----------------------------------------------------------------
    PROCESSOR rack[8]

      Forward( [from.7.to.8,from.6.to.8] , to.screen[8])    --Process 8
    -----------------------------------------------------------------

    PAR i = 9 FOR rack.transputers-9      --   -8
      PROCESSOR rack[i]
        Forward([to.screen[i]], to.screen[i+1])
    -----------------------------------------------------------------
    -----------------------------------------------------------------
    PROCESSOR rack[0]   --tadpole

      IOProcess( fs, ts,
                to.screen[rack.transputers], from.io.to.6, from.6.to.io)   --delete -1
    -----------------------------------------------------------------

    --PROCESSOR tadpole
    --  SKIP

    -- IOProcess( fs, ts, to.screen[rack.transputers], from.io.to.6, from.6.to.io)   --delete -1



:
  
