mirror of
				https://github.com/marqs85/ossc
				synced 2025-10-30 23:46:02 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			216 lines
		
	
	
		
			9.0 KiB
		
	
	
	
		
			Verilog
		
	
	
	
	
	
			
		
		
	
	
			216 lines
		
	
	
		
			9.0 KiB
		
	
	
	
		
			Verilog
		
	
	
	
	
	
| // megafunction wizard: %RAM: 2-PORT%
 | |
| // GENERATION: STANDARD
 | |
| // VERSION: WM1.0
 | |
| // MODULE: altsyncram 
 | |
| 
 | |
| // ============================================================
 | |
| // File Name: linebuf.v
 | |
| // Megafunction Name(s):
 | |
| // 			altsyncram
 | |
| //
 | |
| // Simulation Library Files(s):
 | |
| // 			altera_mf
 | |
| // ============================================================
 | |
| // ************************************************************
 | |
| // THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!
 | |
| //
 | |
| // 17.1.0 Build 590 10/25/2017 SJ Lite Edition
 | |
| // ************************************************************
 | |
| 
 | |
| 
 | |
| //Copyright (C) 2017  Intel Corporation. All rights reserved.
 | |
| //Your use of Intel Corporation's design tools, logic functions 
 | |
| //and other software and tools, and its AMPP partner logic 
 | |
| //functions, and any output files from any of the foregoing 
 | |
| //(including device programming or simulation files), and any 
 | |
| //associated documentation or information are expressly subject 
 | |
| //to the terms and conditions of the Intel Program License 
 | |
| //Subscription Agreement, the Intel Quartus Prime License Agreement,
 | |
| //the Intel FPGA IP License Agreement, or other applicable license
 | |
| //agreement, including, without limitation, that your use is for
 | |
| //the sole purpose of programming logic devices manufactured by
 | |
| //Intel and sold by Intel or its authorized distributors.  Please
 | |
| //refer to the applicable agreement for further details.
 | |
| 
 | |
| 
 | |
| // synopsys translate_off
 | |
| `timescale 1 ps / 1 ps
 | |
| // synopsys translate_on
 | |
| module linebuf (
 | |
| 	data,
 | |
| 	rdaddress,
 | |
| 	rdclock,
 | |
| 	wraddress,
 | |
| 	wrclock,
 | |
| 	wren,
 | |
| 	q);
 | |
| 
 | |
| 	input	[23:0]  data;
 | |
| 	input	[11:0]  rdaddress;
 | |
| 	input	  rdclock;
 | |
| 	input	[11:0]  wraddress;
 | |
| 	input	  wrclock;
 | |
| 	input	  wren;
 | |
| 	output	[23:0]  q;
 | |
| `ifndef ALTERA_RESERVED_QIS
 | |
| // synopsys translate_off
 | |
| `endif
 | |
| 	tri1	  wrclock;
 | |
| 	tri0	  wren;
 | |
| `ifndef ALTERA_RESERVED_QIS
 | |
| // synopsys translate_on
 | |
| `endif
 | |
| 
 | |
| 	wire [23:0] sub_wire0;
 | |
| 	wire [23:0] q = sub_wire0[23:0];
 | |
| 
 | |
| 	altsyncram	altsyncram_component (
 | |
| 				.address_a (wraddress),
 | |
| 				.address_b (rdaddress),
 | |
| 				.clock0 (wrclock),
 | |
| 				.clock1 (rdclock),
 | |
| 				.data_a (data),
 | |
| 				.wren_a (wren),
 | |
| 				.q_b (sub_wire0),
 | |
| 				.aclr0 (1'b0),
 | |
| 				.aclr1 (1'b0),
 | |
| 				.addressstall_a (1'b0),
 | |
| 				.addressstall_b (1'b0),
 | |
| 				.byteena_a (1'b1),
 | |
| 				.byteena_b (1'b1),
 | |
| 				.clocken0 (1'b1),
 | |
| 				.clocken1 (1'b1),
 | |
| 				.clocken2 (1'b1),
 | |
| 				.clocken3 (1'b1),
 | |
| 				.data_b ({24{1'b1}}),
 | |
| 				.eccstatus (),
 | |
| 				.q_a (),
 | |
| 				.rden_a (1'b1),
 | |
| 				.rden_b (1'b1),
 | |
| 				.wren_b (1'b0));
 | |
| 	defparam
 | |
| 		altsyncram_component.address_aclr_b = "NONE",
 | |
| 		altsyncram_component.address_reg_b = "CLOCK1",
 | |
| 		altsyncram_component.clock_enable_input_a = "BYPASS",
 | |
| 		altsyncram_component.clock_enable_input_b = "BYPASS",
 | |
| 		altsyncram_component.clock_enable_output_b = "BYPASS",
 | |
| 		altsyncram_component.intended_device_family = "Cyclone IV E",
 | |
| 		altsyncram_component.lpm_type = "altsyncram",
 | |
| 		altsyncram_component.numwords_a = 4096,
 | |
| 		altsyncram_component.numwords_b = 4096,
 | |
| 		altsyncram_component.operation_mode = "DUAL_PORT",
 | |
| 		altsyncram_component.outdata_aclr_b = "NONE",
 | |
| 		altsyncram_component.outdata_reg_b = "CLOCK1",
 | |
| 		altsyncram_component.power_up_uninitialized = "FALSE",
 | |
| 		altsyncram_component.widthad_a = 12,
 | |
| 		altsyncram_component.widthad_b = 12,
 | |
| 		altsyncram_component.width_a = 24,
 | |
| 		altsyncram_component.width_b = 24,
 | |
| 		altsyncram_component.width_byteena_a = 1;
 | |
| 
 | |
| 
 | |
| endmodule
 | |
| 
 | |
| // ============================================================
 | |
| // CNX file retrieval info
 | |
| // ============================================================
 | |
| // Retrieval info: PRIVATE: ADDRESSSTALL_A NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: ADDRESSSTALL_B NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: BYTEENA_ACLR_A NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: BYTEENA_ACLR_B NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: BYTE_ENABLE_A NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: BYTE_ENABLE_B NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: BYTE_SIZE NUMERIC "8"
 | |
| // Retrieval info: PRIVATE: BlankMemory NUMERIC "1"
 | |
| // Retrieval info: PRIVATE: CLOCK_ENABLE_INPUT_A NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: CLOCK_ENABLE_INPUT_B NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: CLOCK_ENABLE_OUTPUT_A NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: CLOCK_ENABLE_OUTPUT_B NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: CLRdata NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: CLRq NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: CLRrdaddress NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: CLRrren NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: CLRwraddress NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: CLRwren NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: Clock NUMERIC "1"
 | |
| // Retrieval info: PRIVATE: Clock_A NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: Clock_B NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: IMPLEMENT_IN_LES NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: INDATA_ACLR_B NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: INDATA_REG_B NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: INIT_FILE_LAYOUT STRING "PORT_B"
 | |
| // Retrieval info: PRIVATE: INIT_TO_SIM_X NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone IV E"
 | |
| // Retrieval info: PRIVATE: JTAG_ENABLED NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: JTAG_ID STRING "NONE"
 | |
| // Retrieval info: PRIVATE: MAXIMUM_DEPTH NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: MEMSIZE NUMERIC "98304"
 | |
| // Retrieval info: PRIVATE: MEM_IN_BITS NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: MIFfilename STRING ""
 | |
| // Retrieval info: PRIVATE: OPERATION_MODE NUMERIC "2"
 | |
| // Retrieval info: PRIVATE: OUTDATA_ACLR_B NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: OUTDATA_REG_B NUMERIC "1"
 | |
| // Retrieval info: PRIVATE: RAM_BLOCK_TYPE NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: READ_DURING_WRITE_MODE_MIXED_PORTS NUMERIC "2"
 | |
| // Retrieval info: PRIVATE: READ_DURING_WRITE_MODE_PORT_A NUMERIC "3"
 | |
| // Retrieval info: PRIVATE: READ_DURING_WRITE_MODE_PORT_B NUMERIC "3"
 | |
| // Retrieval info: PRIVATE: REGdata NUMERIC "1"
 | |
| // Retrieval info: PRIVATE: REGq NUMERIC "1"
 | |
| // Retrieval info: PRIVATE: REGrdaddress NUMERIC "1"
 | |
| // Retrieval info: PRIVATE: REGrren NUMERIC "1"
 | |
| // Retrieval info: PRIVATE: REGwraddress NUMERIC "1"
 | |
| // Retrieval info: PRIVATE: REGwren NUMERIC "1"
 | |
| // Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0"
 | |
| // Retrieval info: PRIVATE: USE_DIFF_CLKEN NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: UseDPRAM NUMERIC "1"
 | |
| // Retrieval info: PRIVATE: VarWidth NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: WIDTH_READ_A NUMERIC "24"
 | |
| // Retrieval info: PRIVATE: WIDTH_READ_B NUMERIC "24"
 | |
| // Retrieval info: PRIVATE: WIDTH_WRITE_A NUMERIC "24"
 | |
| // Retrieval info: PRIVATE: WIDTH_WRITE_B NUMERIC "24"
 | |
| // Retrieval info: PRIVATE: WRADDR_ACLR_B NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: WRADDR_REG_B NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: WRCTRL_ACLR_B NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: enable NUMERIC "0"
 | |
| // Retrieval info: PRIVATE: rden NUMERIC "0"
 | |
| // Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all
 | |
| // Retrieval info: CONSTANT: ADDRESS_ACLR_B STRING "NONE"
 | |
| // Retrieval info: CONSTANT: ADDRESS_REG_B STRING "CLOCK1"
 | |
| // Retrieval info: CONSTANT: CLOCK_ENABLE_INPUT_A STRING "BYPASS"
 | |
| // Retrieval info: CONSTANT: CLOCK_ENABLE_INPUT_B STRING "BYPASS"
 | |
| // Retrieval info: CONSTANT: CLOCK_ENABLE_OUTPUT_B STRING "BYPASS"
 | |
| // Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone IV E"
 | |
| // Retrieval info: CONSTANT: LPM_TYPE STRING "altsyncram"
 | |
| // Retrieval info: CONSTANT: NUMWORDS_A NUMERIC "4096"
 | |
| // Retrieval info: CONSTANT: NUMWORDS_B NUMERIC "4096"
 | |
| // Retrieval info: CONSTANT: OPERATION_MODE STRING "DUAL_PORT"
 | |
| // Retrieval info: CONSTANT: OUTDATA_ACLR_B STRING "NONE"
 | |
| // Retrieval info: CONSTANT: OUTDATA_REG_B STRING "CLOCK1"
 | |
| // Retrieval info: CONSTANT: POWER_UP_UNINITIALIZED STRING "FALSE"
 | |
| // Retrieval info: CONSTANT: WIDTHAD_A NUMERIC "12"
 | |
| // Retrieval info: CONSTANT: WIDTHAD_B NUMERIC "12"
 | |
| // Retrieval info: CONSTANT: WIDTH_A NUMERIC "24"
 | |
| // Retrieval info: CONSTANT: WIDTH_B NUMERIC "24"
 | |
| // Retrieval info: CONSTANT: WIDTH_BYTEENA_A NUMERIC "1"
 | |
| // Retrieval info: USED_PORT: data 0 0 24 0 INPUT NODEFVAL "data[23..0]"
 | |
| // Retrieval info: USED_PORT: q 0 0 24 0 OUTPUT NODEFVAL "q[23..0]"
 | |
| // Retrieval info: USED_PORT: rdaddress 0 0 12 0 INPUT NODEFVAL "rdaddress[11..0]"
 | |
| // Retrieval info: USED_PORT: rdclock 0 0 0 0 INPUT NODEFVAL "rdclock"
 | |
| // Retrieval info: USED_PORT: wraddress 0 0 12 0 INPUT NODEFVAL "wraddress[11..0]"
 | |
| // Retrieval info: USED_PORT: wrclock 0 0 0 0 INPUT VCC "wrclock"
 | |
| // Retrieval info: USED_PORT: wren 0 0 0 0 INPUT GND "wren"
 | |
| // Retrieval info: CONNECT: @address_a 0 0 12 0 wraddress 0 0 12 0
 | |
| // Retrieval info: CONNECT: @address_b 0 0 12 0 rdaddress 0 0 12 0
 | |
| // Retrieval info: CONNECT: @clock0 0 0 0 0 wrclock 0 0 0 0
 | |
| // Retrieval info: CONNECT: @clock1 0 0 0 0 rdclock 0 0 0 0
 | |
| // Retrieval info: CONNECT: @data_a 0 0 24 0 data 0 0 24 0
 | |
| // Retrieval info: CONNECT: @wren_a 0 0 0 0 wren 0 0 0 0
 | |
| // Retrieval info: CONNECT: q 0 0 24 0 @q_b 0 0 24 0
 | |
| // Retrieval info: GEN_FILE: TYPE_NORMAL linebuf.v TRUE
 | |
| // Retrieval info: GEN_FILE: TYPE_NORMAL linebuf.inc FALSE
 | |
| // Retrieval info: GEN_FILE: TYPE_NORMAL linebuf.cmp FALSE
 | |
| // Retrieval info: GEN_FILE: TYPE_NORMAL linebuf.bsf FALSE
 | |
| // Retrieval info: GEN_FILE: TYPE_NORMAL linebuf_inst.v TRUE
 | |
| // Retrieval info: GEN_FILE: TYPE_NORMAL linebuf_bb.v TRUE
 | |
| // Retrieval info: LIB_FILE: altera_mf
 | 
