hecf 发表于 2011-4-15 09:13:15

增加DE1开发板音频采集与播放程序的功能

求助修改DE1开发板的音频采集与输出的功能,以下就的程序。
module DE1_i2sound
        (
                ////////////////////        Clock Input               ////////////////////       
                CLOCK_24,                                                //        24 MHz
                CLOCK_27,                                                //        27 MHz
                CLOCK_50,                                                //        50 MHz
                EXT_CLOCK,                                                //        External Clock
                ////////////////////        Push Button                ////////////////////
                KEY,                                                        //        Pushbutton
                ////////////////////        DPDT Switch                ////////////////////
                SW,                                                                //        Toggle Switch
                ////////////////////        7-SEG Dispaly        ////////////////////
                HEX0,                                                        //        Seven Segment Digit 0
                HEX1,                                                        //        Seven Segment Digit 1
                HEX2,                                                        //        Seven Segment Digit 2
                HEX3,                                                        //        Seven Segment Digit 3
                ////////////////////////        LED                ////////////////////////
                LEDG,                                                        //        LED Green
                LEDR,                                                        //        LED Red
                ////////////////////////        UART        ////////////////////////
                UART_TXD,                                                //        UART Transmitter
                UART_RXD,                                                //        UART Receiver
                /////////////////////        SDRAM Interface                ////////////////
                DRAM_DQ,                                                //        SDRAM Data bus 16 Bits
                DRAM_ADDR,                                                //        SDRAM Address bus 12 Bits
                DRAM_LDQM,                                                //        SDRAM Low-byte Data Mask
                DRAM_UDQM,                                                //        SDRAM High-byte Data Mask
                DRAM_WE_N,                                                //        SDRAM Write Enable
                DRAM_CAS_N,                                                //        SDRAM Column Address Strobe
                DRAM_RAS_N,                                                //        SDRAM Row Address Strobe
                DRAM_CS_N,                                                //        SDRAM Chip Select
                DRAM_BA_0,                                                //        SDRAM Bank Address 0
                DRAM_BA_1,                                                //        SDRAM Bank Address 0
                DRAM_CLK,                                                //        SDRAM Clock
                DRAM_CKE,                                                //        SDRAM Clock Enable
                ////////////////////        Flash Interface                ////////////////
                FL_DQ,                                                        //        FLASH Data bus 8 Bits
                FL_ADDR,                                                //        FLASH Address bus 22 Bits
                FL_WE_N,                                                //        FLASH Write Enable
                FL_RST_N,                                                //        FLASH Reset
                FL_OE_N,                                                //        FLASH Output Enable
                FL_CE_N,                                                //        FLASH Chip Enable
                ////////////////////        SRAM Interface                ////////////////
                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
                ////////////////////        SD_Card Interface        ////////////////
                SD_DAT,                                                        //        SD Card Data
                SD_DAT3,                                                //        SD Card Data 3
                SD_CMD,                                                        //        SD Card Command Signal
                SD_CLK,                                                        //        SD Card Clock
                ////////////////////        USB JTAG link        ////////////////////
                TDI,                                                        // CPLD -> FPGA (data in)
                TCK,                                                        // CPLD -> FPGA (clk)
                TCS,                                                        // CPLD -> FPGA (CS)
          TDO,                                                        // FPGA -> CPLD (data out)
                ////////////////////        I2C                ////////////////////////////
                I2C_SDAT,                                                //        I2C Data
                I2C_SCLK,                                                //        I2C Clock
                ////////////////////        PS2                ////////////////////////////
                PS2_DAT,                                                //        PS2 Data
                PS2_CLK,                                                //        PS2 Clock
                ////////////////////        VGA                ////////////////////////////
                VGA_HS,                                                        //        VGA H_SYNC
                VGA_VS,                                                        //        VGA V_SYNC
                VGA_R,                                                   //        VGA Red
                VGA_G,                                                       //        VGA Green
                VGA_B,                                                //        VGA Blue
                ////////////////        Audio CODEC                ////////////////////////
                AUD_ADCLRCK,                                        //        Audio CODEC ADC LR Clock
                AUD_ADCDAT,                                                //        Audio CODEC ADC Data
                AUD_DACLRCK,                                        //        Audio CODEC DAC LR Clock
                AUD_DACDAT,                                                //        Audio CODEC DAC Data
                AUD_BCLK,                                                //        Audio CODEC Bit-Stream Clock
                AUD_XCK,                                                //        Audio CODEC Chip Clock
                ////////////////////        GPIO        ////////////////////////////
                GPIO_0,                                                        //        GPIO Connection 0
                GPIO_1                                                        //        GPIO Connection 1
        );

////////////////////////        Clock Input               ////////////////////////
input                CLOCK_24;                                //        24 MHz
input                CLOCK_27;                                //        27 MHz
input                        CLOCK_50;                                //        50 MHz
input                        EXT_CLOCK;                                //        External Clock
////////////////////////        Push Button                ////////////////////////
input                KEY;                                        //        Pushbutton
////////////////////////        DPDT Switch                ////////////////////////
input                SW;                                                //        Toggle Switch
////////////////////////        7-SEG Dispaly        ////////////////////////
output                HEX0;                                        //        Seven Segment Digit 0
output                HEX1;                                        //        Seven Segment Digit 1
output                HEX2;                                        //        Seven Segment Digit 2
output                HEX3;                                        //        Seven Segment Digit 3
////////////////////////////        LED                ////////////////////////////
output                LEDG;                                        //        LED Green
output                LEDR;                                        //        LED Red
////////////////////////////        UART        ////////////////////////////
output                        UART_TXD;                                //        UART Transmitter
input                        UART_RXD;                                //        UART Receiver
///////////////////////                SDRAM Interface        ////////////////////////
inout                DRAM_DQ;                                //        SDRAM Data bus 16 Bits
output                DRAM_ADDR;                                //        SDRAM Address bus 12 Bits
output                        DRAM_LDQM;                                //        SDRAM Low-byte Data Mask
output                        DRAM_UDQM;                                //        SDRAM High-byte Data Mask
output                        DRAM_WE_N;                                //        SDRAM Write Enable
output                        DRAM_CAS_N;                                //        SDRAM Column Address Strobe
output                        DRAM_RAS_N;                                //        SDRAM Row Address Strobe
output                        DRAM_CS_N;                                //        SDRAM Chip Select
output                        DRAM_BA_0;                                //        SDRAM Bank Address 0
output                        DRAM_BA_1;                                //        SDRAM Bank Address 0
output                        DRAM_CLK;                                //        SDRAM Clock
output                        DRAM_CKE;                                //        SDRAM Clock Enable
////////////////////////        Flash Interface        ////////////////////////
inout                FL_DQ;                                        //        FLASH Data bus 8 Bits
output                FL_ADDR;                                //        FLASH Address bus 22 Bits
output                        FL_WE_N;                                //        FLASH Write Enable
output                        FL_RST_N;                                //        FLASH Reset
output                        FL_OE_N;                                //        FLASH Output Enable
output                        FL_CE_N;                                //        FLASH Chip Enable
////////////////////////        SRAM Interface        ////////////////////////
inout                SRAM_DQ;                                //        SRAM Data bus 16 Bits
output                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
////////////////////        SD Card Interface        ////////////////////////
inout                        SD_DAT;                                        //        SD Card Data
inout                        SD_DAT3;                                //        SD Card Data 3
inout                        SD_CMD;                                        //        SD Card Command Signal
output                        SD_CLK;                                        //        SD Card Clock
////////////////////////        I2C                ////////////////////////////////
inout                        I2C_SDAT;                                //        I2C Data
output                        I2C_SCLK;                                //        I2C Clock
////////////////////////        PS2                ////////////////////////////////
input                       PS2_DAT;                                //        PS2 Data
input                        PS2_CLK;                                //        PS2 Clock
////////////////////        USB JTAG link        ////////////////////////////
input                        TDI;                                        // CPLD -> FPGA (data in)
input                        TCK;                                        // CPLD -> FPGA (clk)
input                        TCS;                                        // CPLD -> FPGA (CS)
output                         TDO;                                        // FPGA -> CPLD (data out)
////////////////////////        VGA                        ////////////////////////////
output                        VGA_HS;                                        //        VGA H_SYNC
output                        VGA_VS;                                        //        VGA V_SYNC
output                VGA_R;                                   //        VGA Red
output                VGA_G;                                       //        VGA Green
output                VGA_B;                                   //        VGA Blue
////////////////////        Audio CODEC                ////////////////////////////
inout                        AUD_ADCLRCK;                        //        Audio CODEC ADC LR Clock
input                        AUD_ADCDAT;                                //        Audio CODEC ADC Data
inout                        AUD_DACLRCK;                        //        Audio CODEC DAC LR Clock
output                        AUD_DACDAT;                                //        Audio CODEC DAC Data
inout                        AUD_BCLK;                                //        Audio CODEC Bit-Stream Clock
output                        AUD_XCK;                                //        Audio CODEC Chip Clock
////////////////////////        GPIO        ////////////////////////////////
inout                GPIO_0;                                        //        GPIO Connection 0
inout                GPIO_1;                                        //        GPIO Connection 1

//        Turn on all display
assign        HEX0                =        7'h00;
assign        HEX1                =        7'h00;
assign        HEX2                =        7'h00;
assign        HEX3                =        7'h00;
assign        LEDG                =        VOL;
assign        LEDR                =        10'h3FF;

//        All inout port turn to tri-state
assign        DRAM_DQ                =        16'hzzzz;
assign        FL_DQ                =        8'hzz;
assign        SRAM_DQ                =        16'hzzzz;
assign        SD_DAT                =        1'bz;
assign        I2C_SDAT        =        1'bz;
assign        GPIO_0                =        36'hzzzzzzzzz;
assign        GPIO_1                =        36'hzzzzzzzzz;
assign        AUD_DACLRCK        =        AUD_ADCDAT;
assign        AUD_XCK                =        CLK_18_4;

wire        CLK_18_4;

PLL                         u0        (        .inclk0(CLOCK_27),
                                                .c0(CLK_18_4)        );
                                               
I2C_AV_Config         u1        (        //        Host Side
                                                .iCLK(CLOCK_50),
                                                .iRST_N(KEY),
                                                .iVOL(VOL),
                                                //        I2C Side
                                                .I2C_SCLK(I2C_SCLK),
                                                .I2C_SDAT(I2C_SDAT)        );

reg                VOL;               
                               
always@(negedge KEY)
begin
        if(VOL<68)
        VOL                <=        98;
        else
        VOL                <=        VOL+3;
end

endmodule

caizijian 发表于 2011-4-23 16:10:44

你要改成什么样子?
页: [1]
查看完整版本: 增加DE1开发板音频采集与播放程序的功能