|
楼主 |
发表于 2021-9-22 09:23:22
|
显示全部楼层
如果是:Driver.execute(Array("--target-dir","generated"),()=>new SingleEvenFilter(3.U(4.W)))则产生的verilog内容如下:
module PredicateFilter(
input io_in_valid,
input [3:0] io_in_bits,
output io_out_valid,
output [3:0] io_out_bits
);
assign io_out_valid = io_in_valid; // @[SingleEvenFilter.scala 29:16]
assign io_out_bits = io_in_bits; // @[SingleEvenFilter.scala 30:15]
endmodule
module PredicateFilter_1(
input io_in_valid,
input [3:0] io_in_bits,
output io_out_valid,
output [3:0] io_out_bits
);
assign io_out_valid = io_in_valid; // @[SingleEvenFilter.scala 29:16]
assign io_out_bits = io_in_bits; // @[SingleEvenFilter.scala 30:15]
endmodule
module SingleEvenFilter(
input clock,
input reset,
input io_in_valid,
input [3:0] io_in_bits,
output io_out_valid,
output [3:0] io_out_bits
);
wire single_io_in_valid; // @[SingleEvenFilter.scala 34:22]
wire [3:0] single_io_in_bits; // @[SingleEvenFilter.scala 34:22]
wire single_io_out_valid; // @[SingleEvenFilter.scala 34:22]
wire [3:0] single_io_out_bits; // @[SingleEvenFilter.scala 34:22]
wire even_io_in_valid; // @[SingleEvenFilter.scala 35:20]
wire [3:0] even_io_in_bits; // @[SingleEvenFilter.scala 35:20]
wire even_io_out_valid; // @[SingleEvenFilter.scala 35:20]
wire [3:0] even_io_out_bits; // @[SingleEvenFilter.scala 35:20]
PredicateFilter single ( // @[SingleEvenFilter.scala 34:22]
.io_in_valid(single_io_in_valid),
.io_in_bits(single_io_in_bits),
.io_out_valid(single_io_out_valid),
.io_out_bits(single_io_out_bits)
);
PredicateFilter_1 even ( // @[SingleEvenFilter.scala 35:20]
.io_in_valid(even_io_in_valid),
.io_in_bits(even_io_in_bits),
.io_out_valid(even_io_out_valid),
.io_out_bits(even_io_out_bits)
);
assign io_out_valid = even_io_out_valid; // @[SingleEvenFilter.scala 38:10]
assign io_out_bits = even_io_out_bits; // @[SingleEvenFilter.scala 38:10]
assign single_io_in_valid = io_in_valid; // @[SingleEvenFilter.scala 36:16]
assign single_io_in_bits = io_in_bits; // @[SingleEvenFilter.scala 36:16]
assign even_io_in_valid = single_io_out_valid; // @[SingleEvenFilter.scala 37:14]
assign even_io_in_bits = single_io_out_bits; // @[SingleEvenFilter.scala 37:14]
endmodule
|
|