인프런 커뮤니티 질문&답변
FSM 실습응용 질문2
작성
·
138
1
`timescale 1ns / 1ps
module simple_bram_ctrl
// Param
#(
parameter DWIDTH = 16,
parameter AWIDTH = 12,
parameter MEM_SIZE = 3840
)
(
input clk,
input reset_n,
input i_run,
input [AWIDTH-1:0] i_num_cnt,
output o_idle,
output o_write,
output o_read,
output o_done,
// Memory I/F
output[AWIDTH-1:0] addr0,
output ce0,
output we0,
input [DWIDTH-1:0] q0,
output[DWIDTH-1:0] d0,
// output read value from BRAM
output o_valid,
output[DWIDTH-1:0] o_mem_data
);
모듈에서 #(parameter DWIDTH = 16, parameter AWIDTH = 12, parameter MEN_SIZE = 3840)으로 선언한 이유가
궁금합니다
테스트벤치에서 인스턴스를 찍을 때 다시 #( .DWIDTH (`DATA_WIDTH), ....) ; 를 써서 테스트벤치안에서
`define으로 선언한 값들(7, 16, 128)을 넣어주는 것 같은데 왜 모듈 선언부위에서 또 parameter를 선언해주신건가요?
또한 DWIDTH = 16, AWIDTH = 12, MEN_SIZE = 3840 의 값들은 그냥 임의로 정해서 넣어주신건가요?
답변 1
1





답변 감사합니다!