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

📄 booth_pipeline.vo

📁 布思基四乘法器实现,很好用,快来看,希望对大家有所帮助.
💻 VO
📖 第 1 页 / 共 5 页
字号:
	.datac(\m2_reg[1]~52 ),
	.datad(\m1_reg[0] ),
	.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(\always2~0 ),
	.regout(zero_st1),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \zero_st1~I .operation_mode = "normal";
defparam \zero_st1~I .synch_mode = "off";
defparam \zero_st1~I .register_cascade_mode = "off";
defparam \zero_st1~I .sum_lutc_input = "datac";
defparam \zero_st1~I .lut_mask = "F0F1";
defparam \zero_st1~I .output_mode = "reg_and_comb";
// synopsys translate_on

// atom is at LC_X5_Y4_N6
maxii_lcell \m1_tmp_st1[3]~I (
// Equation(s):
// \m1_tmp_st1[3]  = DFFEAS(\m1_reg[0]  & \m2_reg[0] , GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , , , , )

	.clk(\CLK~combout ),
	.dataa(vcc),
	.datab(vcc),
	.datac(\m1_reg[0] ),
	.datad(\m2_reg[0] ),
	.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(\m1_tmp_st1[3] ),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \m1_tmp_st1[3]~I .operation_mode = "normal";
defparam \m1_tmp_st1[3]~I .synch_mode = "off";
defparam \m1_tmp_st1[3]~I .register_cascade_mode = "off";
defparam \m1_tmp_st1[3]~I .sum_lutc_input = "datac";
defparam \m1_tmp_st1[3]~I .lut_mask = "F000";
defparam \m1_tmp_st1[3]~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC_X4_Y3_N4
maxii_lcell \m1_tmp_st2[2]~I (
// Equation(s):
// \m1_tmp_st2[2]  = DFFEAS(!zero_st1 & \m1_tmp_st1[3] , GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , , , , )

	.clk(\CLK~combout ),
	.dataa(vcc),
	.datab(vcc),
	.datac(zero_st1),
	.datad(\m1_tmp_st1[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(\m1_tmp_st2[2] ),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \m1_tmp_st2[2]~I .operation_mode = "normal";
defparam \m1_tmp_st2[2]~I .synch_mode = "off";
defparam \m1_tmp_st2[2]~I .register_cascade_mode = "off";
defparam \m1_tmp_st2[2]~I .sum_lutc_input = "datac";
defparam \m1_tmp_st2[2]~I .lut_mask = "0F00";
defparam \m1_tmp_st2[2]~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC_X4_Y2_N4
maxii_lcell \zero_st2~I (
// Equation(s):
// zero_st2 = DFFEAS(zero_st1, GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , , , , )

	.clk(\CLK~combout ),
	.dataa(vcc),
	.datab(vcc),
	.datac(zero_st1),
	.datad(vcc),
	.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(zero_st2),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \zero_st2~I .operation_mode = "normal";
defparam \zero_st2~I .synch_mode = "off";
defparam \zero_st2~I .register_cascade_mode = "off";
defparam \zero_st2~I .sum_lutc_input = "datac";
defparam \zero_st2~I .lut_mask = "F0F0";
defparam \zero_st2~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC_X4_Y3_N2
maxii_lcell \m1_tmp_st3[1]~I (
// Equation(s):
// \m1_tmp_st3[1]  = DFFEAS(\m1_tmp_st2[2]  & !zero_st2, GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , , , , )

	.clk(\CLK~combout ),
	.dataa(vcc),
	.datab(vcc),
	.datac(\m1_tmp_st2[2] ),
	.datad(zero_st2),
	.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(\m1_tmp_st3[1] ),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \m1_tmp_st3[1]~I .operation_mode = "normal";
defparam \m1_tmp_st3[1]~I .synch_mode = "off";
defparam \m1_tmp_st3[1]~I .register_cascade_mode = "off";
defparam \m1_tmp_st3[1]~I .sum_lutc_input = "datac";
defparam \m1_tmp_st3[1]~I .lut_mask = "00F0";
defparam \m1_tmp_st3[1]~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC_X3_Y2_N7
maxii_lcell \zero_st3~I (
// Equation(s):
// zero_st3 = DFFEAS(zero_st2, GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , , , , )

	.clk(\CLK~combout ),
	.dataa(vcc),
	.datab(vcc),
	.datac(vcc),
	.datad(zero_st2),
	.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(zero_st3),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \zero_st3~I .operation_mode = "normal";
defparam \zero_st3~I .synch_mode = "off";
defparam \zero_st3~I .register_cascade_mode = "off";
defparam \zero_st3~I .sum_lutc_input = "datac";
defparam \zero_st3~I .lut_mask = "FF00";
defparam \zero_st3~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC_X4_Y3_N5
maxii_lcell \m1_tmp_st4[0]~I (
// Equation(s):
// \m1_tmp_st4[0]  = DFFEAS(\m1_tmp_st3[1]  & (!zero_st3), GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , , , , )

	.clk(\CLK~combout ),
	.dataa(vcc),
	.datab(\m1_tmp_st3[1] ),
	.datac(vcc),
	.datad(zero_st3),
	.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(\m1_tmp_st4[0] ),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \m1_tmp_st4[0]~I .operation_mode = "normal";
defparam \m1_tmp_st4[0]~I .synch_mode = "off";
defparam \m1_tmp_st4[0]~I .register_cascade_mode = "off";
defparam \m1_tmp_st4[0]~I .sum_lutc_input = "datac";
defparam \m1_tmp_st4[0]~I .lut_mask = "00CC";
defparam \m1_tmp_st4[0]~I .output_mode = "reg_only";
// synopsys translate_on

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

	.clk(\CLK~combout ),
	.dataa(vcc),
	.datab(vcc),
	.datac(\m1_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[0] ),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \pro_reg[0]~I .operation_mode = "normal";
defparam \pro_reg[0]~I .synch_mode = "on";
defparam \pro_reg[0]~I .register_cascade_mode = "off";
defparam \pro_reg[0]~I .sum_lutc_input = "datac";
defparam \pro_reg[0]~I .lut_mask = "0000";
defparam \pro_reg[0]~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC_X5_Y2_N7
maxii_lcell \pro_tmp_st1[0]~I (
// Equation(s):
// \pro_tmp_st1[0]  = DFFEAS(\m1_reg[0]  & !\always2~0  & (\m2_reg[1]  $ \m2_reg[0] ), GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , , , , )

	.clk(\CLK~combout ),
	.dataa(\m1_reg[0] ),
	.datab(\m2_reg[1] ),
	.datac(\m2_reg[0] ),
	.datad(\always2~0 ),
	.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_tmp_st1[0] ),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \pro_tmp_st1[0]~I .operation_mode = "normal";
defparam \pro_tmp_st1[0]~I .synch_mode = "off";
defparam \pro_tmp_st1[0]~I .register_cascade_mode = "off";
defparam \pro_tmp_st1[0]~I .sum_lutc_input = "datac";
defparam \pro_tmp_st1[0]~I .lut_mask = "0028";
defparam \pro_tmp_st1[0]~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC_X5_Y4_N2
maxii_lcell \m1_tmp_st1[0]~I (
// Equation(s):
// \m1_tmp_st1[0]  = DFFEAS(\m1_reg[1]  & (\m2_reg[1]  # \m2_reg[2]  # \m2_reg[0] ), GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , , , , )

	.clk(\CLK~combout ),
	.dataa(\m1_reg[1] ),
	.datab(\m2_reg[1] ),
	.datac(\m2_reg[2] ),
	.datad(\m2_reg[0] ),
	.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(\m1_tmp_st1[0] ),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \m1_tmp_st1[0]~I .operation_mode = "normal";
defparam \m1_tmp_st1[0]~I .synch_mode = "off";
defparam \m1_tmp_st1[0]~I .register_cascade_mode = "off";
defparam \m1_tmp_st1[0]~I .sum_lutc_input = "datac";
defparam \m1_tmp_st1[0]~I .lut_mask = "AAA8";
defparam \m1_tmp_st1[0]~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC_X5_Y4_N8
maxii_lcell \aid_st1~I (
// Equation(s):
// \par_st2~35  = aid_st1 $ !\m1_tmp_st1[0] 
// aid_st1 = DFFEAS(\par_st2~35 , GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , \m1_reg[0] , , , VCC)

	.clk(\CLK~combout ),
	.dataa(vcc),
	.datab(vcc),
	.datac(\m1_reg[0] ),
	.datad(\m1_tmp_st1[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(\par_st2~35 ),
	.regout(aid_st1),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \aid_st1~I .operation_mode = "normal";
defparam \aid_st1~I .synch_mode = "on";
defparam \aid_st1~I .register_cascade_mode = "off";
defparam \aid_st1~I .sum_lutc_input = "qfbk";
defparam \aid_st1~I .lut_mask = "F00F";
defparam \aid_st1~I .output_mode = "reg_and_comb";
// synopsys translate_on

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

	.clk(\CLK~combout ),
	.dataa(aid_st1),
	.datab(vcc),
	.datac(\m2_reg[0] ),
	.datad(\m1_tmp_st1[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~883 ),
	.regout(\m2_tmp_st1[0] ),
	.cout(),
	.cout0(),
	.cout1());
// synopsys translate_off
defparam \m2_tmp_st1[0]~I .operation_mode = "normal";
defparam \m2_tmp_st1[0]~I .synch_mode = "on";
defparam \m2_tmp_st1[0]~I .register_cascade_mode = "off";
defparam \m2_tmp_st1[0]~I .sum_lutc_input = "qfbk";
defparam \m2_tmp_st1[0]~I .lut_mask = "A5F0";
defparam \m2_tmp_st1[0]~I .output_mode = "reg_and_comb";
// synopsys translate_on

// atom is at LC_X4_Y4_N0
maxii_lcell \m1_tmp_st2[3]~66_I (
// Equation(s):
// \m1_tmp_st2[3]~66COUT0_76  = CARRY(!aid_st1 & \m1_tmp_st1[0] )
// \m1_tmp_st2[3]~66COUT1_77  = CARRY(!aid_st1 & \m1_tmp_st1[0] )

	.clk(gnd),
	.dataa(aid_st1),
	.datab(\m1_tmp_st1[0] ),
	.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_st2[3]~66COUT0_76 ),
	.cout1(\m1_tmp_st2[3]~66COUT1_77 ));
// synopsys translate_off
defparam \m1_tmp_st2[3]~66_I .operation_mode = "arithmetic";
defparam \m1_tmp_st2[3]~66_I .synch_mode = "off";
defparam \m1_tmp_st2[3]~66_I .register_cascade_mode = "off";
defparam \m1_tmp_st2[3]~66_I .sum_lutc_input = "datac";
defparam \m1_tmp_st2[3]~66_I .lut_mask = "0044";
defparam \m1_tmp_st2[3]~66_I .output_mode = "none";
// synopsys translate_on

// atom is at LC_X4_Y4_N1
maxii_lcell \m1_tmp_st2[3]~I (
// Equation(s):
// \m1_tmp_st2[3]  = DFFEAS(\pro_tmp_st1[0]  $ \add~883  $ \m1_tmp_st2[3]~66COUT0_76 , GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , \pro_tmp_st1[0] , , zero_st1, \par_st2~35 )
// \m1_tmp_st2[3]~60  = CARRY(\pro_tmp_st1[0]  & !\add~883  & !\m1_tmp_st2[3]~66COUT0_76  # !\pro_tmp_st1[0]  & (!\m1_tmp_st2[3]~66COUT0_76  # !\add~883 ))
// \m1_tmp_st2[3]~60COUT1_78  = CARRY(\pro_tmp_st1[0]  & !\add~883  & !\m1_tmp_st2[3]~66COUT1_77  # !\pro_tmp_st1[0]  & (!\m1_tmp_st2[3]~66COUT1_77  # !\add~883 ))

	.clk(\CLK~combout ),
	.dataa(\pro_tmp_st1[0] ),
	.datab(\add~883 ),
	.datac(\pro_tmp_st1[0] ),
	.datad(vcc),

⌨️ 快捷键说明

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