?? mydsp2812.v
字號:
module MYDSP2812 (
DSP_RSTn,//Inputs from MAX811
DSPCLK_OUT,
R_Wn,
RDn,
WEn, //from DSP2812
READY,
NMI,
INT1,
INT2,
DSP_DATA,
DSP_ADDR,
GPIOB,
CS0AND1n,
SPI_CS,
SPI_CLK,
SPI_SOMI,
SPI_SIMO,
/////
LD,
SW,
///
CPLD_SCL,
CPLD_SDA,
CPLDSPI_CLK,
CPLDSPI_SIMO,
////
USB_CSn,
USB_PKTEND,
USB_INTn,
USB_RDY,
USB_FLAGA,
USB_FLAGB,
USB_FLAGC,
IFCLK,
//////////////////////////////////
CPLD_LED1,
CPLD_LED2,
CPLD_LED3,
CPLD_LED4,
/////////////////////////////////
CPLD_WEn,
CPLD_FALE,
CPLD_FCLE,
CPLD_NFCE,
CPLD_RDn,
CPLD_FRNB,
/////////////////////////////
LED_CSn,
MY485_CSn,
M_CSn,
DACSn,
DAFSn,
SDSPI_CSn,
AICCSn,
////////////////////////////////
IOPORT
);
////////////////////////////////////////////
input DSP_RSTn;//Inputs from MAX811
input DSPCLK_OUT;
input R_Wn;
input RDn;
input WEn; //from DSP2812
input READY;
output NMI;
output INT1;
output INT2;
inout [7:0]DSP_DATA;
input [7:1]DSP_ADDR;
inout [15:8]GPIOB;
input CS0AND1n;
input SPI_CS;
input SPI_CLK;
inout SPI_SOMI;
inout SPI_SIMO;
/////////////////////////////////////////////////
output [8:1]LD;
input [4:1]SW;
/////////////////////////////////////////////////
output CPLD_SCL;
inout CPLD_SDA;
output CPLDSPI_CLK;
inout CPLDSPI_SIMO;
//////////////////////////////////////////////////
output USB_CSn;
output USB_PKTEND;
input USB_INTn;
input USB_RDY;
input USB_FLAGA;
input USB_FLAGB;
input USB_FLAGC;
inout IFCLK;
//////////////////////////////////////////////////
output CPLD_LED1;
output CPLD_LED2;
output CPLD_LED3;
output CPLD_LED4;
///////////////////////////////////////////////////
output CPLD_WEn;
output CPLD_FALE;
output CPLD_FCLE;
output CPLD_NFCE;
output CPLD_RDn;
input CPLD_FRNB;
///////////////////////////////////////////////////////
output LED_CSn;
output MY485_CSn;
output M_CSn;
output DACSn;
output DAFSn;
output SDSPI_CSn;
output AICCSn;
//////////////////////////////////////////////////////
inout [14:1]IOPORT;
////////////////////////////////////////////////////////
reg [7:0] DREG;
reg [7:0] DSP_DATA;
reg [8:1] LED;
assign DACSn=0;
///////////////////////////////////////////
assign CPLD_WEn=WEn;
assign CPLD_RDn=RDn;
assign CPLD_FALE=1;//DSP_ADDR[4];
assign CPLD_FCLE=1;//DSP_ADDR[5];
/////////////////////////////////////////
assign GPIOB[10]=SW[1]&CPLD_FRNB;//&USB_FLAGA; //NAND FLASH
assign GPIOB[11]=SW[2]&USB_FLAGB;
assign GPIOB[12]=SW[3]&USB_FLAGC;
assign GPIOB[13]=SW[4]&USB_RDY;
assign INT1=USB_INTn&SW[4];
////////////////////////////////////////
assign CPLDSPI_CLK=SPI_CLK;
assign CPLDSPI_SIMO=SPI_SIMO;
////////////////////////////////////////
assign CPLD_SCL=GPIOB[8];
wire CPLD_SDA,GPB;
reg GPIOBT;
always @( GPIOB[9] or GPIOB[15] )
begin
if (GPIOB[15]==1'b1 ) GPIOBT<=GPIOB[9];
else
GPIOBT<=1'bz;
end
assign CPLD_SDA=GPIOBT;
assign GPB=CPLD_SDA;
assign GPIOB[14]=GPB;
//////////////////////////////////////////////////////
assign CPLD_LED1=DSP_ADDR[5];
assign CPLD_LED2=(~DSP_ADDR[7])|(WEn)|(CS0AND1n);
assign CPLD_LED3=DSP_ADDR[6];
assign CPLD_LED4=DSP_ADDR[4];
/////////////////////////////////////////////////////////////
reg LED_CSn;
reg MY485_CSn;
reg M_CSn;
reg DAFSn;
reg SDSPI_CSn;
reg AICCSn;
reg CPLD_NFCE;
//reg USB_CSn;
//reg USB_PKTEND;
///////////////////////////////////////////////////
always @(posedge WEn or negedge DSP_RSTn )
begin
if (!DSP_RSTn) begin
DREG <= 255;
end
else if ( DSP_ADDR[7:1] == 7'b0000001 && CS0AND1n == 0 )
LED[8:1]<= DSP_DATA[7:0];
else if ( DSP_ADDR[7:1] == 7'b0000010 && CS0AND1n == 0 )
DREG<= DSP_DATA[7:0];
end
assign USB_CSn=(WEn&RDn)|(~((~DSP_ADDR[4])&DSP_ADDR[3]))|DSP_ADDR[7]|CS0AND1n;
assign USB_PKTEND=(WEn)|(~(DSP_ADDR[4]&DSP_ADDR[3]))|DSP_ADDR[7]|CS0AND1n;
assign LD[8:1]=LED[8:1];
//CSn
always @(DREG )
case (DREG)
8'h0: LED_CSn = SPI_CS;
8'h1: MY485_CSn = 0;
8'h2: M_CSn = SPI_CS;
8'h3: DAFSn= SPI_CS;
8'h4: SDSPI_CSn= SPI_CS;
8'h5: AICCSn= SPI_CS;
8'h6: CPLD_NFCE=0; //NAND FLASH CE#
8'h7: CPLD_NFCE=1;
default:
{LED_CSn,MY485_CSn,M_CSn,DAFSn,SDSPI_CSn,AICCSn,CPLD_NFCE}=7'b1111111;
endcase
endmodule
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -