EDA基础-7全解.pptVIP

  • 22
  • 0
  • 约1.25万字
  • 约 10页
  • 2017-01-06 发布于湖北
  • 举报
EDA基础-7全解

BUAA_IC_Hongge 数据信号迟置 BUAA_IC_Hongge 控制信号迟置(无优化) module single_if_late(A, C, CTRL_is_late, Z); input [6:1] A; input [5:1] C; input CTRL_is_late; output Z; reg Z; always @(C or A or CTRL_is_late) // late arriving signal in if condition if (C[4] == 1’b1 CTRL_is_late == 1’b0) Z = A[4]; else if (C[1] == 1’b1) Z = A[1]; else if (C[2] == 1’b0) Z = A[2]; else if (C[3] == 1’b1) Z = A[3]; else if (C[5] == 1’b0) Z = A[5]; else Z = A[6]; endmodule 如果晚到达信号作为if语句条件分支的条件,也应使这个信号离输出最近。在下面的例子中,CTRL_is _late是晚到达的控制信号 BUAA_IC_Hongge 控制信号迟置(优化后) module single_if_late(A, C, CTRL_is_late, Z); input [6:1] A; input [5:1] C; input CTRL_is_late; output Z; reg Z; always @(C or A or CTRL_is_late) if (C[1] == 1’b1) Z = A[1]; else if (C[2] == 1’b0) Z = A[2]; else if (C[3] == 1’b1) Z = A[3]; else if (C[4] == 1’b1 CTRL_is_late == 1’b0) // late arriving signal in if condition Z = A[4]; else if (C[5] == 1’b0) Z = A[5]; else Z = A[6]; endmodule BUAA_IC_Hongge if-case嵌套语句 module case_in_if_01(A, DATA_is_late_arriving, C, sel, Z); input [8:1] A; input DATA_is_late_arriving; input [2:0] sel; input [5:1] C; output Z; reg Z; always @ (sel or C or A or DATA_is_late_arriving) if (C[1]) Z = A[5]; else if (C[2] = = 1’b0) Z = A[4]; else if (C[3]) Z = A[1]; else if (C[4]) case (sel) 3’b010: Z = A[8]; 3’b011: Z = DATA_is_late_arriving; 3’b101: Z = A[7]; 3’b110: Z = A[6]; default: Z = A[2]; endcase else if (C[5] = = 1

文档评论(0)

1亿VIP精品文档

相关文档