D
dd2001
Guest
Min test_sm.v ble syntaks og Synthesis kontrolleres i ASIC2.41, men når jeg trykker kjør, det ville ikke skape netlist for meg og generere følgende feil:
@ I:: "D: \ My_Design \ test_sm.v"
Verilog syntaks sjekk vellykket!with name test_sm.v to synthesize
@ E | Ingen komponent
med navn test_sm.v å syntetisere
@ ENDJeg bruker tutorial.syn komme med ASIC 2,41 og oppsett tid begrensningen bord for test_sm.v.
koden som følger:
modulen test_sm (klokken tilbakestilt, in_bit, out_bit);
skriving klokken tilbakestilt, in_bit;
output out_bit;
reg [2:0] state_reg, next_state;
parameter start_state = 3'b000;
parameter read_1_zero = 3'b001;
parameter read_1_one = 3'b010;
parameter read_2_zero = 3'b011;
parameter read_2_one = 3'b100;
alltid @ (posedge klokke eller posedge reset)
if (reset == 1'b1) state_reg <= start_state; annet state_reg <= next_state;
alltid @ (state_reg eller in_bit)
tilfellet (state_reg)
/ / start_state:
3'b000:
if (in_bit == 0) next_state <= read_1_zero; else
if (in_bit == 1) next_state <= read_1_one;
else next_state <= start_state;
/ / read_1_zero:
3'b001:
if (in_bit == 0) next_state <= read_2_zero; else
if (in_bit == 1) next_state <= read_1_one;
else next_state <= start_state;
/ / read_2_zero:
3'b011:
if (in_bit == 0) next_state <= read_2_zero; else
if (in_bit == 1) next_state <= read_1_one;
else next_state <= start_state;
/ / read_1_one:
3'b010:
if (in_bit == 0) next_state <= read_1_zero; else
if (in_bit == 1) next_state <= read_2_one;
else next_state <= start_state;
/ / read_2_one:
3'b100:
if (in_bit == 0) next_state <= read_1_zero; else
if (in_bit == 1) next_state <= read_2_one;
else next_state <= start_state;
standard: next_state <= start_state;
endcase
tildele out_bit = (((state_reg == read_2_zero) & & (in_bit == 0)) | | ((state_reg == read_2_one) & & (in_bit == 1)))?1: 0;
endmodule
@ I:: "D: \ My_Design \ test_sm.v"
Verilog syntaks sjekk vellykket!with name test_sm.v to synthesize
@ E | Ingen komponent
med navn test_sm.v å syntetisere
@ ENDJeg bruker tutorial.syn komme med ASIC 2,41 og oppsett tid begrensningen bord for test_sm.v.
koden som følger:
modulen test_sm (klokken tilbakestilt, in_bit, out_bit);
skriving klokken tilbakestilt, in_bit;
output out_bit;
reg [2:0] state_reg, next_state;
parameter start_state = 3'b000;
parameter read_1_zero = 3'b001;
parameter read_1_one = 3'b010;
parameter read_2_zero = 3'b011;
parameter read_2_one = 3'b100;
alltid @ (posedge klokke eller posedge reset)
if (reset == 1'b1) state_reg <= start_state; annet state_reg <= next_state;
alltid @ (state_reg eller in_bit)
tilfellet (state_reg)
/ / start_state:
3'b000:
if (in_bit == 0) next_state <= read_1_zero; else
if (in_bit == 1) next_state <= read_1_one;
else next_state <= start_state;
/ / read_1_zero:
3'b001:
if (in_bit == 0) next_state <= read_2_zero; else
if (in_bit == 1) next_state <= read_1_one;
else next_state <= start_state;
/ / read_2_zero:
3'b011:
if (in_bit == 0) next_state <= read_2_zero; else
if (in_bit == 1) next_state <= read_1_one;
else next_state <= start_state;
/ / read_1_one:
3'b010:
if (in_bit == 0) next_state <= read_1_zero; else
if (in_bit == 1) next_state <= read_2_one;
else next_state <= start_state;
/ / read_2_one:
3'b100:
if (in_bit == 0) next_state <= read_1_zero; else
if (in_bit == 1) next_state <= read_2_one;
else next_state <= start_state;
standard: next_state <= start_state;
endcase
tildele out_bit = (((state_reg == read_2_zero) & & (in_bit == 0)) | | ((state_reg == read_2_one) & & (in_bit == 1)))?1: 0;
endmodule