Vous êtes sur la page 1sur 14

//

//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

Generated by Bluespec Compiler, version 2011.06.D (build 24470, 2011-06-30)


On Wed Jan 28 15:02:49 IST 2015
Method conflict info:
Method: p_button
Conflict-free: cDN, cDS, cDE, cDW
Sequenced before (restricted): p_button
Sequenced after (restricted): redNS,
amberNS,
greenNS,
redE,
amberE,
greenE,
redW,
amberW,
greenW,
greenP,
amberP,
redP
Method: cDN
Conflict-free: p_button, cDS, cDE, cDW
Sequenced before (restricted): cDN
Sequenced after (restricted): redNS,
amberNS,
greenNS,
redE,
amberE,
greenE,
redW,
amberW,
greenW,
greenP,
amberP,
redP
Method: cDS
Conflict-free: p_button, cDN, cDE, cDW
Sequenced before (restricted): cDS
Sequenced after (restricted): redNS,
amberNS,
greenNS,
redE,
amberE,
greenE,
redW,
amberW,
greenW,
greenP,
amberP,
redP
Method: cDE
Conflict-free: p_button, cDN, cDS, cDW
Sequenced before (restricted): cDE
Sequenced after (restricted): redNS,
amberNS,
greenNS,

//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

redE,
amberE,
greenE,
redW,
amberW,
greenW,
greenP,
amberP,
redP
Method: cDW
Conflict-free: p_button, cDN, cDS, cDE
Sequenced before (restricted): cDW
Sequenced after (restricted): redNS,
amberNS,
greenNS,
redE,
amberE,
greenE,
redW,
amberW,
greenW,
greenP,
amberP,
redP
Method: redNS
Conflict-free: redNS,
amberNS,
greenNS,
redE,
amberE,
greenE,
redW,
amberW,
greenW,
greenP,
amberP,
redP
Sequenced before (restricted): p_button, cDN, cDS, cDE, cDW
Method: amberNS
Conflict-free: redNS,
amberNS,
greenNS,
redE,
amberE,
greenE,
redW,
amberW,
greenW,
greenP,
amberP,
redP
Sequenced before (restricted): p_button, cDN, cDS, cDE, cDW
Method: greenNS
Conflict-free: redNS,
amberNS,
greenNS,

//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

redE,
amberE,
greenE,
redW,
amberW,
greenW,
greenP,
amberP,
redP
Sequenced before (restricted): p_button, cDN, cDS, cDE, cDW
Method: redE
Conflict-free: redNS,
amberNS,
greenNS,
redE,
amberE,
greenE,
redW,
amberW,
greenW,
greenP,
amberP,
redP
Sequenced before (restricted): p_button, cDN, cDS, cDE, cDW
Method: amberE
Conflict-free: redNS,
amberNS,
greenNS,
redE,
amberE,
greenE,
redW,
amberW,
greenW,
greenP,
amberP,
redP
Sequenced before (restricted): p_button, cDN, cDS, cDE, cDW
Method: greenE
Conflict-free: redNS,
amberNS,
greenNS,
redE,
amberE,
greenE,
redW,
amberW,
greenW,
greenP,
amberP,
redP
Sequenced before (restricted): p_button, cDN, cDS, cDE, cDW
Method: redW
Conflict-free: redNS,
amberNS,
greenNS,

//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

redE,
amberE,
greenE,
redW,
amberW,
greenW,
greenP,
amberP,
redP
Sequenced before (restricted): p_button, cDN, cDS, cDE, cDW
Method: amberW
Conflict-free: redNS,
amberNS,
greenNS,
redE,
amberE,
greenE,
redW,
amberW,
greenW,
greenP,
amberP,
redP
Sequenced before (restricted): p_button, cDN, cDS, cDE, cDW
Method: greenW
Conflict-free: redNS,
amberNS,
greenNS,
redE,
amberE,
greenE,
redW,
amberW,
greenW,
greenP,
amberP,
redP
Sequenced before (restricted): p_button, cDN, cDS, cDE, cDW
Method: greenP
Conflict-free: redNS,
amberNS,
greenNS,
redE,
amberE,
greenE,
redW,
amberW,
greenW,
greenP,
amberP,
redP
Sequenced before (restricted): p_button, cDN, cDS, cDE, cDW
Method: amberP
Conflict-free: redNS,
amberNS,
greenNS,

