⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fpga2pc.v

📁 usb芯片cy7c68013从fpga中读入数据的演示程序
💻 V
字号:
module fpga2pc  ( rst  ,
                  clk,
                             
                  fifo_wr ,
                  fifo_rd ,            
                  fifo_data,
                             
                  fifo_pf,
                  fifo_full,
                  fifo_empty,
                );
                
 input           rst     ;
 input           clk     ;
 input           fifo_pf,fifo_full,fifo_empty;
 
 output[7:0]     fifo_data ;
 output          fifo_wr   ;
 output          fifo_rd   ;
 
 
 //ports
 wire            rst       ;  
 wire            clk     ;  
                              
 reg [7:0]       fifo_data ;  
 reg             fifo_wr   ;  
 reg             fifo_rd   ;  
                              
 
 //internal signals
 reg             clkin;
 reg  [2:0]      STATE,NEXT;
 
 //parameters
 parameter     IDLE     = 3'D0,
               WRITE_1  = 3'D1,
               WRITE_2  = 3'D2;
               
 //Div clk by 2
 always @ (posedge clk or negedge rst)
 begin
   if(!rst)
      clkin <= 'b1;
   else
      clkin <= ~clkin;
 end 
 
 
 //state machine              
 always @ (STATE or rst)
 begin
     case(STATE)
     IDLE    :  NEXT = WRITE_1;
              
     WRITE_1 : if(!fifo_full)
                   NEXT = WRITE_1;
               else
                   NEXT = WRITE_2;
     WRITE_2 :     NEXT = WRITE_1;
     default : NEXT = IDLE ;
     endcase
 end
 
 //registe the state
 always @ (posedge clkin or negedge rst)
 if(!rst)
    STATE <= IDLE;
 else
    STATE <= NEXT;
 
 
 always @ (posedge clkin or negedge rst)
 if(!rst)
    begin
        fifo_data  <=8'hff;
        fifo_wr   <=1'b1;
        fifo_rd   <=1'b1;
    end
 else
    case(STATE)
    IDLE    : begin
                  fifo_rd     <= 1;
                  fifo_wr     <= 1;
              end
    WRITE_1 : begin
                  if(fifo_full)
                     fifo_data <= fifo_data + 1;
                  fifo_wr     <= 1'b0;
                  fifo_rd     <= 1'b1;
              end
    WRITE_2 : begin
                  fifo_wr  <= 1'b1;
                  fifo_rd  <= 1'b1;
              end
    endcase

  
endmodule           
            
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -