这次介绍一些有关RTL综合的知识
组合逻辑综合
可综合的逻辑可由以下方式描述:
- 结构化的基本门网表
- 一系列连续赋值语句
- 一个电平敏感的周期性行为
门级网表综合
module test(
input a, b, c, d, e,
output y1_out, y2_out
);
wire y1, y2, y3, y4, y5, y6, y7, y8;
and (y1, a, c);
and (y2, a, d);
and (y3, a, e);
or (y4, y1, y2);
or (y1_out, y3, y4);
and (y5, b, c);
and (y6, b, d);
and (y7, b, e);
or (y8, y5, y6);
or (y2_out, y7, y8);
endmodule
综合后电路:
由图可看到编译器还自动把y4去除,使用了三输入或门
连续赋值语句
module or_nand(
input en, x1, x2, x3, x4,
output y
);
assign y = ~(en & (x1 | x2) & (x3 | x4));
endmodule
综合后的电路:
电平敏感周期行为
module comparator(
input [SIZE:0] a, b,
output reg a_gt_b, a_lt_b, a_eq_b
);
parameter SIZE =