vhdl -> verilog로 변환할때 이부분은 어떻게 변환시켜야할까요?
COMPONENT score
PORT(
clk : IN std_logic;
ran_in : IN std_logic_vector(3 downto 0);
ran_in1 : IN std_logic_vector(3 downto 0);
ran_in2 : IN std_logic_vector(3 downto 0);
ran_in3 : IN std_logic_vector(3 downto 0);
key_in : IN std_logic_vector(3 downto 0);
RSTB : IN std_logic;
Temp : OUT std_logic;
score_in : out integer range 0 to 99
);
END COMPONENT;
이소스를 verilog로 변환하고자하면
input clk,rstb;
input [3:0] ran_in,ran_in1,ran_in2,ran_in3,key_in;
output Temp;
여기까진 변환을 이렇게 하면 될거같은데 그 밑부분인 score_in : out integer range 0 to 99 이부분을 어떻게 설정해줘야하나요?
그리고 하나더 있습니다
u0:ck_10hz PORT MAP(
aclr => rstn,
ck => ck,
b => open ,
ck_10hz => ck_q
);
하위모듈 불러 포트맵 시켜주는부분인데 저기 b => open 이라는 명령어는 어떻게 verilog에서 취해줘야할까요?
댓글
댓글 리스트-
작성자도요새 작성시간 17.12.12 open이 연결안한다는 의미입니다. 공란으로 하면 되지 않을까요 혹 컴파일러에서 공란을 지원안하는 경우도 있습ㄴ다.
-
답댓글 작성자어렵다어려워 작성자 본인 여부 작성자 작성시간 17.12.12 그렇다면 위에 integer range 0 to 99 는 어떻게 잡아줘야할까요?
-
답댓글 작성자도요새 작성시간 17.12.12 어렵다어려워 verilog 에서 range에 해당하는 키워드는 없습니다. wire네트형으로 선언된 변수를 그냥 써도 표현이 가능합니다.
-
답댓글 작성자어렵다어려워 작성자 본인 여부 작성자 작성시간 17.12.12 도요새 그럼 wire [7:0] score_in 이렇게 선언해주면되는건가요? component에선 wire로 선언해주고
port(
clk : in std_logic;
ran_in : in std_logic_vector (3 downto 0);
ran_in1 : in std_logic_vector (3 downto 0);
ran_in2 : in std_logic_vector (3 downto 0);
ran_in3 : in std_logic_vector (3 downto 0);
key_in : in std_logic_vector (3 downto 0);
RSTB: in STD_LOGIC;
Temp: out std_logic;
score_in : out integer range 0 to 99
);
이렇게 포트안에서는 그냥 output [7:0] score_in; 으로 선언해주면되는건가요? -
답댓글 작성자도요새 작성시간 17.12.12 어렵다어려워 ㅇ넵