亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

您現在的位置是:蟲蟲下載站 > 資源下載 > 技術資料 > FPGA片內FIFO讀寫測試Verilog邏輯源碼Quartus工程文件+文檔說明 使用 FPGA

FPGA片內FIFO讀寫測試Verilog邏輯源碼Quartus工程文件+文檔說明 使用 FPGA

  • 資源大小:7356 K
  • 上傳時間: 2021-12-19
  • 上傳用戶:20125101110
  • 資源積分:2 下載積分
  • 標      簽: fpga fifo verilog quartus

資 源 簡 介

FPGA片內FIFO讀寫測試Verilog邏輯源碼Quartus工程文件+文檔說明,使用 FPGA 內部的 FIFO 以及程序對該 FIFO 的數據讀寫操作。FPGA型號Cyclone4E系列中的EP4CE6F17C8,Quartus版本17.1。

timescale 1ns / 1ps

//////////////////////////////////////////////////////////////////////////////////

module fifo_test(

input clk,           //50MHz時鐘

input rst_n              //復位信號,低電平有效

);


//-----------------------------------------------------------

localparam      W_IDLE      = 1;

localparam      W_FIFO     = 2; 

localparam      R_IDLE      = 1;

localparam      R_FIFO     = 2; 


reg[2:0]  write_state;

reg[2:0]  next_write_state;

reg[2:0]  read_state;

reg[2:0]  next_read_state;


reg[15:0] w_data;    //FIFO寫數據

wire      wr_en;    //FIFO寫使能

wire      rd_en;    //FIFO讀使能

wire[15:0] r_data; //FIFO讀數據

wire       full;  //FIFO滿信號 

wire       empty;  //FIFO空信號 

wire[8:0]  rd_data_count; 

wire[8:0]  wr_data_count; 


///產生FIFO寫入的數據

always@(posedge clk or negedge rst_n)

begin

if(rst_n == 1'b0)

write_state <= W_IDLE;

else

write_state <= next_write_state;

end


always@(*)

begin

case(write_state)

W_IDLE:

if(empty == 1'b1)               //FIFO空, 開始寫FIFO

next_write_state <= W_FIFO;

else

next_write_state <= W_IDLE;

W_FIFO:

if(full == 1'b1)                //FIFO滿

next_write_state <= W_IDLE;

else

next_write_state <= W_FIFO;

default:

next_write_state <= W_IDLE;

endcase

end


assign wr_en = (next_write_state == W_FIFO) ? 1'b1 : 1'b0; 


always@(posedge clk or negedge rst_n)

begin

if(rst_n == 1'b0)

w_data <= 16'd0;

else

   if (wr_en == 1'b1)

    w_data <= w_data + 1'b1;

else

          w_data <= 16'd0;

end




///產生FIFO讀的數據

always@(posedge clk or negedge rst_n)

begin

if(rst_n == 1'b0)

read_state <= R_IDLE;

else

read_state <= next_read_state;

end


always@(*)

begin

case(read_state)

R_IDLE:

if(full == 1'b1)               //FIFO滿, 開始讀FIFO

next_read_state <= R_FIFO;

else

next_read_state <= R_IDLE;

R_FIFO:

if(empty == 1'b1)   

FPGA片內FIFO讀寫測試Verilog邏輯源碼Quartus工程文件+文檔說明 使用 FPGA FPGA片內FIFO讀寫測試Verilog邏輯源碼Quartus工程文件+文檔說明 使用 FPGA


相 關 資 源

主站蜘蛛池模板: 来安县| 株洲市| 牟定县| 柳州市| 砀山县| 克什克腾旗| 竹山县| 来安县| 贡山| 临泉县| 西充县| 乌鲁木齐市| 称多县| 宜都市| 本溪市| 汉中市| 元朗区| 北碚区| 龙里县| 金川县| 胶州市| 临漳县| 田东县| 石泉县| 嘉荫县| 平泉县| 祥云县| 嵩明县| 商都县| 新建县| 芦溪县| 无为县| 滦平县| 永修县| 彰武县| 中超| 滦南县| 天全县| 满城县| 中卫市| 咸丰县|