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

📄 rs_5_3_codec.vo

📁 学习使用FPGA做一些简单的编码器,RS(5,3)编码就是5个字符中有5-3=2两个校正字
💻 VO
📖 第 1 页 / 共 5 页
字号:

// atom is at LC5_D13
flex10ke_lcell \i~686_I (
// Equation(s):
// \i~686  = !\cntr1_[3]  & \cntr1_[0] 

	.dataa(vcc),
	.datab(vcc),
	.datac(\cntr1_[3] ),
	.datad(\cntr1_[0] ),
	.aclr(gnd),
	.aload(gnd),
	.clk(),
	.cin(gnd),
	.cascin(vcc),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(\i~686 ),
	.regout(),
	.cout(),
	.cascout());
// synopsys translate_off
defparam \i~686_I .operation_mode = "normal";
defparam \i~686_I .packed_mode = "false";
defparam \i~686_I .lut_mask = "0F00";
defparam \i~686_I .clock_enable_mode = "false";
defparam \i~686_I .output_mode = "comb_only";
// synopsys translate_on

// atom is at Pin_126
flex10ke_io \RESET~I (
	.datain(),
	.clk(),
	.ena(vcc),
	.aclr(gnd),
	.oe(gnd),
	.devclrn(devclrn),
	.devpor(devpor),
	.devoe(devoe),
	.dataout(\RESET~dataout ),
	.padio(RESET));
// synopsys translate_off
defparam \RESET~I .operation_mode = "input";
defparam \RESET~I .reg_source_mode = "none";
defparam \RESET~I .feedback_mode = "from_pin";
// synopsys translate_on

// atom is at Pin_55
flex10ke_io \CLK~I (
	.datain(),
	.clk(),
	.ena(vcc),
	.aclr(gnd),
	.oe(gnd),
	.devclrn(devclrn),
	.devpor(devpor),
	.devoe(devoe),
	.dataout(\CLK~dataout ),
	.padio(CLK));
// synopsys translate_off
defparam \CLK~I .operation_mode = "input";
defparam \CLK~I .reg_source_mode = "none";
defparam \CLK~I .feedback_mode = "from_pin";
// synopsys translate_on

// atom is at LC1_D13
flex10ke_lcell \cntr1_[1]~I (
// Equation(s):
// \cntr1_[1]  = DFFEA(\DATA_VALID_IN~dataout  & \cntr1_[1]  & (\cntr1_[2]  # !\i~686 ) # !\DATA_VALID_IN~dataout  & (\i~686  $ \cntr1_[1] ), GLOBAL(\CLK~dataout ), GLOBAL(\RESET~dataout ), , , , )

	.dataa(\i~686 ),
	.datab(\DATA_VALID_IN~dataout ),
	.datac(\cntr1_[1] ),
	.datad(\cntr1_[2] ),
	.aclr(!\RESET~dataout ),
	.aload(gnd),
	.clk(\CLK~dataout ),
	.cin(gnd),
	.cascin(vcc),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(),
	.regout(\cntr1_[1] ),
	.cout(),
	.cascout());
// synopsys translate_off
defparam \cntr1_[1]~I .operation_mode = "normal";
defparam \cntr1_[1]~I .packed_mode = "false";
defparam \cntr1_[1]~I .lut_mask = "D252";
defparam \cntr1_[1]~I .clock_enable_mode = "false";
defparam \cntr1_[1]~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC2_D10
flex10ke_lcell \i~693_I (
// Equation(s):
// \i~693  = \cntr1_[1]  # !\DATA_VALID_IN~dataout  & !\E_D~dataout 

	.dataa(vcc),
	.datab(\DATA_VALID_IN~dataout ),
	.datac(\E_D~dataout ),
	.datad(\cntr1_[1] ),
	.aclr(gnd),
	.aload(gnd),
	.clk(),
	.cin(gnd),
	.cascin(vcc),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(\i~693 ),
	.regout(),
	.cout(),
	.cascout());
// synopsys translate_off
defparam \i~693_I .operation_mode = "normal";
defparam \i~693_I .packed_mode = "false";
defparam \i~693_I .lut_mask = "FF03";
defparam \i~693_I .clock_enable_mode = "false";
defparam \i~693_I .output_mode = "comb_only";
// synopsys translate_on

// atom is at LC7_D5
flex10ke_lcell \i~692_I (
// Equation(s):
// \i~692  = !\cntr1_[3]  & (\cntr1_[0]  $ !\cntr1_[1] )

	.dataa(vcc),
	.datab(\cntr1_[3] ),
	.datac(\cntr1_[0] ),
	.datad(\cntr1_[1] ),
	.aclr(gnd),
	.aload(gnd),
	.clk(),
	.cin(gnd),
	.cascin(vcc),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(\i~692 ),
	.regout(),
	.cout(),
	.cascout());
