作者:尼德兰的喵

nios ii FIFO读取FPGA数据交互实验1

实验所用板子为altera经典的DE2板子,FPGA为Cyclone II:EP2C35F672C6,quartus版本为13.0

1.建立工程,导入管脚图DE2_pin_assignments.csv文件,写入硬件代码并编译。最终的硬件verilog代码如下(部分代码需要在生成Qsys文件之后才能编译通过):

module work(
	CLOCK_50,
	KEY,
	SW,
	LEDR
	);
input CLOCK_50;
input [3:0]KEY;
input [17:0]SW;
output [17:0]LEDR;
wire rst;
assign rst = KEY[0];
assign LEDR = SW;//用LEDR判定程序是否烧录成功

wire pio_out;
reg [31:0]fifo_in;//写入片内FIFO的数据
wire fifo_in_en;//写使能信号
wire fifo_full;//NiOS输出
NiOS_ii u0 ( //之后的代码在生成NiOS核之后再写入
        .clk_clk        (CLOCK_50),        //     clk.clk
        .reset_reset_n  (KEY[0]),  //   reset.reset_n
        .pio_out_export (pio_out),  // pio_out.export
	.fifo_in_writedata   (fifo_in),   // fifo_in.writedata
        .fifo_in_write       (fifo_in_en),       //        .write
        .fifo_in_waitrequest (fifo_full)  //        .waitrequest
    );

always @(posedge CLOCK_50 or negedge rst) begin
	if (
lock