OpenCores
URL https://opencores.org/ocsvn/eco32/eco32/trunk

Subversion Repositories eco32

[/] [eco32/] [tags/] [eco32-0.26/] [fp/] [implementation/] [mmix/] [traffic.mms] - Diff between revs 15 and 270

Only display areas with differences | Details | Blame | View Log

Rev 15 Rev 270
* Traffic Signal Problem
* Traffic Signal Problem
rate GREG 100 % ridiculously small, for testing (shd be 250MHz)
rate GREG 100 % ridiculously small, for testing (shd be 250MHz)
t IS $255
t IS $255
Sensor_Buf IS Data_Segment
Sensor_Buf IS Data_Segment
     GREG Sensor_Buf
     GREG Sensor_Buf
       LOC #100
       LOC #100
Lights  IS 3
Lights  IS 3
Sensor IS 4
Sensor IS 4
%Lights_Name BYTE "/dev/lights",0
%Lights_Name BYTE "/dev/lights",0
%Sensor_Name BYTE "/dev/sensor",0
%Sensor_Name BYTE "/dev/sensor",0
Lights_Name BYTE "lights",0     (temporary name)
Lights_Name BYTE "lights",0     (temporary name)
Sensor_Name BYTE "sensor",0    (temporary name)
Sensor_Name BYTE "sensor",0    (temporary name)
Lights_Args OCTA Lights_Name,BinaryWrite
Lights_Args OCTA Lights_Name,BinaryWrite
Sensor_Args OCTA Sensor_Name,BinaryRead
Sensor_Args OCTA Sensor_Name,BinaryRead
Read_Sensor OCTA Sensor_Buf,1
Read_Sensor OCTA Sensor_Buf,1
Boulevard BYTE #77,0 DelMar green, WALK; Berkly red, DONT
Boulevard BYTE #77,0 DelMar green, WALK; Berkly red, DONT
          BYTE #7f,0 DelMar green, DONT; Berkly red, DONT
          BYTE #7f,0 DelMar green, DONT; Berkly red, DONT
          BYTE #73,0 DelMar green, off;  Berkly red, DONT
          BYTE #73,0 DelMar green, off;  Berkly red, DONT
          BYTE #bf,0 DelMar amber, DONT; Berkly red, DONT
          BYTE #bf,0 DelMar amber, DONT; Berkly red, DONT
Avenue    BYTE #dd,0 DelMar red, DONT; Berkly green, WALK
Avenue    BYTE #dd,0 DelMar red, DONT; Berkly green, WALK
          BYTE #df,0 DelMar red, DONT; Berkly green, DONT
          BYTE #df,0 DelMar red, DONT; Berkly green, DONT
          BYTE #dc,0 DelMar red, DONT; Berkly green, off
          BYTE #dc,0 DelMar red, DONT; Berkly green, off
          BYTE #ef,0 DelMar red, DONT; Berkly amber, DONT
          BYTE #ef,0 DelMar red, DONT; Berkly amber, DONT
goal GREG  % transition time for lights
goal GREG  % transition time for lights
Main GETA t,Lights_Args
Main GETA t,Lights_Args
     TRAP 0,Fopen,Lights
     TRAP 0,Fopen,Lights
     GETA t,Sensor_Args
     GETA t,Sensor_Args
     TRAP 0,Fopen,Sensor
     TRAP 0,Fopen,Sensor
     GET  goal,rC
     GET  goal,rC
     ANDNMH goal,#ffff   % temporary patch
     ANDNMH goal,#ffff   % temporary patch
     JMP  2F
     JMP  2F
      GREG @
      GREG @
delay_go GREG
delay_go GREG
Delay GET t,rC
Delay GET t,rC
     ANDNMH t,#ffff   % temporary patch
     ANDNMH t,#ffff   % temporary patch
      SUBU t,t,goal  NB: not CMPU
      SUBU t,t,goal  NB: not CMPU
      PBN  t,Delay
      PBN  t,Delay
      GO  delay_go,delay_go,0
      GO  delay_go,delay_go,0