//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

redE,
amberE,
greenE,
redW,
amberW,
greenW,
greenP,
amberP,
redP
Sequenced before (restricted): p_button, cDN, cDS, cDE, cDW
Method: redP
Conflict-free: redNS,
amberNS,
greenNS,
redE,
amberE,
greenE,
redW,
amberW,
greenW,
greenP,
amberP,
redP
Sequenced before (restricted): p_button, cDN, cDS, cDE, cDW
Ports:
Name
redNS
amberNS
greenNS
redE
amberE
greenE
redW
amberW
greenW
greenP
amberP
redP
CLK
RST_N
cDN_b
cDS_b
cDE_b
cDW_b
EN_p_button

I/O size props


O
1
O
1
O
1
O
1
O
1
O
1
O
1
O
1
O
1
O
1
O
1
O
1
I
1 clock
I
1 reset
I
1 reg
I
1 reg
I
1 reg
I
1 reg
I
1

No combinational paths from inputs to outputs

`ifdef BSV_ASSIGNMENT_DELAY
`else
`define BSV_ASSIGNMENT_DELAY
`endif
module mktraffic(CLK,
RST_N,

EN_p_button,
cDN_b,
cDS_b,
cDE_b,
cDW_b,
redNS,
amberNS,
greenNS,
redE,
amberE,
greenE,
redW,
amberW,
greenW,
greenP,
amberP,
redP);
input CLK;
input RST_N;
// action method p_button
input EN_p_button;
// action method cDN
input cDN_b;
// action method cDS
input cDS_b;
// action method cDE
input cDE_b;
// action method cDW
input cDW_b;
// value method redNS
output redNS;
// value method amberNS
output amberNS;
// value method greenNS
output greenNS;

// value method redE


output redE;
// value method amberE
output amberE;
// value method greenE
output greenE;
// value method redW
output redW;
// value method amberW
output amberW;
// value method greenW
output greenW;
// value method greenP
output greenP;
// value method amberP
output amberP;
// value method redP
output redP;
// signals for module outputs
wire amberE,
amberNS,
amberP,
amberW,
greenE,
greenNS,
greenP,
greenW,
redE,
redNS,
redP,
redW;
// register car_east
reg car_east;
wire car_east$D_IN, car_east$EN;
// register car_north
reg car_north;
wire car_north$D_IN, car_north$EN;
// register car_south
reg car_south;
wire car_south$D_IN, car_south$EN;
// register car_west
reg car_west;
wire car_west$D_IN, car_west$EN;
// register next_green
reg [3 : 0] next_green;

reg [3 : 0] next_green$D_IN;
wire next_green$EN;
// register ped_button
reg ped_button;
wire ped_button$D_IN, ped_button$EN;
// register secs
reg [31 : 0] secs;
wire [31 : 0] secs$D_IN;
wire secs$EN;
// register state
reg [3 : 0] state;
reg [3 : 0] state$D_IN;
wire state$EN;
// rule scheduling signals
wire CAN_FIRE_RL_inc,
CAN_FIRE_RL_rAllRed,
CAN_FIRE_RL_rAmberE,
CAN_FIRE_RL_rAmberNS,
CAN_FIRE_RL_rAmberP,
CAN_FIRE_RL_rAmberW,
CAN_FIRE_RL_rGreenE,
CAN_FIRE_RL_rGreenNS,
CAN_FIRE_RL_rGreenP,
CAN_FIRE_RL_rGreenW,
CAN_FIRE_cDE,
CAN_FIRE_cDN,
CAN_FIRE_cDS,
CAN_FIRE_cDW,
CAN_FIRE_p_button,
WILL_FIRE_RL_inc,
WILL_FIRE_RL_rAllRed,
WILL_FIRE_RL_rAmberE,
WILL_FIRE_RL_rAmberNS,
WILL_FIRE_RL_rAmberP,
WILL_FIRE_RL_rAmberW,
WILL_FIRE_RL_rGreenE,
WILL_FIRE_RL_rGreenNS,
WILL_FIRE_RL_rGreenP,
WILL_FIRE_RL_rGreenW,
WILL_FIRE_cDE,
WILL_FIRE_cDN,
WILL_FIRE_cDS,
WILL_FIRE_cDW,
WILL_FIRE_p_button;
// inputs to muxes for submodule ports
reg [3 : 0] MUX_next_green$write_1__VAL_1;
wire [31 : 0] MUX_secs$write_1__VAL_1;
wire [3 : 0] MUX_state$write_1__VAL_1;
wire MUX_next_green$write_1__SEL_1,
MUX_next_green$write_1__SEL_2,
MUX_secs$write_1__SEL_1,
MUX_secs$write_1__SEL_2,
MUX_state$write_1__SEL_3;
// remaining internal signals

