-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Description
module bin2grey (
input logic [3:0] bin_i,
output logic [3:0] grey_o,
);
assign grey_o = (bin_i >> 1) ^ bin_i;
endmodule
module grey2bin (
input logic [3:0] grey_i,
output logic [3:0] bin_o,
);
assign bin_o[3] = grey_i[3];
assign bin_o[2] = ^grey_i[3:2];
assign bin_o[1] = ^grey_i[3:1];
assign bin_o[0] = ^grey_i[3:0];
endmoduleЗапятые в шапках модулей не нужны -> syntax error
output logic [3:0] grey_o,
output logic [3:0] bin_o,
module ff2_synchroniser_flag_busy (
input logic clkA_i,
output logic busyA_o,
input logic clkB_i,
input logic datA_i,
output logic datB_o
);
//Clock domain A
logic toggleA;
logic [1:0] syncBusyA;
always_ff @(posedge clkA_i) toggleA <= toggleA ^ datA_i;
always_ff @(posedge clkA_i) syncBusyA <= {syncBusyA[0], syncB[2]};
assign busyA_o = syncBusyA[1] ^ toggleA;
//Clock domain B
logic [2:0] syncB;
always_ff @(posedge clkB_i) syncB <= {syncB[1:0], toggleA};
assign datB_o = ^syncB[2:1];
endmodule logic [2:0] syncB; Надо переместить в начало после шапки модуля иначе syncB is used before its declaration
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels