zoukankan      html  css  js  c++  java
  • 用de1读取sram的数据并用数码管输出

    下面是我的程序代码,请大牛们不吝赐教。

    module sramtest
        (
            ////////////////////    Clock Input         ////////////////////    
            CLOCK_50,                        //    50 MHz
            SRAM_DQ,                        //    SRAM Data bus 16 Bits
            SRAM_ADDR,                        //    SRAM Address bus 18 Bits
            SRAM_UB_N,                        //    SRAM High-byte Data Mask
            SRAM_LB_N,                        //    SRAM Low-byte Data Mask
            SRAM_WE_N,                        //    SRAM Write Enable
            SRAM_CE_N,                        //    SRAM Chip Enable
            SRAM_OE_N,                        //    SRAM Output Enable
            HEX0,                            //    Seven Segment Digit 0
            HEX1,                            //    Seven Segment Digit 1
            HEX2,                            //    Seven Segment Digit 2
            HEX3
        );

    input            CLOCK_50;                //    50 MHz
    ////////////////////////    SRAM Interface    ////////////////////////
    inout    [15:0]    SRAM_DQ;                //    SRAM Data bus 16 Bits
    output    [17:0]    SRAM_ADDR;                //    SRAM Address bus 18 Bits
    output            SRAM_UB_N;                //    SRAM High-byte Data Mask
    output            SRAM_LB_N;                //    SRAM Low-byte Data Mask
    output            SRAM_WE_N;                //    SRAM Write Enable
    output            SRAM_CE_N;                //    SRAM Chip Enable
    output            SRAM_OE_N;                //    SRAM Output Enable
    output    [6:0]    HEX0;                    //    Seven Segment Digit 0
    output    [6:0]    HEX1;                    //    Seven Segment Digit 1
    output    [6:0]    HEX2;                    //    Seven Segment Digit 2
    output    [6:0]    HEX3;

    wire    [15:0]    mSEG7_DIG;
    reg    [17:0]    SRAM_ADDR;                //    SRAM Address bus 18 Bits
    reg            SRAM_UB_N;                //    SRAM High-byte Data Mask
    reg            SRAM_LB_N;                //    SRAM Low-byte Data Mask
    reg            SRAM_WE_N;                //    SRAM Write Enable
    reg            SRAM_CE_N;                //    SRAM Chip Enable
    reg            SRAM_OE_N;
    reg [15:0]SRAM_DQ;
    reg [3:0] data;
    reg [1:0] state ;
    assign    mSEG7_DIG    =SRAM_DQ;

    SEG7_LUT_4             u0    (    HEX0,HEX1,HEX2,HEX3,mSEG7_DIG );
    reg [23:0]counter;
    always@(posedge CLOCK_50)//读取sram的数据
    begin
    case(state)
    'b00:    begin
        SRAM_OE_N<=0;
        SRAM_CE_N<=0;   
        SRAM_LB_N<=0;
        SRAM_UB_N<=0;
        SRAM_WE_N<=1;

        state=state+1;
        end
    'b01:begin
    if(counter=='hfffff)state='b11;//延时
    counter=counter+1;
    end
    'b10: state='b11;

    'b11:    begin
        SRAM_ADDR=SRAM_ADDR+1;
        SRAM_OE_N<=1;
        SRAM_CE_N<=1;   
        SRAM_LB_N<=1;
        SRAM_UB_N<=1;
        SRAM_WE_N<=0;
        state='b00;
        end
    endcase
    end

    endmodule

  • 相关阅读:
    大小端模式
    深入理解c/c++ 内存对齐
    示波器使用
    C结构体
    51单片机内存问题
    S5PV210启动过程详解1
    程序中内存从哪里来
    再论typedef
    ARM体系结构总结
    MMU实验实验
  • 原文地址:https://www.cnblogs.com/azprobert/p/1855667.html
Copyright © 2011-2022 走看看