reg IF_next_green_EQ_1_THEN_NOT_car_north_1_AND_NO_ETC___d70,
IF_next_green_EQ_1_THEN_car_north_OR_car_south_ETC___d74;
wire [31 : 0] secs_9_PLUS_1___d61;
wire NOT_secs_9_PLUS_1_0_SLT_1_6___d27, NOT_secs_9_SLT_1_6___d37;
// action method p_button
assign CAN_FIRE_p_button = 1'd1 ;
assign WILL_FIRE_p_button = EN_p_button ;
// action method cDN
assign CAN_FIRE_cDN = 1'd1 ;
assign WILL_FIRE_cDN = 1'd1 ;
// action method cDS
assign CAN_FIRE_cDS = 1'd1 ;
assign WILL_FIRE_cDS = 1'd1 ;
// action method cDE
assign CAN_FIRE_cDE = 1'd1 ;
assign WILL_FIRE_cDE = 1'd1 ;
// action method cDW
assign CAN_FIRE_cDW = 1'd1 ;
assign WILL_FIRE_cDW = 1'd1 ;
// value method redNS
assign redNS = state != 4'd1 && state != 4'd2 ;
// value method amberNS
assign amberNS = state == 4'd2 ;
// value method greenNS
assign greenNS = state == 4'd1 ;
// value method redE
assign redE = state != 4'd3 && state != 4'd4 ;
// value method amberE
assign amberE = state == 4'd4 ;
// value method greenE
assign greenE = state == 4'd3 ;
// value method redW
assign redW = state != 4'd5 && state != 4'd6 ;
// value method amberW
assign amberW = state == 4'd6 ;
// value method greenW
assign greenW = state == 4'd5 ;
// value method greenP
assign greenP = state == 4'd7 ;
// value method amberP
assign amberP = state == 4'd8 ;
// value method redP
assign redP = state != 4'd7 && state != 4'd8 ;