// synopsys translate_off
defparam \i~692_I .operation_mode = "normal";
defparam \i~692_I .packed_mode = "false";
defparam \i~692_I .lut_mask = "3003";
defparam \i~692_I .clock_enable_mode = "false";
defparam \i~692_I .output_mode = "comb_only";
// synopsys translate_on

// atom is at LC5_D5
flex10ke_lcell \i~691_I (
// Equation(s):
// \i~691  = \cntr1_[3]  # \cntr1_[0]  & (\DATA_VALID_IN~dataout  # !\cntr1_[1] ) # !\cntr1_[0]  & \cntr1_[1] 

	.dataa(\cntr1_[0] ),
	.datab(\cntr1_[1] ),
	.datac(\DATA_VALID_IN~dataout ),
	.datad(\cntr1_[3] ),
	.aclr(gnd),
	.aload(gnd),
	.clk(),
	.cin(gnd),
	.cascin(vcc),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(\i~691 ),
	.regout(),
	.cout(),
	.cascout());
// synopsys translate_off
defparam \i~691_I .operation_mode = "normal";
defparam \i~691_I .packed_mode = "false";
defparam \i~691_I .lut_mask = "FFE6";
defparam \i~691_I .clock_enable_mode = "false";
defparam \i~691_I .output_mode = "comb_only";
// synopsys translate_on

// atom is at LC6_D5
flex10ke_lcell \cntr1_[2]~I (
// Equation(s):
// \cntr1_[2]  = DFFEA(\cntr1_[2]  & \i~691  # !\cntr1_[2]  & \i~693  & \i~692 , GLOBAL(\CLK~dataout ), GLOBAL(\RESET~dataout ), , , , )

	.dataa(\cntr1_[2] ),
	.datab(\i~693 ),
	.datac(\i~692 ),
	.datad(\i~691 ),
	.aclr(!\RESET~dataout ),
	.aload(gnd),
	.clk(\CLK~dataout ),
	.cin(gnd),
	.cascin(vcc),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(),
	.regout(\cntr1_[2] ),
	.cout(),
	.cascout());
// synopsys translate_off
defparam \cntr1_[2]~I .operation_mode = "normal";
defparam \cntr1_[2]~I .packed_mode = "false";
defparam \cntr1_[2]~I .lut_mask = "EA40";
defparam \cntr1_[2]~I .clock_enable_mode = "false";
defparam \cntr1_[2]~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC3_D5
flex10ke_lcell \i~689_I (
// Equation(s):
// \i~689  = !\cntr1_[0]  & !\cntr1_[3]  & (\cntr1_[1]  # !\cntr1_[2] )

	.dataa(\cntr1_[0] ),
	.datab(\cntr1_[3] ),
	.datac(\cntr1_[2] ),
	.datad(\cntr1_[1] ),
	.aclr(gnd),
	.aload(gnd),
	.clk(),
	.cin(gnd),
	.cascin(vcc),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(\i~689 ),
	.regout(),
	.cout(),
	.cascout());
// synopsys translate_off
defparam \i~689_I .operation_mode = "normal";
defparam \i~689_I .packed_mode = "false";
defparam \i~689_I .lut_mask = "1101";
defparam \i~689_I .clock_enable_mode = "false";
defparam \i~689_I .output_mode = "comb_only";
// synopsys translate_on

// atom is at LC1_D5
flex10ke_lcell \i~688_I (
// Equation(s):
// \i~688  = \cntr1_[3]  # \DATA_VALID_IN~dataout  & (\cntr1_[2]  # !\cntr1_[1] )

	.dataa(\cntr1_[1] ),
	.datab(\cntr1_[2] ),
	.datac(\DATA_VALID_IN~dataout ),
	.datad(\cntr1_[3] ),
	.aclr(gnd),
	.aload(gnd),
	.clk(),
	.cin(gnd),
	.cascin(vcc),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(\i~688 ),
	.regout(),
	.cout(),
	.cascout());
// synopsys translate_off
defparam \i~688_I .operation_mode = "normal";
defparam \i~688_I .packed_mode = "false";
defparam \i~688_I .lut_mask = "FFD0";
defparam \i~688_I .clock_enable_mode = "false";
defparam \i~688_I .output_mode = "comb_only";
// synopsys translate_on

