开发板的整个结构,继承了的核心板+扩展板的模式来设计的。 核心板和扩展板之间使用高速板间连接器连接。核心板主要由 FPGA + DDR3 +QSPI FLASH 构成,承担 FPGA 高速数据处理和存储的功能,加上 FPGA 和 DDR3 SDRAM 之间的高速数据读写, 数据位宽为 16 位, 整个系统的带宽高达 10Gb/s(800M*16bit); 另外 DDR3 容量高达 256MB, 满足数据处理过程中对高缓 冲 区 的 需 求 。 FPGA为PGL22G6CMBG324 芯片, FPGA 是 MBG324 封装。底板为核心板扩展了丰富的外围接口,其中包含 1 路千兆以太网接口、 1 路 HDMI输出接口、 1 路 USB2.0 接口、 1 路 UART 串口接口、 1 路 SD 卡接口、 1 个 JTAG 调试接口、 一个摄像头接口、 1 路 40 针的扩展口和一些按键, LED, RTC 和 EEPROM 电路。
LED的的FPGA代码入下:
定义了一个 32 位的寄存器 timer, 用于循环计数0~199_999_999(4 秒钟), 当计数到 49_999_999(1 秒)的时候,熄灭第一个 LED 灯;当计数到99_999_999(2 秒)的时候,熄灭第二个 LED 灯;当计数到 149_999_999(3 秒)的时候,熄灭第三个 LED 灯;当计数到 199_999_999(4 秒)的时候,熄灭第四个 LED 灯,计数器再重新计数。
`timescale 1ns/1nsmodule led_test ( sys_clk, // system clock 50Mhz on board rst_n, // reset ,low active led // LED,use for control the LED signal on board ); input sys_clk; input rst_n; output [3:0] led; //define the time counter reg [31:0] timer; reg [3:0] led; always @(posedge sys_clk or negedge rst_n) begin if (~rst_n) timer <= 32'd0; // when the reset signal valid,time counter clearing else if (timer == 32'd199_999_999) //4 seconds count(50M*4-1=199999999) timer <= 32'd0; //count done,clearing the time counter else timer <= timer + 1'b1; //timer counter = timer counter + 1 end always @(posedge sys_clk or negedge rst_n) begin if (~rst_n) led <= 4'b0000; //when the reset signal active else if (timer == 32'd49_999_999) //time counter count to 1st sec,LED1 lighten led <= 4'b0001; else if (timer == 32'd99_999_999) //time counter count to 2nd sec,LED2 lighten begin led <= 4'b0010; end else if (timer == 32'd149_999_999) //time counter count to 3nd sec,LED3 lighten led <= 4'b0100; else if (timer == 32'd199_999_999) //time counter count to 4nd sec,LED4 lighten led <= 4'b1000; end endmodule
复制代码