// rule RL_rAllRed
assign CAN_FIRE_RL_rAllRed =
state == 4'd0 && NOT_secs_9_PLUS_1_0_SLT_1_6___d27 ;
assign WILL_FIRE_RL_rAllRed = CAN_FIRE_RL_rAllRed ;
// rule RL_inc
assign CAN_FIRE_RL_inc = 1'd1 ;
assign WILL_FIRE_RL_inc =
!WILL_FIRE_RL_rAmberW && !WILL_FIRE_RL_rGreenW &&
!WILL_FIRE_RL_rAmberE &&
!WILL_FIRE_RL_rGreenE &&
!WILL_FIRE_RL_rAmberNS &&
!WILL_FIRE_RL_rGreenNS &&
!WILL_FIRE_RL_rAmberP &&
!WILL_FIRE_RL_rGreenP &&
!WILL_FIRE_RL_rAllRed ;
// rule RL_rGreenP
assign CAN_FIRE_RL_rGreenP = state == 4'd7 && NOT_secs_9_SLT_1_6___d37 ;
assign WILL_FIRE_RL_rGreenP = CAN_FIRE_RL_rGreenP ;
// rule RL_rAmberP
assign CAN_FIRE_RL_rAmberP = state == 4'd8 && NOT_secs_9_SLT_1_6___d37 ;
assign WILL_FIRE_RL_rAmberP = CAN_FIRE_RL_rAmberP ;
// rule RL_rGreenNS
assign CAN_FIRE_RL_rGreenNS =
state == 4'd1 && NOT_secs_9_PLUS_1_0_SLT_1_6___d27 ;
assign WILL_FIRE_RL_rGreenNS = CAN_FIRE_RL_rGreenNS ;
// rule RL_rAmberNS
assign CAN_FIRE_RL_rAmberNS =
state == 4'd2 && NOT_secs_9_PLUS_1_0_SLT_1_6___d27 ;
assign WILL_FIRE_RL_rAmberNS = CAN_FIRE_RL_rAmberNS ;
// rule RL_rGreenE
assign CAN_FIRE_RL_rGreenE =
state == 4'd3 && NOT_secs_9_PLUS_1_0_SLT_1_6___d27 ;
assign WILL_FIRE_RL_rGreenE = CAN_FIRE_RL_rGreenE ;
// rule RL_rAmberE
assign CAN_FIRE_RL_rAmberE =
state == 4'd4 && NOT_secs_9_PLUS_1_0_SLT_1_6___d27 ;
assign WILL_FIRE_RL_rAmberE = CAN_FIRE_RL_rAmberE ;
// rule RL_rAmberW
assign CAN_FIRE_RL_rAmberW =
state == 4'd6 && NOT_secs_9_PLUS_1_0_SLT_1_6___d27 ;
assign WILL_FIRE_RL_rAmberW = CAN_FIRE_RL_rAmberW ;
// rule RL_rGreenW
assign CAN_FIRE_RL_rGreenW =
state == 4'd5 && NOT_secs_9_PLUS_1_0_SLT_1_6___d27 ;
assign WILL_FIRE_RL_rGreenW = CAN_FIRE_RL_rGreenW ;
// inputs to muxes for submodule ports
assign MUX_next_green$write_1__SEL_1 =
WILL_FIRE_RL_rAllRed && !ped_button &&
IF_next_green_EQ_1_THEN_NOT_car_north_1_AND_NO_ETC___d70 ;

