FPGA设计读取SD卡中的图片并通过TFT-LCD屏显示输出的Verilog设计Quartus工程源码文件,FPGA型号Cyclone4E系列中的EP4CE10F17C8,Quartus版本18.0。
module top_sd_photo_lcd(
input sys_clk , //系统时钟
input sys_rst_n , //系统复位,低电平有效
//SD卡接口
input sd_miso , //SD卡SPI串行输入数据信号
output sd_clk , //SD卡SPI时钟信号
output sd_cs , //SD卡SPI片选信号
output sd_mosi , //SD卡SPI串行输出数据信号
//SDRAM接口
output sdram_clk , //SDRAM 时钟
output sdram_cke , //SDRAM 时钟有效
output sdram_cs_n , //SDRAM 片选
output sdram_ras_n , //SDRAM 行有效
output sdram_cas_n , //SDRAM 列有效
output sdram_we_n , //SDRAM 写有效
output [1:0] sdram_ba , //SDRAM Bank地址
output [1:0] sdram_dqm , //SDRAM 数据掩码
output [12:0] sdram_addr , //SDRAM 地址
inout [15:0] sdram_data , //SDRAM 数据
//lcd接口
output lcd_hs , //LCD 行同步信号
output lcd_vs , //LCD 场同步信号
output lcd_de , //LCD 数据输入使能
output [15:0] lcd_rgb , //LCD RGB565颜色数据
output lcd_bl , //LCD 背光控制信号
output lcd_rst , //LCD 复位信号
output lcd_pclk //LCD 采样时钟
);
//parameter define
parameter PHOTO_H_PIXEL = 24'd800 ; //设置SDRAM缓存大小
parameter PHOTO_V_PIXEL = 24'd480 ; //设置SDRAM缓存大小
//wire define
wire clk_100m ; //100mhz时钟,SDRAM操作时钟
wire clk_100m_shift ; //100mhz时钟,SDRAM相位偏移时钟
wire clk_50m ;
wire clk_50m_180deg ;
wire clk_33_3m ;
wire rst_n ;
wire locked ;
wire sys_init_done ; //系统初始化