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

📄 booth_pipeline.vo

📁 布思基四乘法器实现,很好用,快来看,希望对大家有所帮助.
💻 VO
📖 第 1 页 / 共 5 页
字号:
// \m1_tmp_st4[2]  = DFFEAS(!zero_st3 & \m1_tmp_st3[3] , GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , , , , )

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

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

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

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

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

// atom is at PIN_3
maxii_io \M2[3]~I (
	.datain(gnd),
	.oe(gnd),
	.combout(\M2[3]~combout ),
	.padio(M2[3]));
// synopsys translate_off
defparam \M2[3]~I .operation_mode = "input";
// synopsys translate_on

// atom is at LC_X2_Y4_N8
maxii_lcell \m2_reg[3]~I (
// Equation(s):
// \m2_reg[3]  = DFFEAS(\M2[3]~combout , GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , , , , )

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

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

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

// atom is at LC_X4_Y4_N3
maxii_lcell \pro_tmp_st2[1]~I (
// Equation(s):
// \pro_tmp_st2[1]  = DFFEAS(\add~885  $ \pro_tmp_st1[3]  $ \pro_tmp_st2[0]~47 , GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , \pro_tmp_st1[3] , , zero_st1, \par_st2~35 )
// \pro_tmp_st2[1]~51  = CARRY(\add~885  & !\pro_tmp_st1[3]  & !\pro_tmp_st2[0]~47  # !\add~885  & (!\pro_tmp_st2[0]~47  # !\pro_tmp_st1[3] ))
// \pro_tmp_st2[1]~51COUT1_64  = CARRY(\add~885  & !\pro_tmp_st1[3]  & !\pro_tmp_st2[0]~47COUT1_62  # !\add~885  & (!\pro_tmp_st2[0]~47COUT1_62  # !\pro_tmp_st1[3] ))

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

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

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

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

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

// atom is at PIN_58
maxii_io \M1[3]~I (
	.datain(gnd),
	.oe(gnd),
	.combout(\M1[3]~combout ),
	.padio(M1[3]));
// synopsys translate_off
defparam \M1[3]~I .operation_mode = "input";
// synopsys translate_on

// atom is at LC_X7_Y2_N2
maxii_lcell \m1_reg[3]~I (
// Equation(s):
// \m1_reg[3]  = DFFEAS(\M1[3]~combout , GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , , , , )

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

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

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

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

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

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

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

// atom is at LC_X3_Y2_N0
maxii_lcell \aid_st3~I (
// Equation(s):
// \par_st4~35  = aid_st3 $ !\m1_tmp_st3[0] 
// aid_st3 = DFFEAS(\par_st4~35 , GLOBAL(\CLK~combout ), GLOBAL(\RST_~combout ), , , \m1_tmp_st2[0] , , , VCC)

	.clk(\CLK~combout ),
	.dataa(vcc),
	.datab(vcc),
	.datac(\m1_tmp_st2[0] ),
	.datad(\m1_tmp_st3[0] ),
	.aclr(!\RST_~combout ),
	.aload(gnd),
	.sclr(gnd),
	.sload(vcc),
	.ena(vcc),

⌨️ 快捷键说明

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