assign MUX_next_green$write_1__SEL_2 =
WILL_FIRE_RL_inc &&
IF_next_green_EQ_1_THEN_NOT_car_north_1_AND_NO_ETC___d70 ;
assign MUX_secs$write_1__SEL_1 =
WILL_FIRE_RL_inc &&
(IF_next_green_EQ_1_THEN_car_north_OR_car_south_ETC___d74 ||
IF_next_green_EQ_1_THEN_NOT_car_north_1_AND_NO_ETC___d70) ;
assign MUX_secs$write_1__SEL_2 =
WILL_FIRE_RL_rAllRed &&
(ped_button ||
IF_next_green_EQ_1_THEN_car_north_OR_car_south_ETC___d74 ||
IF_next_green_EQ_1_THEN_NOT_car_north_1_AND_NO_ETC___d70) ;
assign MUX_state$write_1__SEL_3 =
WILL_FIRE_RL_rAmberW || WILL_FIRE_RL_rAmberE ||
WILL_FIRE_RL_rAmberNS ||
WILL_FIRE_RL_rAmberP ;
always@(next_green)
begin
case (next_green)
4'd1: MUX_next_green$write_1__VAL_1 = 4'd3;
4'd3: MUX_next_green$write_1__VAL_1 = 4'd5;
default: MUX_next_green$write_1__VAL_1 = 4'd1;
endcase
end
assign MUX_secs$write_1__VAL_1 =
IF_next_green_EQ_1_THEN_car_north_OR_car_south_ETC___d74 ?
secs_9_PLUS_1___d61 :
32'd0 ;
assign MUX_state$write_1__VAL_1 =
ped_button ?
4'd7 :
(IF_next_green_EQ_1_THEN_car_north_OR_car_south_ETC___d74 ?
next_green :
4'd0) ;
// register car_east
assign car_east$D_IN = cDE_b ;
assign car_east$EN = 1'd1 ;
// register car_north
assign car_north$D_IN = cDN_b ;
assign car_north$EN = 1'd1 ;
// register car_south
assign car_south$D_IN = cDS_b ;
assign car_south$EN = 1'd1 ;
// register car_west
assign car_west$D_IN = cDW_b ;
assign car_west$EN = 1'd1 ;
// register next_green
always@(MUX_next_green$write_1__SEL_1 or
MUX_next_green$write_1__VAL_1 or
MUX_next_green$write_1__SEL_2 or
WILL_FIRE_RL_rAmberW or
WILL_FIRE_RL_rAmberNS or WILL_FIRE_RL_rAmberE)
begin
case (1'b1) // synopsys parallel_case
MUX_next_green$write_1__SEL_1:

next_green$D_IN = MUX_next_green$write_1__VAL_1;
MUX_next_green$write_1__SEL_2:
next_green$D_IN = MUX_next_green$write_1__VAL_1;
WILL_FIRE_RL_rAmberW: next_green$D_IN = 4'd1;
WILL_FIRE_RL_rAmberNS: next_green$D_IN = 4'd3;
WILL_FIRE_RL_rAmberE: next_green$D_IN = 4'd5;
default: next_green$D_IN = 4'b1010 /* unspecified value */ ;
endcase
end
assign next_green$EN =
WILL_FIRE_RL_rAllRed && !ped_button &&
IF_next_green_EQ_1_THEN_NOT_car_north_1_AND_NO_ETC___d70 ||
WILL_FIRE_RL_inc &&
IF_next_green_EQ_1_THEN_NOT_car_north_1_AND_NO_ETC___d70 ||
WILL_FIRE_RL_rAmberW ||
WILL_FIRE_RL_rAmberNS ||
WILL_FIRE_RL_rAmberE ;
// register ped_button
assign ped_button$D_IN = EN_p_button ;
assign ped_button$EN = WILL_FIRE_RL_rAllRed && ped_button || EN_p_button ;
// register secs
assign secs$D_IN =
MUX_secs$write_1__SEL_1 ? MUX_secs$write_1__VAL_1 : 32'd0 ;
assign secs$EN =
WILL_FIRE_RL_inc &&
(IF_next_green_EQ_1_THEN_car_north_OR_car_south_ETC___d74 ||
IF_next_green_EQ_1_THEN_NOT_car_north_1_AND_NO_ETC___d70) ||
WILL_FIRE_RL_rAllRed &&
(ped_button ||
IF_next_green_EQ_1_THEN_car_north_OR_car_south_ETC___d74 ||
IF_next_green_EQ_1_THEN_NOT_car_north_1_AND_NO_ETC___d70) ||
WILL_FIRE_RL_rAmberW ||
WILL_FIRE_RL_rGreenW ||
WILL_FIRE_RL_rAmberE ||
WILL_FIRE_RL_rGreenE ||
WILL_FIRE_RL_rAmberNS ||
WILL_FIRE_RL_rGreenNS ||
WILL_FIRE_RL_rAmberP ||
WILL_FIRE_RL_rGreenP ;
// register state
always@(MUX_secs$write_1__SEL_2 or
MUX_state$write_1__VAL_1 or
MUX_next_green$write_1__SEL_2 or
MUX_next_green$write_1__VAL_1 or
MUX_state$write_1__SEL_3 or
WILL_FIRE_RL_rGreenNS or
WILL_FIRE_RL_rGreenE or
WILL_FIRE_RL_rGreenW or WILL_FIRE_RL_rGreenP)
begin
case (1'b1) // synopsys parallel_case
MUX_secs$write_1__SEL_2: state$D_IN = MUX_state$write_1__VAL_1;
MUX_next_green$write_1__SEL_2:
state$D_IN = MUX_next_green$write_1__VAL_1;
MUX_state$write_1__SEL_3: state$D_IN = 4'd0;
WILL_FIRE_RL_rGreenNS: state$D_IN = 4'd2;
WILL_FIRE_RL_rGreenE: state$D_IN = 4'd4;
WILL_FIRE_RL_rGreenW: state$D_IN = 4'd6;

WILL_FIRE_RL_rGreenP: state$D_IN = 4'd8;


default: state$D_IN = 4'b1010 /* unspecified value */ ;
endcase
end
assign state$EN =
WILL_FIRE_RL_rAllRed &&
(ped_button ||
IF_next_green_EQ_1_THEN_car_north_OR_car_south_ETC___d74 ||
IF_next_green_EQ_1_THEN_NOT_car_north_1_AND_NO_ETC___d70) ||
WILL_FIRE_RL_inc &&
IF_next_green_EQ_1_THEN_NOT_car_north_1_AND_NO_ETC___d70 ||
WILL_FIRE_RL_rAmberW ||
WILL_FIRE_RL_rAmberE ||
WILL_FIRE_RL_rAmberNS ||
WILL_FIRE_RL_rAmberP ||
WILL_FIRE_RL_rGreenNS ||
WILL_FIRE_RL_rGreenE ||
WILL_FIRE_RL_rGreenW ||
WILL_FIRE_RL_rGreenP ;
// remaining internal signals
assign NOT_secs_9_PLUS_1_0_SLT_1_6___d27 =
(secs_9_PLUS_1___d61 ^ 32'h80000000) >= 32'h80000001 ;
assign NOT_secs_9_SLT_1_6___d37 = (secs ^ 32'h80000000) >= 32'h80000001 ;
assign secs_9_PLUS_1___d61 = secs + 32'd1 ;
always@(next_green or car_west or car_north or car_south or car_east)
begin
case (next_green)
4'd1:
IF_next_green_EQ_1_THEN_NOT_car_north_1_AND_NO_ETC___d70 =
!car_north && !car_south;
4'd3:
IF_next_green_EQ_1_THEN_NOT_car_north_1_AND_NO_ETC___d70 =
!car_east;
default: IF_next_green_EQ_1_THEN_NOT_car_north_1_AND_NO_ETC___d70 =
!car_west;
endcase
end
always@(next_green or car_west or car_north or car_south or car_east)
begin
case (next_green)
4'd1:
IF_next_green_EQ_1_THEN_car_north_OR_car_south_ETC___d74 =
car_north || car_south;
4'd3:
IF_next_green_EQ_1_THEN_car_north_OR_car_south_ETC___d74 = car_east;
default: IF_next_green_EQ_1_THEN_car_north_OR_car_south_ETC___d74 =
car_west;
endcase
end
// handling of inlined registers
always@(posedge CLK)
begin
if (!RST_N)
begin
car_east <= `BSV_ASSIGNMENT_DELAY 1'd1;
car_north <= `BSV_ASSIGNMENT_DELAY 1'd1;
car_south <= `BSV_ASSIGNMENT_DELAY 1'd1;

car_west <= `BSV_ASSIGNMENT_DELAY 1'd1;


next_green <= `BSV_ASSIGNMENT_DELAY 4'd1;
ped_button <= `BSV_ASSIGNMENT_DELAY 1'd0;
secs <= `BSV_ASSIGNMENT_DELAY 32'd0;
state <= `BSV_ASSIGNMENT_DELAY 4'd0;
end
else
begin
if (car_east$EN) car_east <= `BSV_ASSIGNMENT_DELAY car_east$D_IN;
if (car_north$EN) car_north <= `BSV_ASSIGNMENT_DELAY car_north$D_IN;
if (car_south$EN) car_south <= `BSV_ASSIGNMENT_DELAY car_south$D_IN;
if (car_west$EN) car_west <= `BSV_ASSIGNMENT_DELAY car_west$D_IN;
if (next_green$EN)
next_green <= `BSV_ASSIGNMENT_DELAY next_green$D_IN;
if (ped_button$EN)
ped_button <= `BSV_ASSIGNMENT_DELAY ped_button$D_IN;
if (secs$EN) secs <= `BSV_ASSIGNMENT_DELAY secs$D_IN;
if (state$EN) state <= `BSV_ASSIGNMENT_DELAY state$D_IN;
end
end
// synopsys translate_off
`ifdef BSV_NO_INITIAL_BLOCKS
`else // not BSV_NO_INITIAL_BLOCKS
initial
begin
car_east = 1'h0;
car_north = 1'h0;
car_south = 1'h0;
car_west = 1'h0;
next_green = 4'hA;
ped_button = 1'h0;
secs = 32'hAAAAAAAA;
state = 4'hA;
end
`endif // BSV_NO_INITIAL_BLOCKS
// synopsys translate_on
endmodule // mktraffic

Vous aimerez peut-être aussi