vga接口显示FPGA片内ram存储图片Verilog设计逻辑Quartus工程源码文件,图片存储在片内ROM中,并通过VGA在屏幕上显示,FPGA型号Cyclone4E系列中的EP4CE10F17C8,Quartus版本18.0。 module vga_rom_pic( input sys_clk, //系统时钟 input sys_rst_n, //复位信号 //VGA接口 output vga_hs, //行同步信号 output vga_vs, //场同步信号 output [15:0] vga_rgb //红绿蓝三原色输出 ); //wire define wire vga_clk_w; //PLL分频得到25Mhz时钟 wire locked_w; //PLL输出稳定信号 wire rst_n_w; //内部复位信号 wire [15:0] pixel_data_w; //像素点数据 wire [ 9:0] pixel_xpos_w; //像素点横坐标 wire [ 9:0] pixel_ypos_w; //像素点纵坐标 //***************************************************** //** main code //***************************************************** //待PLL输出稳定之后,停止复位 assign rst_n_w = sys_rst_n && locked_w; vga_pll u_vga_pll( //时钟分频模块 .inclk0 (sys_clk), .areset (~sys_rst_n), .c0 (vga_clk_w), //VGA时钟 25M .locked (locked_w) ); vga_driver u_vga_driver( .vga_clk (vga_clk_w), .sys_rst_n (rst_n_w), .vga_hs (vga_hs), .vga_vs (vga_vs), .vga_rgb (vga_rgb), .pixel_data (pixel_data_w), .pixel_xpos (pixel_xpos_w), .pixel_ypos (pixel_ypos_w) ); vga_display u_vga_display( .vga_clk (vga_clk_w), .sys_rst_n (rst_n_w), .pixel_xpos (pixel_xpos_w), .pixel_ypos (pixel_ypos_w), .pixel_data (pixel_data_w) ); endmodule
FPGA设计实现OV5640 摄像头采集数据VGA显示输出Verilog设计逻辑Quartus工程源码文件,FPGA型号Cyclone4E系列中的EP4CE10F17C8,Quartus版本18.0。 module ov5640_rgb565_1024x768_vga( input sys_clk , //系统时钟 input sys_rst_n , //系统复位,低电平有效 //摄像头接口 input cam_pclk , //cmos 数据像素时钟 input cam_vsync , //cmos 场同步信号 input cam_href , //cmos 行同步信号 input [7:0] cam_data , //cmos 数据 output cam_rst_n , //cmos 复位信号,低电平有效 output cam_pwdn , //cmos 电源休眠模式选择信号 output cam_scl , //cmos SCCB_SCL线 inout cam_sda , //cmos SCCB_SDA线 //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 数据 //VGA接口 output vga_hs , //行同步信号 output vga_vs , //场同步信号 output [15:0] vga_rgb //红绿蓝三原色输出 ); //parameter define parameter SLAVE_ADDR = 7'h3c ; //OV5640的器件地址7'h3c parameter BIT_CTRL = 1'b1 ; //OV5640的字节地址为16位 0:8位 1:16位 parameter CLK_FREQ = 26'd65_000_000; //i2c_dri模块的驱动时钟频率 65MHz parameter I2C_FREQ = 18'd250_000 ; //I2C的SCL时钟频率,不超过400KHz parameter CMOS_H_PIXEL = 24'd1024 ; //CMOS水平方向像素个数,用于设置SDRAM缓存大小 parameter CMOS_V_PIXEL = 24'd768 ; //CMOS垂直方向像素个数,用于设置SDRAM缓存大小 //wire define wire clk_100m ; //100mhz时钟,SDRAM操作时钟 wire clk_100m_shift ; //100mhz时
Verilog HDL设计数码管动态扫面显示的FPGA设计Quartus工程文件,FPGA型号Cyclone4E系列中的EP4CE10F17C8,Quartus版本18.0。 module top_seg_led( //global clock input sys_clk , // 全局时钟信号 input sys_rst_n, // 复位信号(低有效) //seg_led interface output [5:0] seg_sel , // 数码管位选信号 output [7:0] seg_led // 数码管段选信号 ); //wire define wire [19:0] data; // 数码管显示的数值 wire [ 5:0] point; // 数码管小数点的位置 wire en; // 数码管显示使能信号 wire sign; // 数码管显示数据的符号位 //***************************************************** //** main code //***************************************************** //计数器模块,产生数码管需要显示的数据 count u_count( .clk (sys_clk ), // 时钟信号 .rst_n (sys_rst_n), // 复位信号 .data (data ), // 6位数码管要显示的数值 .point (point ), // 小数点具体显示的位置,高电平有效 .en (en ), // 数码管使能信号 .sign (sign ) // 符号位 ); //数码管动态显示模块 seg_led u_seg_led( .clk (sys_clk ), // 时钟信号 .rst_n (sys_rst_n), // 复位信号 .data (data ), // 显示的数值 .point (point ), // 小数点具体显示的位置,高电平有效 .en (en ), // 数码管使能信号 .sign (sign ), // 符号位,高电平显示负号(-) .seg_sel (seg_sel ), // 位选 .seg_led (seg_led ) // 段选 ); endmodule
高速双路DAC AD9708 FPGA读写实验 Verilog设计源码Quartus工程文件,DAC芯片选用AD9708,FPGA型号Cyclone4E系列中的EP4CE10F17C8,Quartus版本18.0。 module hs_dual_da( input sys_clk , //系统时钟 input sys_rst_n , //系统复位,低电平有效 //DA芯片接口 output da_clk , //DA(AD9708)驱动时钟,最大支持125Mhz时钟 output [9:0] da_data , //输出给DA的数据 //DA芯片接口 output da_clk1 , //DA(AD9708)驱动时钟,最大支持125Mhz时钟 output [9:0] da_data1 //输出给DA的数据 ); //wire define wire [9:0] rd_addr; //ROM读地址 wire [9:0] rd_data; //ROM读出的数据 //***************************************************** //** main code //***************************************************** //assign ad_clk2 = ad_clk ; assign da_clk1 = da_clk; assign da_data1 = da_data; pll u_pll( .inclk0 (sys_clk), .c0 (clk)); //DA数据发送 da_wave_send u_da_wave_send( .clk (clk), .rst_n (sys_rst_n), .rd_data (rd_data), .rd_addr (rd_addr), .da_clk (da_clk), .da_data (da_data) ); //ROM存储波形 rom_1024x10b u_rom_1024x10b( .address (rd_addr), .clock (clk), .q (rd_data) ); endmodule
FPGA读写 SDRAM Verilog设计源码Quartus工程文件,SDRAM型号FW9825G6KH-6,SDRAM读写测试: 向SDRAM中写入数据,然后将数据读出,并判断读出的数据是否正确,FPGA型号Cyclone4E系列中的EP4CE10F17C8,Quartus版本18.0。 module sdram_rw_test( input clk, //FPGA外部时钟,50M input rst_n, //按键复位,低电平有效 //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 [12:0] sdram_addr, //SDRAM 行/列地址 inout [15:0] sdram_data, //SDRAM 数据 output [ 1:0] sdram_dqm, //SDRAM 数据掩码 //LED output led //状态指示灯 ); //wire define wire clk_50m; //SDRAM 读写测试时钟 wire clk_100m; //SDRAM 控制器时钟 wire clk_100m_shift; //相位偏移时钟 wire wr_en; //SDRAM 写端口:写使能 wire [15:0] wr_data; //SDRAM 写端口:写入的数据 wire rd_en; //SDRAM 读端口:读使能 wire [15:0] rd_data; //SDRAM 读端口:读出的数据 wire sdram_init_done; //SDRAM 初始化完成信号 wire locked; //PLL输出有效标志 wire sys_rst_n; //系统复位信号 wire error_flag; //读写测试错误标志 //***************************************************** //** main code //***************************************************** //待PLL输出稳定之后,停止系统复位 assign sys_rst_n = rst_n & locked; //例化PLL, 产生各模块所需要的时钟 pll_clk u_pll_clk( .inclk0 (clk), .areset (~rst_n), .c0 (clk_50m), .c1 (clk_100m), .c2
AD(AD9280)和DA(AD9708) FPGA读写Verilog设计源码Quartus工程文件,AD芯片选用AD9280,DA芯片选用AD9708,,FPGA型号Cyclone4E系列中的EP4CE10F17C8,Quartus版本18.0。 module hs_ad_da( input sys_clk , //系统时钟 input sys_rst_n , //系统复位,低电平有效 //DA芯片接口 output da_clk , //DA(AD9708)驱动时钟,最大支持125Mhz时钟 output [7:0] da_data , //输出给DA的数据 //AD芯片接口 input [7:0] ad_data , //AD输入数据 //模拟输入电压超出量程标志(本次试验未用到) input ad_otr , //0:在量程范围 1:超出量程 output ad_clk //AD(AD9280)驱动时钟,最大支持32Mhz时钟 ); //wire define wire [7:0] rd_addr; //ROM读地址 wire [7:0] rd_data; //ROM读出的数据 //***************************************************** //** main code //***************************************************** //DA数据发送 da_wave_send u_da_wave_send( .clk (sys_clk), .rst_n (sys_rst_n), .rd_data (rd_data), .rd_addr (rd_addr), .da_clk (da_clk), .da_data (da_data) ); //ROM存储波形 rom_256x8b u_rom_256x8b( .address (rd_addr), .clock (sys_clk), .q (rd_data) ); //AD数据接收 ad_wave_rec u_ad_wave_rec( .clk (sys_clk), .rst_n (sys_rst_n), .ad_data (ad_data), .ad_otr (ad_otr), .ad_clk (ad_clk) ); endmodule
FPGA设计交通信号灯演示逻辑Verilog设计源码Quartus工程文件,FPGA型号Cyclone4E系列中的EP4CE10F17C8,Quartus版本18.0。 module top_traffic( input sys_clk , //系统时钟信号 input sys_rst_n , //系统复位信号 output [3:0] sel , //数码管位选信号 output [7:0] seg_led , //数码管段选信号 output [5:0] led //LED使能信号 ); //wire define wire [5:0] ew_time; //东西方向状态剩余时间数据 wire [5:0] sn_time; //南北方向状态剩余时间数据 wire [1:0] state ; //交通灯的状态,用于控制LED灯的点亮 //***************************************************** //** main code //***************************************************** //交通灯控制模块 traffic_light u0_traffic_light( .sys_clk (sys_clk), .sys_rst_n (sys_rst_n), .ew_time (ew_time), .sn_time (sn_time), .state (state) ); //数码管显示模块 seg_led u1_seg_led( .sys_clk (sys_clk) , .sys_rst_n (sys_rst_n), .ew_time (ew_time), .sn_time (sn_time), .en (1'b1), .sel (sel), .seg_led (seg_led) ); //led灯控制模块 led u2_led( .sys_clk (sys_clk ), .sys_rst_n (sys_rst_n), .state (state ), .led (led ) ); endmodule
使用Verilog设计一个冯诺依曼结构的CPU,实现以下4条指令: (1)addi: (rd) <- (rs) + imm (2)lw: (rd) <- memory((rs) + imm) (3)sw: memory((rd) + imm) <- (rs) (4)add: (rd) <- (rd) +(rs) CPU包含以下模块: (1)存储器Memory (2)时序信号产生模块CLOCK (3)取指令模块IFU (4)通用寄存器GR (5)ALU (6)控制器controller (7)CPU 实验报告包含设计思路描述、程序代码说明、模拟图及分析。
2021-03-14 22:05:23 4.11MB CPU verilog 计算机组成原理
1
CYCLONE4 EP4CE10F17C 新起点FPGA开发板Verilog 设计Quartus II工程40个例程源码,包括: 0_uart_top 11_vga_colorbar 12_vga_blockmove 13_vga_char 14_vga_rom_pic 15_lcd_rgb_colorbar 16_lcd_rgb_char 17_top_remote_rcv 18_temp_disp 19_top_dht11 1_flow_led 20_top_cymometer 21_e2prom_top 22_ap3216c_top 23_rtc 24_sdram_rw_test 25_ov7725_rgb565_640x480_vga 26_ov7725_rgb565_640x480_lcd 27_ov5640_rgb565_1024x768_vga 28_ov5640_rgb565_lcd 29_top_sd_rw 2_key_led 30_top_sd_photo_vga 31_top_sd_photo_lcd 32_top_traffic 33_hs_ad_da 34_hs_dual_da 35_hs_dual_ad 36_ov5640_rgb565_yuv_vga 37_ov5460_img_binarization 38_median_filter 39_sobel_edge_dector 3_top_key_beep 40_digital_recognition 41_dual_ov5640_vga 42_dual_ov5640_lcd 4_touch_led 5_seg_led_static_top 6_seg_led_dynamic 7_ip_pll 8_ip_ram 9_ip_fifo FPGA开发板原理图.pdf
XILINX XC6SLX16 Spartan6 FPGA开发板 Verilog设计50个逻辑DEMO源码,包括: 10_ip_ram 11_ip_fifo 12_uart_loopback_top 12_uart_top_rs232 13_rs485_uart_top 14_lcd_rgb_colorbar 15_lcd_rgb_char 16_top_hdmi_colorbar 17_hdmi_block_move_top 18_top_remote_rcv 19_top_cymometer 1_flow_led 20_e2prom_top 21_rtc_lcd 22_hs_ad_da 23_hs_dual_da 24_hs_dual_ad 25_audio_loopbck 26_top_ddr3_rw 27_audio_record 28_top_audio_sd 29_ov7725_lcd 2_key_led 30_ov7725_hdmi 31_ov5640_lcd 32_ov5640_hdmi 33_mt9v034_lcd 34_mt9v034_hdmi 35_top_sd_rw 36_sd_bmp_lcd 37_sd_bmp_hdmi 38_mdio_rw_test 39_eth_arp_test 3_key_beep 40_eth_udp_loop 41_eth_ddr3_lcd 42_eth_vedio_transmit 43_ov5640_hdmi_scale 44_ov7725_hdmi_rotate 45_ov5640_hdmi_yuv 46_ov5640_hdmi_median_filter 47_ov5640_hdmi_img_binarization 48_ov5640_hdmi_sobel 49_dual_ov5640_hdmi 4_touch_led 50_digital_recognition 5_breath_led 6_seg_led_static_top 7_seg_led_top 8_top_traffic 9_ip_pll XILINX XC6SLX16 Spartan6 超越者FPGA开发板原理图_V1.5.pdf