⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 booth_pipeline.vo

📁 布思基四乘法器实现,很好用,快来看,希望对大家有所帮助.
💻 VO
📖 第 1 页 / 共 5 页
字号:
	.cin(gnd),
	.cin0(gnd),
	.cin1(vcc),
	.inverta(gnd),
	.regcascin(gnd),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(\par_st4~35 ),
	.regout(aid_st3),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \aid_st3~I .operation_mode = "normal";
defparam \aid_st3~I .synch_mode = "on";
defparam \aid_st3~I .register_cascade_mode = "off";
defparam \aid_st3~I .sum_lutc_input = "qfbk";
defparam \aid_st3~I .lut_mask = "F00F";
defparam \aid_st3~I .output_mode = "reg_and_comb";
// synopsys translate_on

// atom is at LC_X3_Y2_N9
maxii_lcell \m2_tmp_st3[0]~I (
// Equation(s):
// \add~875  = m2_tmp_st3[0] $ (!aid_st3 & \m1_tmp_st3[0] )

	.clk(\CLK~combout ),
	.dataa(vcc),
	.datab(aid_st3),
	.datac(\m2_tmp_st2[0] ),
	.datad(\m1_tmp_st3[0] ),
	.aclr(!\RST_~combout ),
	.aload(gnd),
	.sclr(gnd),
	.sload(vcc),
	.ena(vcc),
	.cin(gnd),
	.cin0(gnd),
	.cin1(vcc),
	.inverta(gnd),
	.regcascin(gnd),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(\add~875 ),
	.regout(),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \m2_tmp_st3[0]~I .operation_mode = "normal";
defparam \m2_tmp_st3[0]~I .synch_mode = "on";
defparam \m2_tmp_st3[0]~I .register_cascade_mode = "off";
defparam \m2_tmp_st3[0]~I .sum_lutc_input = "qfbk";
defparam \m2_tmp_st3[0]~I .lut_mask = "C3F0";
defparam \m2_tmp_st3[0]~I .output_mode = "comb_only";
// synopsys translate_on

// atom is at LC_X2_Y2_N0
maxii_lcell \m1_tmp_st4[3]~67_I (
// Equation(s):
// \m1_tmp_st4[3]~67COUT0_75  = CARRY(\m1_tmp_st3[0]  & !aid_st3)
// \m1_tmp_st4[3]~67COUT1_76  = CARRY(\m1_tmp_st3[0]  & !aid_st3)

	.clk(gnd),
	.dataa(\m1_tmp_st3[0] ),
	.datab(aid_st3),
	.datac(vcc),
	.datad(vcc),
	.aclr(gnd),
	.aload(gnd),
	.sclr(gnd),
	.sload(gnd),
	.ena(vcc),
	.cin(gnd),
	.cin0(gnd),
	.cin1(vcc),
	.inverta(gnd),
	.regcascin(gnd),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(),
	.regout(),
	.cout(),
	.cout0(\m1_tmp_st4[3]~67COUT0_75 ),
	.cout1(\m1_tmp_st4[3]~67COUT1_76 ));
// synopsys translate_off
defparam \m1_tmp_st4[3]~67_I .operation_mode = "arithmetic";
defparam \m1_tmp_st4[3]~67_I .synch_mode = "off";
defparam \m1_tmp_st4[3]~67_I .register_cascade_mode = "off";
defparam \m1_tmp_st4[3]~67_I .sum_lutc_input = "datac";
defparam \m1_tmp_st4[3]~67_I .lut_mask = "0022";
defparam \m1_tmp_st4[3]~67_I .output_mode = "none";
// synopsys translate_on

// atom is at LC_X2_Y2_N1
maxii_lcell \m1_tmp_st4[3]~I (
// Equation(s):
// \m1_tmp_st4[3]  = DFFEAS(\pro_tmp_st3[0]  $ \add~875  $ \m1_tmp_st4[3]~67COUT0_75 , GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , \pro_tmp_st3[0] , , zero_st3, \par_st4~35 )
// \m1_tmp_st4[3]~59  = CARRY(\pro_tmp_st3[0]  & !\add~875  & !\m1_tmp_st4[3]~67COUT0_75  # !\pro_tmp_st3[0]  & (!\m1_tmp_st4[3]~67COUT0_75  # !\add~875 ))
// \m1_tmp_st4[3]~59COUT1_77  = CARRY(\pro_tmp_st3[0]  & !\add~875  & !\m1_tmp_st4[3]~67COUT1_76  # !\pro_tmp_st3[0]  & (!\m1_tmp_st4[3]~67COUT1_76  # !\add~875 ))

	.clk(\CLK~combout ),
	.dataa(\pro_tmp_st3[0] ),
	.datab(\add~875 ),
	.datac(\pro_tmp_st3[0] ),
	.datad(vcc),
	.aclr(!\RST_~combout ),
	.aload(gnd),
	.sclr(zero_st3),
	.sload(\par_st4~35 ),
	.ena(vcc),
	.cin(gnd),
	.cin0(\m1_tmp_st4[3]~67COUT0_75 ),
	.cin1(\m1_tmp_st4[3]~67COUT1_76 ),
	.inverta(gnd),
	.regcascin(gnd),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(),
	.regout(\m1_tmp_st4[3] ),
	.cout(),
	.cout0(\m1_tmp_st4[3]~59 ),
	.cout1(\m1_tmp_st4[3]~59COUT1_77 ));
// synopsys translate_off
defparam \m1_tmp_st4[3]~I .operation_mode = "arithmetic";
defparam \m1_tmp_st4[3]~I .synch_mode = "on";
defparam \m1_tmp_st4[3]~I .register_cascade_mode = "off";
defparam \m1_tmp_st4[3]~I .sum_lutc_input = "cin";
defparam \m1_tmp_st4[3]~I .lut_mask = "9617";
defparam \m1_tmp_st4[3]~I .cin0_used = "true";
defparam \m1_tmp_st4[3]~I .cin1_used = "true";
defparam \m1_tmp_st4[3]~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC_X2_Y2_N6
maxii_lcell \pro_reg[3]~I (
// Equation(s):
// \pro_reg[3]  = DFFEAS(\m1_tmp_st4[3] , GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , , , , )

	.clk(\CLK~combout ),
	.dataa(vcc),
	.datab(vcc),
	.datac(vcc),
	.datad(\m1_tmp_st4[3] ),
	.aclr(!\RST_~combout ),
	.aload(gnd),
	.sclr(gnd),
	.sload(gnd),
	.ena(vcc),
	.cin(gnd),
	.cin0(gnd),
	.cin1(vcc),
	.inverta(gnd),
	.regcascin(gnd),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(),
	.regout(\pro_reg[3] ),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \pro_reg[3]~I .operation_mode = "normal";
defparam \pro_reg[3]~I .synch_mode = "off";
defparam \pro_reg[3]~I .register_cascade_mode = "off";
defparam \pro_reg[3]~I .sum_lutc_input = "datac";
defparam \pro_reg[3]~I .lut_mask = "FF00";
defparam \pro_reg[3]~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC_X5_Y4_N1
maxii_lcell \m2_tmp_st1[3]~I (
// Equation(s):
// \add~886  = m2_tmp_st1[3] $ (\m1_tmp_st1[0]  & !aid_st1)
// \m2_tmp_st1[3]  = DFFEAS(\add~886 , GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , \m2_reg[3] , , , VCC)

	.clk(\CLK~combout ),
	.dataa(vcc),
	.datab(\m1_tmp_st1[0] ),
	.datac(\m2_reg[3] ),
	.datad(aid_st1),
	.aclr(!\RST_~combout ),
	.aload(gnd),
	.sclr(gnd),
	.sload(vcc),
	.ena(vcc),
	.cin(gnd),
	.cin0(gnd),
	.cin1(vcc),
	.inverta(gnd),
	.regcascin(gnd),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(\add~886 ),
	.regout(\m2_tmp_st1[3] ),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \m2_tmp_st1[3]~I .operation_mode = "normal";
defparam \m2_tmp_st1[3]~I .synch_mode = "on";
defparam \m2_tmp_st1[3]~I .register_cascade_mode = "off";
defparam \m2_tmp_st1[3]~I .sum_lutc_input = "qfbk";
defparam \m2_tmp_st1[3]~I .lut_mask = "F03C";
defparam \m2_tmp_st1[3]~I .output_mode = "reg_and_comb";
// synopsys translate_on

// atom is at LC_X4_Y4_N4
maxii_lcell \pro_tmp_st2[3]~I (
// Equation(s):
// \pro_tmp_st2[3]  = DFFEAS(\pro_tmp_st1[3]  $ (\pro_tmp_st2[1]~51  $ !\add~886 ), GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , \pro_tmp_st1[3] , , zero_st1, \par_st2~35 )

	.clk(\CLK~combout ),
	.dataa(\pro_tmp_st1[3] ),
	.datab(vcc),
	.datac(\pro_tmp_st1[3] ),
	.datad(\add~886 ),
	.aclr(!\RST_~combout ),
	.aload(gnd),
	.sclr(zero_st1),
	.sload(\par_st2~35 ),
	.ena(vcc),
	.cin(gnd),
	.cin0(\pro_tmp_st2[1]~51 ),
	.cin1(\pro_tmp_st2[1]~51COUT1_64 ),
	.inverta(gnd),
	.regcascin(gnd),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(),
	.regout(\pro_tmp_st2[3] ),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \pro_tmp_st2[3]~I .operation_mode = "normal";
defparam \pro_tmp_st2[3]~I .synch_mode = "on";
defparam \pro_tmp_st2[3]~I .register_cascade_mode = "off";
defparam \pro_tmp_st2[3]~I .sum_lutc_input = "cin";
defparam \pro_tmp_st2[3]~I .lut_mask = "5AA5";
defparam \pro_tmp_st2[3]~I .cin0_used = "true";
defparam \pro_tmp_st2[3]~I .cin1_used = "true";
defparam \pro_tmp_st2[3]~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC_X5_Y2_N5
maxii_lcell \m2_tmp_st2[2]~I (
// Equation(s):
// \add~881  = m2_tmp_st2[2] $ (\m1_tmp_st2[0]  & !aid_st2)
// \m2_tmp_st2[2]  = DFFEAS(\add~881 , GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , \m2_tmp_st1[2] , , , VCC)

	.clk(\CLK~combout ),
	.dataa(vcc),
	.datab(\m1_tmp_st2[0] ),
	.datac(\m2_tmp_st1[2] ),
	.datad(aid_st2),
	.aclr(!\RST_~combout ),
	.aload(gnd),
	.sclr(gnd),
	.sload(vcc),
	.ena(vcc),
	.cin(gnd),
	.cin0(gnd),
	.cin1(vcc),
	.inverta(gnd),
	.regcascin(gnd),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(\add~881 ),
	.regout(\m2_tmp_st2[2] ),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \m2_tmp_st2[2]~I .operation_mode = "normal";
defparam \m2_tmp_st2[2]~I .synch_mode = "on";
defparam \m2_tmp_st2[2]~I .register_cascade_mode = "off";
defparam \m2_tmp_st2[2]~I .sum_lutc_input = "qfbk";
defparam \m2_tmp_st2[2]~I .lut_mask = "F03C";
defparam \m2_tmp_st2[2]~I .output_mode = "reg_and_comb";
// synopsys translate_on

// atom is at LC_X4_Y2_N8
maxii_lcell \pro_tmp_st3[1]~I (
// Equation(s):
// \pro_tmp_st3[1]  = DFFEAS(\pro_tmp_st2[3]  $ \add~881  $ \pro_tmp_st3[0]~48 , GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , \pro_tmp_st2[3] , , zero_st2, \par_st3~35 )
// \pro_tmp_st3[1]~52  = CARRY(\pro_tmp_st2[3]  & !\add~881  & !\pro_tmp_st3[0]~48  # !\pro_tmp_st2[3]  & (!\pro_tmp_st3[0]~48  # !\add~881 ))
// \pro_tmp_st3[1]~52COUT1_65  = CARRY(\pro_tmp_st2[3]  & !\add~881  & !\pro_tmp_st3[0]~48COUT1_63  # !\pro_tmp_st2[3]  & (!\pro_tmp_st3[0]~48COUT1_63  # !\add~881 ))

	.clk(\CLK~combout ),
	.dataa(\pro_tmp_st2[3] ),
	.datab(\add~881 ),
	.datac(\pro_tmp_st2[3] ),
	.datad(vcc),
	.aclr(!\RST_~combout ),
	.aload(gnd),
	.sclr(zero_st2),
	.sload(\par_st3~35 ),
	.ena(vcc),
	.cin(gnd),
	.cin0(\pro_tmp_st3[0]~48 ),
	.cin1(\pro_tmp_st3[0]~48COUT1_63 ),
	.inverta(gnd),
	.regcascin(gnd),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(),
	.regout(\pro_tmp_st3[1] ),
	.cout(),
	.cout0(\pro_tmp_st3[1]~52 ),
	.cout1(\pro_tmp_st3[1]~52COUT1_65 ));
// synopsys translate_off
defparam \pro_tmp_st3[1]~I .operation_mode = "arithmetic";
defparam \pro_tmp_st3[1]~I .synch_mode = "on";
defparam \pro_tmp_st3[1]~I .register_cascade_mode = "off";
defparam \pro_tmp_st3[1]~I .sum_lutc_input = "cin";
defparam \pro_tmp_st3[1]~I .lut_mask = "9617";
defparam \pro_tmp_st3[1]~I .cin0_used = "true";
defparam \pro_tmp_st3[1]~I .cin1_used = "true";
defparam \pro_tmp_st3[1]~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC_X3_Y2_N5
maxii_lcell \m2_tmp_st3[1]~I (
// Equation(s):
// \add~876  = m2_tmp_st3[1] $ (!aid_st3 & \m1_tmp_st3[0] )

	.clk(\CLK~combout ),
	.dataa(vcc),
	.datab(aid_st3),
	.datac(\m2_tmp_st2[1] ),
	.datad(\m1_tmp_st3[0] ),
	.aclr(!\RST_~combout ),
	.aload(gnd),
	.sclr(gnd),
	.sload(vcc),
	.ena(vcc),
	.cin(gnd),
	.cin0(gnd),
	.cin1(vcc),
	.inverta(gnd),
	.regcascin(gnd),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(\add~876 ),
	.regout(),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \m2_tmp_st3[1]~I .operation_mode = "normal";
defparam \m2_tmp_st3[1]~I .synch_mode = "on";
defparam \m2_tmp_st3[1]~I .register_cascade_mode = "off";
defparam \m2_tmp_st3[1]~I .sum_lutc_input = "qfbk";
defparam \m2_tmp_st3[1]~I .lut_mask = "C3F0";
defparam \m2_tmp_st3[1]~I .output_mode = "comb_only";
// synopsys translate_on

// atom is at LC_X2_Y2_N2
maxii_lcell \pro_tmp_st4[0]~I (
// Equation(s):
// \pro_tmp_st4[0]  = DFFEAS(\pro_tmp_st3[1]  $ \add~876  $ !\m1_tmp_st4[3]~59 , GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , \pro_tmp_st3[1] , , zero_st3, \par_st4~35 )
// \pro_tmp_st4[0]~48  = CARRY(\pro_tmp_st3[1]  & (\add~876  # !\m1_tmp_st4[3]~59 ) # !\pro_tmp_st3[1]  & \add~876  & !\m1_tmp_st4[3]~59 )
// \pro_tmp_st4[0]~48COUT1_63  = CARRY(\pro_tmp_st3[1]  & (\add~876  # !\m1_tmp_st4[3]~59COUT1_77 ) # !\pro_tmp_st3[1]  & \add~876  & !\m1_tmp_st4[3]~59COUT1_77 )

	.clk(\CLK~combout ),
	.dataa(\pro_tmp_st3[1] ),
	.datab(\add~876 ),
	.datac(\pro_tmp_st3[1] ),
	.datad(vcc),
	.aclr(!\RST_~combout ),
	.aload(gnd),
	.sclr(zero_st3),
	.sload(\par_st4~35 ),
	.ena(vcc),
	.cin(gnd),
	.cin0(\m1_tmp_st4[3]~59 ),
	.cin1(\m1_tmp_st4[3]~59COUT1_77 ),
	.inverta(gnd),
	.regcascin(gnd),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(),
	.regout(\pro_tmp_st4[0] ),
	.cout(),
	.cout0(\pro_tmp_st4[0]~48 ),
	.cout1(\pro_tmp_st4[0]~48COUT1_63 ));
// synopsys translate_off
defparam \pro_tmp_st4[0]~I .operation_mode = "arithmetic";
defparam \pro_tmp_st4[0]~I .synch_mode = "on";
defparam \pro_tmp_st4[0]~I .register_cascade_mode = "off";
defparam \pro_tmp_st4[0]~I .sum_lutc_input = "cin";
defparam \pro_tmp_st4[0]~I .lut_mask = "698E";
defparam \pro_tmp_st4[0]~I .cin0_used = "true";
defparam \pro_tmp_st4[0]~I .cin1_used = "true";
defparam \pro_tmp_st4[0]~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC_X2_Y3_N3
maxii_lcell \pro_reg[4]~I (
// Equation(s):
// \pro_reg[4]  = DFFEAS(GND, GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , \pro_tmp_st4[0] , , , VCC)

	.clk(\CLK~combout ),
	.dataa(vcc),
	.datab(vcc),
	.datac(\pro_tmp_st4[0] ),
	.datad(vcc),
	.aclr(!\RST_~combout ),
	.aload(gnd),
	.sclr(gnd),
	.sload(vcc),
	.ena(vcc),
	.cin(gnd),
	.cin0(gnd),
	.cin1(vcc),
	.inverta(gnd),
	.regcascin(gnd),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(),
	.regout(\pro_reg[4] ),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \pro_reg[4]~I .operation_mode = "normal";
defparam \pro_reg[4]~I .synch_mode = "on";
defparam \pro_reg[4]~I .register_cascade_mode = "off";
defparam \pro_reg[4]~I .sum_lutc_input = "datac";
defparam \pro_reg[4]~I .lut_mask = "0000";
defparam \pro_reg[4]~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC_X3_Y2_N1
maxii_lcell \m2_tmp_st3[2]~I (
// Equation(s):
// \add~877  = m2_tmp_st3[2] $ (!aid_st3 & \m1_tmp_st3[0] )

	.clk(\CLK~combout ),
	.dataa(vcc),
	.datab(aid_st3),
	.datac(\m2_tmp_st2[2] ),
	.datad(\m1_tmp_st3[0] ),
	.aclr(!\RST_~combout ),
	.aload(gnd),
	.sclr(gnd),
	.sload(vcc),
	.ena(vcc),
	.cin(gnd),
	.cin0(gnd),
	.cin1(vcc),
	.inverta(gnd),
	.regcascin(gnd),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(\add~877 ),
	.regout(),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \m2_tmp_st3[2]~I .operation_mode = "normal";
defparam \m2_tmp_st3[2]~I .synch_mode = "on";
defparam \m2_tmp_st3[2]~I .register_cascade_mode = "off";
defparam \m2_tmp_st3[2]~I .sum_lutc_input = "qfbk";
defparam \m2_tmp_st3[2]~I .lut_mask = "C3F0";
defparam \m2_tmp_st3[2]~I .output_mode = "comb_only";
// synopsys translate_on

// atom is at LC_X3_Y2_N2
maxii_lcell \m2_tmp_st2[3]~I (
// Equation(s):
// \add~882  = m2_tmp_st2[3] $ (!aid_st2 & \m1_tmp_st2[0] )
// \m2_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -