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

📄 fran_pg.inc

📁 基于fpga的屏幕测试程序
💻 INC
📖 第 1 页 / 共 2 页
字号:


FUNCTION fran_pg (
		clk1, 
		Red_in[9..0], 
		Green_in[9..0], 
		Blue_in[9..0], 
		HSync_in, 
		VSync_in, 
		NBlank_in, 
		Xpander[7..0], 
		Parity_in, 
		DispE_in 
		--HQ_in 
		--IRQ
	)
	
	WITH (
%
		--640 x 480
		HAC_VGA, HSY_VGA, HBP_VGA,     
		VAC_VGA, VSY_VGA, VBP_VGA, 
		HTOT50_VGA, HTOT60_VGA, HTOT75_VGA,
		VTOT50_VGA, VTOT60_VGA, VTOT75_VGA,
		HTOT90_VGA, HTOT100_VGA, HTOT120_VGA,
		VTOT90_VGA, VTOT100_VGA, VTOT120_VGA, 
		HSTA_TABLE_NAME_VGA, HEND_TABLE_NAME_VGA,
		VSTA_TABLE_NAME_VGA, VEND_TABLE_NAME_VGA, 
		VPS_0_VGA, VPS_1_VGA, VPS_2_VGA, VPS_3_VGA,
		HP1_VGA, HP2_VGA, HP3_VGA, 
		VP1_VGA, VP2_VGA, VP3_VGA,
		
		--852 x 480
		HAC_WVGA, HSY_WVGA, HBP_WVGA,   
		VAC_WVGA, VSY_WVGA, VBP_WVGA, 
		HTOT50_WVGA, HTOT60_WVGA, HTOT75_WVGA, 
		VTOT50_WVGA, VTOT60_WVGA, VTOT75_WVGA,
		HTOT90_WVGA, HTOT100_WVGA, HTOT120_WVGA, 
		VTOT90_WVGA, VTOT100_WVGA, VTOT120_WVGA,
		HSTA_TABLE_NAME_WVGA, HEND_TABLE_NAME_WVGA,
		VSTA_TABLE_NAME_WVGA, VEND_TABLE_NAME_WVGA, 
		VPS_0_WVGA, VPS_1_WVGA, VPS_2_WVGA, VPS_3_WVGA,
		HP1_WVGA, HP2_WVGA, HP3_WVGA, 
		VP1_WVGA, VP2_WVGA, VP3_WVGA,
		
		--852 x 512
		HAC_852x512, HSY_852x512, HBP_852x512,   
		VAC_852x512, VSY_852x512, VBP_852x512, 
		HTOT50_852x512, HTOT60_852x512, HTOT75_852x512, 
		VTOT50_852x512, VTOT60_852x512, VTOT75_852x512,
		HTOT90_852x512, HTOT100_852x512, HTOT120_852x512, 
		VTOT90_852x512, VTOT100_852x512, VTOT120_852x512,		
		HSTA_TABLE_NAME_852x512, HEND_TABLE_NAME_852x512,
		VSTA_TABLE_NAME_852x512, VEND_TABLE_NAME_852x512, 
		VPS_0_852x512, VPS_1_852x512, VPS_2_852x512, VPS_3_852x512,
		HP1_852x512, HP2_852x512, HP3_852x512, 
		VP1_852x512, VP2_852x512, VP3_852x512,
%		
		--800 x 600
		HAC_SVGA, HSY_SVGA, HBP_SVGA, 
		VAC_SVGA, VSY_SVGA, VBP_SVGA, 
		HTOT50_SVGA, HTOT60_SVGA, HTOT75_SVGA,
		VTOT50_SVGA, VTOT60_SVGA, VTOT75_SVGA,	
		HTOT90_SVGA, HTOT100_SVGA, HTOT120_SVGA,
		VTOT90_SVGA, VTOT100_SVGA, VTOT120_SVGA,			 
		HSTA_TABLE_NAME_SVGA, HEND_TABLE_NAME_SVGA,
		VSTA_TABLE_NAME_SVGA, VEND_TABLE_NAME_SVGA, 
		VPS_0_SVGA, VPS_1_SVGA, VPS_2_SVGA, VPS_3_SVGA,
		HP1_SVGA, HP2_SVGA, HP3_SVGA, 
		VP1_SVGA, VP2_SVGA, VP3_SVGA,
%		
		--1024 x 512
		HAC_1024x512, HSY_1024x512, HBP_1024x512, 
		VAC_1024x512, VSY_1024x512, VBP_1024x512, 
		HTOT50_1024x512, HTOT60_1024x512, HTOT75_1024x512,
		VTOT50_1024x512, VTOT60_1024x512, VTOT75_1024x512,
		HTOT90_1024x512, HTOT100_1024x512, HTOT120_1024x512,
		VTOT90_1024x512, VTOT100_1024x512, VTOT120_1024x512,		 
		HSTA_TABLE_NAME_1024x512, HEND_TABLE_NAME_1024x512,
		VSTA_TABLE_NAME_1024x512, VEND_TABLE_NAME_1024x512, 
		VPS_0_1024x512, VPS_1_1024x512, VPS_2_1024x512, VPS_3_1024x512,
		HP1_1024x512, HP2_1024x512, HP3_1024x512, 
		VP1_1024x512, VP2_1024x512, VP3_1024x512,
%		
		--** 1024 x 768
		HAC_XGA, HSY_XGA, HBP_XGA,
		VAC_XGA, VSY_XGA, VBP_XGA, 
		HTOT50_XGA, HTOT60_XGA, HTOT75_XGA,
		VTOT50_XGA, VTOT60_XGA, VTOT75_XGA,  
		HTOT90_XGA, HTOT100_XGA, HTOT120_XGA,
		VTOT90_XGA, VTOT100_XGA, VTOT120_XGA,    
		HSTA_TABLE_NAME_XGA, HEND_TABLE_NAME_XGA,
		VSTA_TABLE_NAME_XGA, VEND_TABLE_NAME_XGA, 
		VPS_0_XGA, VPS_1_XGA, VPS_2_XGA, VPS_3_XGA,
		HP1_XGA, HP2_XGA, HP3_XGA, 
		VP1_XGA, VP2_XGA, VP3_XGA,
		
		--** 1024 x 768, 42 inch PDP
		HAC_XGA_pdp, HSY_XGA_pdp, HBP_XGA_pdp,
		VAC_XGA_pdp, VSY_XGA_pdp, VBP_XGA_pdp, 
		HTOT50_XGA_pdp, HTOT60_XGA_pdp, HTOT75_XGA_pdp,
		VTOT50_XGA_pdp, VTOT60_XGA_pdp, VTOT75_XGA_pdp,  
		HTOT90_XGA_pdp, HTOT100_XGA_pdp, HTOT120_XGA_pdp,
		VTOT90_XGA_pdp, VTOT100_XGA_pdp, VTOT120_XGA_pdp,    
		HSTA_TABLE_NAME_XGA_pdp, HEND_TABLE_NAME_XGA_pdp,
		VSTA_TABLE_NAME_XGA_pdp, VEND_TABLE_NAME_XGA_pdp, 
		VPS_0_XGA_pdp, VPS_1_XGA_pdp, VPS_2_XGA_pdp, VPS_3_XGA_pdp,
		HP1_XGA_pdp, HP2_XGA_pdp, HP3_XGA_pdp, 
		VP1_XGA_pdp, VP2_XGA_pdp, VP3_XGA_pdp,
		
		--** 1280 x 768
		HAC_WXGA, HSY_WXGA, HBP_WXGA,   
		VAC_WXGA, VSY_WXGA, VBP_WXGA, 
		HTOT50_WXGA, HTOT60_WXGA, HTOT75_WXGA,
		VTOT50_WXGA, VTOT60_WXGA, VTOT75_WXGA,
		HTOT90_WXGA, HTOT100_WXGA, HTOT120_WXGA,
		VTOT90_WXGA, VTOT100_WXGA, VTOT120_WXGA, 
		HSTA_TABLE_NAME_WXGA, HEND_TABLE_NAME_WXGA,
		VSTA_TABLE_NAME_WXGA, VEND_TABLE_NAME_WXGA, 
		VPS_0_WXGA, VPS_1_WXGA, VPS_2_WXGA, VPS_3_WXGA,
		HP1_WXGA, HP2_WXGA, HP3_WXGA, 
		VP1_WXGA, VP2_WXGA, VP3_WXGA,
		
		--** 1280 x 1024
		HAC_SXGA, HSY_SXGA, HBP_SXGA,     
		VAC_SXGA, VSY_SXGA, VBP_SXGA, 
		HTOT50_SXGA, HTOT60_SXGA, HTOT75_SXGA,
		VTOT50_SXGA, VTOT60_SXGA, VTOT75_SXGA,
		HTOT90_SXGA, HTOT100_SXGA, HTOT120_SXGA,
		VTOT90_SXGA, VTOT100_SXGA, VTOT120_SXGA, 
		HSTA_TABLE_NAME_SXGA, HEND_TABLE_NAME_SXGA,
		VSTA_TABLE_NAME_SXGA, VEND_TABLE_NAME_SXGA, 
		VPS_0_SXGA, VPS_1_SXGA, VPS_2_SXGA, VPS_3_SXGA,
		HP1_SXGA, HP2_SXGA, HP3_SXGA, 
		VP1_SXGA, VP2_SXGA, VP3_SXGA,
		
		--** 1368 x 768
		HAC_1368x768, HSY_1368x768, HBP_1368x768, 
		VAC_1368x768, VSY_1368x768, VBP_1368x768, 
		HTOT50_1368x768, HTOT60_1368x768, HTOT75_1368x768,
		VTOT50_1368x768, VTOT60_1368x768, VTOT75_1368x768, 
		HTOT90_1368x768, HTOT100_1368x768, HTOT120_1368x768,
		VTOT90_1368x768, VTOT100_1368x768, VTOT120_1368x768, 
		HSTA_TABLE_NAME_1368x768, HEND_TABLE_NAME_1368x768,
		VSTA_TABLE_NAME_1368x768, VEND_TABLE_NAME_1368x768, 
		VPS_0_1368x768, VPS_1_1368x768, VPS_2_1368x768, VPS_3_1368x768,
		HP1_1368x768, HP2_1368x768, HP3_1368x768, 
		VP1_1368x768, VP2_1368x768, VP3_1368x768,
		
		--1600 x 1200
		HAC_UXGA, HSY_UXGA, HBP_UXGA,     
		VAC_UXGA, VSY_UXGA, VBP_UXGA, 
		HTOT50_UXGA, HTOT60_UXGA, HTOT75_UXGA,
		VTOT50_UXGA, VTOT60_UXGA, VTOT75_UXGA,
		HTOT90_UXGA, HTOT100_UXGA, HTOT120_UXGA,
		VTOT90_UXGA, VTOT100_UXGA, VTOT120_UXGA,  
		HSTA_TABLE_NAME_UXGA, HEND_TABLE_NAME_UXGA,
		VSTA_TABLE_NAME_UXGA, VEND_TABLE_NAME_UXGA, 
		VPS_0_UXGA, VPS_1_UXGA, VPS_2_UXGA, VPS_3_UXGA,
		HP1_UXGA, HP2_UXGA, HP3_UXGA, 
		VP1_UXGA, VP2_UXGA, VP3_UXGA,
%		
		--1920 x 1080
		HAC_WUXGA, HSY_WUXGA, HBP_WUXGA,     
		VAC_WUXGA, VSY_WUXGA, VBP_WUXGA, 
		HTOT50_WUXGA, HTOT60_WUXGA, HTOT75_WUXGA,
		VTOT50_WUXGA, VTOT60_WUXGA, VTOT75_WUXGA,
		HTOT90_WUXGA, HTOT100_WUXGA, HTOT120_WUXGA,
		VTOT90_WUXGA, VTOT100_WUXGA, VTOT120_WUXGA,  
		HSTA_TABLE_NAME_WUXGA, HEND_TABLE_NAME_WUXGA,
		VSTA_TABLE_NAME_WUXGA, VEND_TABLE_NAME_WUXGA, 
		VPS_0_WUXGA, VPS_1_WUXGA, VPS_2_WUXGA, VPS_3_WUXGA,
		HP1_WUXGA, HP2_WUXGA, HP3_WUXGA, 
		VP1_WUXGA, VP2_WUXGA, VP3_WUXGA,
%		
		I2CBit,
		DUMMY
	)
	
	RETURNS (
		lcd_pdp_sel,
		Red_out[9..0], 
		Green_out[9..0], 
		Blue_out[9..0], 
		HSync_out, 
		VSync_out, 
		NBlank_out,
		DE_out, 
		CPUGO, 
		PDPGO, 
		PWDN,
		Trigger_out,
		parity_out
	);
	

PARAMETERS	
(

---------------------------------------------------------------------------------
--- VGA, 640x480 , 40MHz clock --------------------------------------------------
---------------------------------------------------------------------------------
%	HAC_VGA = 640,    -- horizontal active pixels
	HSY_VGA = 19,     -- horizontal sync width (negative polarity)
	HBP_VGA = 27,     -- horizontal back porch
	
	HTOT50_VGA = 1035,
	HTOT60_VGA = 1035,
	HTOT75_VGA = 1035,
	HTOT90_VGA = 517,
	HTOT100_VGA = 517,
	HTOT120_VGA = 517,
	
	VAC_VGA = 480,    -- vertical active pixels
	VSY_VGA = 1,      -- vertical sync width (negative polarity)
	VBP_VGA = 13,     -- vertical back porch
	
	VTOT50_VGA = 773, 
	VTOT60_VGA = 644, 
	VTOT75_VGA = 515,
	VTOT90_VGA = 860,
	VTOT100_VGA = 773,
	VTOT120_VGA = 644, 
	
	HSTA_TABLE_NAME_VGA = "sta_640.mif",
	HEND_TABLE_NAME_VGA = "end_640.mif",
	VSTA_TABLE_NAME_VGA = "sta_480.mif",
	VEND_TABLE_NAME_VGA = "end_480.mif",

	VPS_0_VGA = 0,    -- vertical start rgbramps
	VPS_1_VGA = 120,
	VPS_2_VGA = 240,
	VPS_3_VGA = 360,
	
	HP1_VGA=1024+(HAC_VGA DIV 3), 
	HP2_VGA=0,
	HP3_VGA=HAC_VGA DIV 3,
	VP1_VGA=1024+(VAC_VGA DIV 3), 
	VP2_VGA=0,
	VP3_VGA=VAC_VGA DIV 3,
%	
----------------------------------------------------------------------------------
--- WVGA , 852x480 , 40MHz clock -------------------------------------------------
---------------------------------------------------------------------------------- 
%	HAC_WVGA = 852,    
	HSY_WVGA = 19,     
	HBP_WVGA = 27,     
	
	HTOT50_WVGA = 1035,
	HTOT60_WVGA = 1035,
	HTOT75_WVGA = 970,
	HTOT90_WVGA = 556,
	HTOT100_WVGA = 517,
	HTOT120_WVGA = 517,
	
	VAC_WVGA = 480,    
	VSY_WVGA = 1,      
	VBP_WVGA = 13,     
	
	VTOT50_WVGA = 773, 
	VTOT60_WVGA = 644,
	VTOT75_WVGA = 550,
	VTOT90_WVGA = 800,
	VTOT100_WVGA = 773,
	VTOT120_WVGA = 644, 

	HSTA_TABLE_NAME_WVGA = "sta_852.mif",
	HEND_TABLE_NAME_WVGA = "end_852.mif",
	VSTA_TABLE_NAME_WVGA = "sta_480.mif",
	VEND_TABLE_NAME_WVGA = "end_480.mif",

	VPS_0_WVGA = 0,    
	VPS_1_WVGA = 120,
	VPS_2_WVGA = 240,
	VPS_3_WVGA = 360,
	
	HP1_WVGA=1024+(HAC_WVGA DIV 3), 
	HP2_WVGA=0,
	HP3_WVGA=HAC_WVGA DIV 3,
	VP1_WVGA=1024+(VAC_WVGA DIV 3), 
	VP2_WVGA=0,
	VP3_WVGA=VAC_WVGA DIV 3,
%
%
--------------------------------------------------------------------------------
--- WVGA , 852x480 , 33MHz clock -----------------------------------------------
--------------------------------------------------------------------------------
	HAC = 852,   
	HFP = 137,    
	HSY = 19,     
	HBP = 27,     
	VTOT = HAC + HFP + HSY + HBP, -- 1035

	VAC = 480,    
	VSY = 1,      
	VBP = 13,     
	HTOT50 = 638, 
	HTOT60 = 531, 
	HSTA_TABLE_NAME = "sta_852.mif",
	HEND_TABLE_NAME = "end_852.mif",
	VSTA_TABLE_NAME = "sta_480.mif",
	VEND_TABLE_NAME = "end_480.mif",

	VPS_0 = 0,    
	VPS_1 = 120,
	VPS_2 = 240,
	VPS_3 = 360,

%
	
-----------------------------------------------------------------------------------
--- 32 inch ALiS , 852x512 , 42MHz clock ------------------------------------------
-----------------------------------------------------------------------------------
%	HAC_852x512 = 852,    
	HSY_852x512 = 28,     
	HBP_852x512 = 59,    -- 939 
	
	HTOT50_852x512 = 1235,
	HTOT60_852x512 = 1178,
	HTOT75_852x512 = 1000,
	HTOT90_852x512 = 622,
	HTOT100_852x512 = 617,
	HTOT120_852x512 = 589,
		
	VAC_852x512 = 512,    
	VSY_852x512 = 2,      
	VBP_852x512 = 23,   -- 537  
	
	VTOT50_852x512 = 680, 
	VTOT60_852x512 = 594, 
	VTOT75_852x512 = 560,
	VTOT90_852x512 = 750,
	VTOT100_852x512 = 680,
	VTOT120_852x512 = 594,
	
	HSTA_TABLE_NAME_852x512 = "sta_852.mif",
	HEND_TABLE_NAME_852x512 = "end_852.mif",
	VSTA_TABLE_NAME_852x512 = "sta_512.mif",
	VEND_TABLE_NAME_852x512 = "end_512.mif",
	
	VPS_0_852x512 = 0,    
	VPS_1_852x512 = 128,
	VPS_2_852x512 = 256,
	VPS_3_852x512 = 384,
	
	HP1_852x512=1024+(HAC_852x512 DIV 3), 
	HP2_852x512=0,
	HP3_852x512=HAC_852x512 DIV 3,
	VP1_852x512=1024+(VAC_852x512 DIV 3), 
	VP2_852x512=0,
	VP3_852x512=VAC_852x512 DIV 3,
%	
------------------------------------------------------------------------------
--- SVGA, 800x600 , 50MHz clock ----------------------------------------------
------------------------------------------------------------------------------
	HAC_SVGA = 800,    
	HSY_SVGA = 128,     
	HBP_SVGA = 70,     
	
	VTOT50_SVGA = 1020,
	VTOT60_SVGA = 1020,
	VTOT75_SVGA = 1020,
	VTOT90_SVGA = 545,
	VTOT100_SVGA = 510,
	VTOT120_SVGA = 510,

	VAC_SVGA = 600,    
	VSY_SVGA = 16,      
	VBP_SVGA = 16,     
	
	HTOT50_SVGA = 980, 
	HTOT60_SVGA = 817, 
	HTOT75_SVGA = 648, 
	HTOT90_SVGA = 1020,
	HTOT100_SVGA = 980,
	HTOT120_SVGA = 817,

	HSTA_TABLE_NAME_SVGA = "sta_800.mif",
	HEND_TABLE_NAME_SVGA = "end_800.mif",
	VSTA_TABLE_NAME_SVGA = "sta_600.mif",

⌨️ 快捷键说明

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