input [31:0] DIP_Switches_32Bits_GPIO_IO_I_pin;
input [4:0] Push_Buttons_5Bits_GPIO_IO_I_pin;
output clock_generator_0_CLKOUT4_pin;
RESET и clock_generator_0_CLKOUT4_pin входные для data_video_in_out ,
в нем data_v_out(DIP_Switches_32Bits_GPIO_IO_I_pin ) и strob_v_out(Push_Buttons_5Bits_GPIO_IO_I_pin )
выходы и входы для microblaze.
симуляция в Isim работает. правда для этого потребовалось убрать в сгенерированном Verilog Test Fixture
//reg [31:0] DIP_Switches_32Bits_GPIO_IO_I_pin;
//reg [4:0] Push_Buttons_5Bits_GPIO_IO_I_pin;
при компиляции выдает следующую ошибку
Multi-source in Unit <mb_top> on signal <Push_Buttons_5Bits_GPIO_IO_I_pin<4>>; this signal is connected to multiple drivers.
такая же выдается для всех Push_Buttons_5Bits_GPIO_IO_I_pin и DIP_Switches_32Bits_GPIO_IO_I_pin
но они же и должны быть для одного входы для другого выходы.
Сначала было
Код
assign DIP_Switches_32Bits_GPIO_IO_I_pin = data_v_out;
...
.data_v_out(data_v_out ),
...
......
.data_v_out(data_v_out ),
...
результат тот же.
где ошибка?
Код
// mb_top.v
//-----------------------------------------------------------------------------
module mb_top
(
...
RESET,
...
DIP_Switches_4Bits_TRI_I,
CLK_P,
CLK_N,
DIP_Switches_32Bits_GPIO_IO_I_pin,
Push_Buttons_5Bits_GPIO_IO_I_pin,
clock_generator_0_CLKOUT4_pin
);
...
input [3:0] DIP_Switches_4Bits_TRI_I;
input CLK_P;
input CLK_N;
input [31:0] DIP_Switches_32Bits_GPIO_IO_I_pin;
input [4:0] Push_Buttons_5Bits_GPIO_IO_I_pin;
output clock_generator_0_CLKOUT4_pin;
(* BOX_TYPE = "user_black_box" *)
mb
mb_i (
...
...
.DIP_Switches_4Bits_TRI_I ( DIP_Switches_4Bits_TRI_I ),
.CLK_P ( CLK_P ),
.CLK_N ( CLK_N ),
.DIP_Switches_32Bits_GPIO_IO_I_pin ( DIP_Switches_32Bits_GPIO_IO_I_pin ),
.Push_Buttons_5Bits_GPIO_IO_I_pin ( Push_Buttons_5Bits_GPIO_IO_I_pin ),
.clock_generator_0_CLKOUT4_pin ( clock_generator_0_CLKOUT4_pin )
);
wire RESET, clock_generator_0_CLKOUT4_pin;
wire [31:0] DIP_Switches_32Bits_GPIO_IO_I_pin;
wire [4:0] Push_Buttons_5Bits_GPIO_IO_I_pin;
// Instantiate the module
data_video_in_out instance_name (
...
.clock_mb(clock_generator_0_CLKOUT4_pin),
.reset(RESET),
.data_v_out(DIP_Switches_32Bits_GPIO_IO_I_pin ),
...
.strob_v_out(Push_Buttons_5Bits_GPIO_IO_I_pin )
);
endmodule
если задать разные имена , то ошибка будет
<DIP_Switches_32Bits_GPIO_IO_I_pin_1> is already implicitly declared earlier.
если же убрать декларацию wire , то ошибок нет . но тогда шины превращаются в одиночную. что не нужно.