// atom is at LC2_D5
flex10ke_lcell \cntr1_[0]~I (
// Equation(s):
// \cntr1_[0]  = DFFEA(\DATA_VALID_IN~dataout  & \i~688  & \cntr1_[0]  # !\DATA_VALID_IN~dataout  & (\i~689  # \i~688  & \cntr1_[0] ), GLOBAL(\CLK~dataout ), GLOBAL(\RESET~dataout ), , , , )

	.dataa(\DATA_VALID_IN~dataout ),
	.datab(\i~689 ),
	.datac(\i~688 ),
	.datad(\cntr1_[0] ),
	.aclr(!\RESET~dataout ),
	.aload(gnd),
	.clk(\CLK~dataout ),
	.cin(gnd),
	.cascin(vcc),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(),
	.regout(\cntr1_[0] ),
	.cout(),
	.cascout());
// synopsys translate_off
defparam \cntr1_[0]~I .operation_mode = "normal";
defparam \cntr1_[0]~I .packed_mode = "false";
defparam \cntr1_[0]~I .lut_mask = "F444";
defparam \cntr1_[0]~I .clock_enable_mode = "false";
defparam \cntr1_[0]~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC7_D13
flex10ke_lcell \i~698_I (
// Equation(s):
// \i~698  = !\cntr1_[0]  & !\cntr1_[1]  & !\cntr1_[2]  # !\cntr1_[3] 

	.dataa(\cntr1_[3] ),
	.datab(\cntr1_[0] ),
	.datac(\cntr1_[1] ),
	.datad(\cntr1_[2] ),
	.aclr(gnd),
	.aload(gnd),
	.clk(),
	.cin(gnd),
	.cascin(vcc),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(),
	.regout(),
	.cout(),
	.cascout(\i~698 ));
// synopsys translate_off
defparam \i~698_I .operation_mode = "normal";
defparam \i~698_I .packed_mode = "false";
defparam \i~698_I .lut_mask = "5557";
defparam \i~698_I .clock_enable_mode = "false";
defparam \i~698_I .output_mode = "none";
// synopsys translate_on

// atom is at LC8_D13
flex10ke_lcell \i~700_I (
// Equation(s):
// \i~700  = (\DATA_VALID_IN~dataout  # !\cntr1_[2]  # !\cntr1_[1]  # !\cntr1_[0] ) & CASCADE(\i~698 )

	.dataa(\cntr1_[0] ),
	.datab(\cntr1_[1] ),
	.datac(\cntr1_[2] ),
	.datad(\DATA_VALID_IN~dataout ),
	.aclr(gnd),
	.aload(gnd),
	.clk(),
	.cin(gnd),
	.cascin(\i~698 ),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(\i~700 ),
	.regout(),
	.cout(),
	.cascout());
// synopsys translate_off
defparam \i~700_I .operation_mode = "normal";
defparam \i~700_I .packed_mode = "false";
defparam \i~700_I .lut_mask = "FF7F";
defparam \i~700_I .clock_enable_mode = "false";
defparam \i~700_I .output_mode = "comb_only";
// synopsys translate_on

// atom is at LC6_D13
flex10ke_lcell \cntr1_[3]~I (
// Equation(s):
// \cntr1_[3]  = DFFEA(!\i~700 , GLOBAL(\CLK~dataout ), GLOBAL(\RESET~dataout ), , , , )

	.dataa(vcc),
	.datab(vcc),
	.datac(vcc),
	.datad(\i~700 ),
	.aclr(!\RESET~dataout ),
	.aload(gnd),
	.clk(\CLK~dataout ),
	.cin(gnd),
	.cascin(vcc),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(),
	.regout(\cntr1_[3] ),
	.cout(),
	.cascout());
// synopsys translate_off
defparam \cntr1_[3]~I .operation_mode = "normal";
defparam \cntr1_[3]~I .packed_mode = "false";
defparam \cntr1_[3]~I .lut_mask = "00FF";
defparam \cntr1_[3]~I .clock_enable_mode = "false";
defparam \cntr1_[3]~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC4_D5
flex10ke_lcell \i124~44_I (
// Equation(s):
// \i124~44  = !\cntr1_[3]  & (\cntr1_[2]  & !\cntr1_[1]  & !\cntr1_[0]  # !\cntr1_[2]  & \cntr1_[1]  & \cntr1_[0] )

	.dataa(\cntr1_[3] ),
	.datab(\cntr1_[2] ),
	.datac(\cntr1_[1] ),
	.datad(\cntr1_[0] ),
	.aclr(gnd),
	.aload(gnd),
	.clk(),
	.cin(gnd),
	.cascin(vcc),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(\i124~44 ),
	.regout(),
	.cout(),
	.cascout());