flash_go GREG
flash_go GREG
n     GREG
n     GREG
green GREG
green GREG
temp  GREG
temp  GREG
Flash SET  n,8
Flash SET  n,8
1H    ADD  t,green,2*1
1H    ADD  t,green,2*1
      TRAP 0,Fputs,Lights DONT WALK
      TRAP 0,Fputs,Lights DONT WALK
      ADD  temp,goal,rate
      ADD  temp,goal,rate
      SR   t,rate,1
      SR   t,rate,1
      ADDU goal,goal,t
      ADDU goal,goal,t
      GO   delay_go,Delay
      GO   delay_go,Delay
      ADD  t,green,2*2
      ADD  t,green,2*2
      TRAP 0,Fputs,Lights off
      TRAP 0,Fputs,Lights off
      SET  goal,temp
      SET  goal,temp
      GO   delay_go,Delay
      GO   delay_go,Delay
      SUB   n,n,1
      SUB   n,n,1
      PBP   n,1B
      PBP   n,1B
      ADD  t,green,2*1
      ADD  t,green,2*1
      TRAP 0,Fputs,Lights DONT WALK
      TRAP 0,Fputs,Lights DONT WALK
      MUL  t,rate,4
      MUL  t,rate,4
      ADDU goal,goal,t
      ADDU goal,goal,t
      GO   delay_go,Delay
      GO   delay_go,Delay
      ADD  t,green,2*3
      ADD  t,green,2*3
      TRAP 0,Fputs,Lights DONT WALK, amber
      TRAP 0,Fputs,Lights DONT WALK, amber
      GO   flash_go,flash_go,0
      GO   flash_go,flash_go,0
Wait  GET  goal,rC
Wait  GET  goal,rC
     ANDNMH goal,#ffff   % temporary patch
     ANDNMH goal,#ffff   % temporary patch
1H    GETA t,Read_Sensor
1H    GETA t,Read_Sensor
      TRAP 0,Fread,Sensor
      TRAP 0,Fread,Sensor
      LDB  t,Sensor_Buf
      LDB  t,Sensor_Buf
      BZ   t,Wait
      BZ   t,Wait
      GETA green,Boulevard
      GETA green,Boulevard
      GO   flash_go,Flash
      GO   flash_go,Flash
      MUL   t,rate,8
      MUL   t,rate,8
      ADDU  goal,goal,t
      ADDU  goal,goal,t
      GO   delay_go,Delay
      GO   delay_go,Delay
      GETA  t,Avenue
      GETA  t,Avenue
      TRAP  0,Fputs,Lights
      TRAP  0,Fputs,Lights
      MUL    t,rate,8
      MUL    t,rate,8
      ADDU  goal,goal,t
      ADDU  goal,goal,t
      GO   delay_go,Delay
      GO   delay_go,Delay
      GETA  green,Avenue
      GETA  green,Avenue
      GO   flash_go,Flash
      GO   flash_go,Flash
      GETA  t,Read_Sensor
      GETA  t,Read_Sensor
      TRAP  0,Fread,Sensor % clear redundant signal
      TRAP  0,Fread,Sensor % clear redundant signal
      MUL   t,rate,5
      MUL   t,rate,5
      ADDU  goal,goal,t
      ADDU  goal,goal,t
      GO   delay_go,Delay
      GO   delay_go,Delay
2H    GETA  t,Boulevard
2H    GETA  t,Boulevard
      TRAP  0,Fputs,Lights
      TRAP  0,Fputs,Lights
      MUL   t,rate,18
      MUL   t,rate,18
      ADDU  goal,goal,t
      ADDU  goal,goal,t
      GO   delay_go,Delay
      GO   delay_go,Delay
      JMP   1B
      JMP   1B
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.