Почему так?:
wire [31:0] ram_slave_addr, host_master_a, ide_master_a;
always @(host_gnt)
fork
ram_slave_addr<= (host_gnt)? host_master_a : ide_master_a;
join
# Error: VCP2858 top.v : (494, 64): ram_slave_di is not a valid left-hand side of a procedural assignment.
=============================================
reg [31:0] ram_slave_addr;
wire [31:0] host_master_a, ide_master_a;
always @(host_gnt)
fork
ram_slave_addr<= (host_gnt)? host_master_a : ide_master_a;
join
компилируется без ошибок.