Цитата
а import package_name::enum_name::* не работает?
Нет, не работает:
Цитата
package_for_fsm.sv(56): near "::": syntax error, unexpected ::, expecting ';' or ','
Код
`timescale 1ns / 1ps
module top
(
);
//===========================================/
//GEN
//===========================================/
logic clk = 'b0;
always #10 clk = ~clk;
//===========================================/
//TEST UNIT
//===========================================/
logic [7:0] out;
m1 m1_inst(
.clk(clk),
.out(out)
);
endmodule
//===========================================/
//PACKAGE
//===========================================/
package pck;
typedef enum int unsigned {
a,
b,
c
} state_t;
endpackage
//===========================================/
//TEST_MODULE
//===========================================/
module m1
import
// pck:: state_t,
pck:: state_t::*;
/* pck:: a, //как исключить эту запись?
pck:: b, //как исключить эту запись?
pck:: c; //как исключить эту запись? */
(
input logic clk,
output logic [7:0] out = 'b0
);
state_t state;
always_ff@(posedge clk)
begin
case (state)
a:
begin
state <= b;
out <= "A";
end
b:
begin
state <= c;
out <= "B";
end
c:
begin
state <= a;
out <= "C";
end
default:
begin
state <= a;
out <= "D";
end
endcase
end
endmodule