// synopsys translate_off
defparam \i124~44_I .operation_mode = "normal";
defparam \i124~44_I .packed_mode = "false";
defparam \i124~44_I .lut_mask = "1004";
defparam \i124~44_I .clock_enable_mode = "false";
defparam \i124~44_I .output_mode = "comb_only";
// synopsys translate_on

// atom is at LC7_C18
flex10ke_lcell \cntr2_[1]~I (
// Equation(s):
// \cntr2_[1]  = DFFEA(\cntr2_[0]  $ \cntr2_[1] , GLOBAL(\CLK~dataout ), GLOBAL(\RESET~dataout ), , , , )

	.dataa(vcc),
	.datab(vcc),
	.datac(\cntr2_[0] ),
	.datad(\cntr2_[1] ),
	.aclr(!\RESET~dataout ),
	.aload(gnd),
	.clk(\CLK~dataout ),
	.cin(gnd),
	.cascin(vcc),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(),
	.regout(\cntr2_[1] ),
	.cout(),
	.cascout());
// synopsys translate_off
defparam \cntr2_[1]~I .operation_mode = "normal";
defparam \cntr2_[1]~I .packed_mode = "false";
defparam \cntr2_[1]~I .lut_mask = "0FF0";
defparam \cntr2_[1]~I .clock_enable_mode = "false";
defparam \cntr2_[1]~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC1_C18
flex10ke_lcell \cntr2_[2]~I (
// Equation(s):
// \cntr2_[2]  = DFFEA(\cntr2_[0]  & (\cntr2_[1]  $ \cntr2_[2] ) # !\cntr2_[0]  & \cntr2_[1]  & \cntr2_[2] , GLOBAL(\CLK~dataout ), GLOBAL(\RESET~dataout ), , , , )

	.dataa(vcc),
	.datab(\cntr2_[0] ),
	.datac(\cntr2_[1] ),
	.datad(\cntr2_[2] ),
	.aclr(!\RESET~dataout ),
	.aload(gnd),
	.clk(\CLK~dataout ),
	.cin(gnd),
	.cascin(vcc),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(),
	.regout(\cntr2_[2] ),
	.cout(),
	.cascout());
// synopsys translate_off
defparam \cntr2_[2]~I .operation_mode = "normal";
defparam \cntr2_[2]~I .packed_mode = "false";
defparam \cntr2_[2]~I .lut_mask = "3CC0";
defparam \cntr2_[2]~I .clock_enable_mode = "false";
defparam \cntr2_[2]~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC8_D5
flex10ke_lcell \cntr2_en~I (
// Equation(s):
// cntr2_en = DFFEA(\cntr1_[3]  & !\cntr1_[0]  & !\cntr1_[1]  & !\cntr1_[2] , GLOBAL(\CLK~dataout ), GLOBAL(\RESET~dataout ), , , , )

	.dataa(\cntr1_[3] ),
	.datab(\cntr1_[0] ),
	.datac(\cntr1_[1] ),
	.datad(\cntr1_[2] ),
	.aclr(!\RESET~dataout ),
	.aload(gnd),
	.clk(\CLK~dataout ),
	.cin(gnd),
	.cascin(vcc),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(),
	.regout(cntr2_en),
	.cout(),
	.cascout());
// synopsys translate_off
defparam \cntr2_en~I .operation_mode = "normal";
defparam \cntr2_en~I .packed_mode = "false";
defparam \cntr2_en~I .lut_mask = "0002";
defparam \cntr2_en~I .clock_enable_mode = "false";
defparam \cntr2_en~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC2_C18
flex10ke_lcell \cntr2_[0]~I (
// Equation(s):
// \cntr2_[0]  = DFFEA(!\cntr2_[0]  & (\cntr2_[1]  # !\cntr2_[2]  & cntr2_en), GLOBAL(\CLK~dataout ), GLOBAL(\RESET~dataout ), , , , )

	.dataa(\cntr2_[0] ),
	.datab(\cntr2_[2] ),
	.datac(cntr2_en),
	.datad(\cntr2_[1] ),
	.aclr(!\RESET~dataout ),
	.aload(gnd),
	.clk(\CLK~dataout ),
	.cin(gnd),
	.cascin(vcc),
	.devclrn(devclrn),
	.devpor(devpor),
	.combout(),
	.regout(\cntr2_[0] ),
	.cout(),
	.cascout());
// synopsys translate_off
defparam \cntr2_[0]~I .operation_mode = "normal";
defparam \cntr2_[0]~I .packed_mode = "false";
defparam \cntr2_[0]~I .lut_mask = "5510";
defparam \cntr2_[0]~I .clock_enable_mode = "false";
defparam \cntr2_[0]~I .output_mode = "reg_only";
// synopsys translate_on

// atom is at LC3_C18

⌨️ 快捷键说明

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