📄 mydsp2812.v.bak1
字号:
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;
input NMI;
input INT1;
input INT2;
inout [7:0]DSP_DATA;
input [7:1]DSP_ADDR;
inout [15:8]GPIOB;
input CS0AND1n;
input SPI_CS;
input SPI_CLK;
input SPI_SOMI;
input SPI_SIMO;
/////////////////////////////////////////////////
output [8:1]LD;
input [4:1]SW;
/////////////////////////////////////////////////
output CPLD_SCL;
inout CPLD_SDA;
output CPLDSPI_CLK;
output CPLDSPI_SIMO;
//////////////////////////////////////////////////
output USB_CSn;
input USB_PKTEND;
input USB_INTn;
input USB_RDY;
input USB_FLAGA;
input USB_FLAGB;
input USB_FLAGC;
input 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;
output 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] DREG1;
reg [7:0] DSP_DATA;
reg [8:1] LED;
assign DACSn=0;
///////////////////////////////////////////
assign GPIOB[10]=SW[1]&CPLD_FRNB; //NAND FLASH
assign CPLD_WEn=WEn;
assign CPLD_RDn=RDn;
assign CPLD_FALE=DSP_ADDR[4];
assign CPLD_FCLE=DSP_ADDR[5];
/////////////////////////////////////////
assign GPIOB[11]=SW[2];
assign GPIOB[12]=SW[3];
assign GPIOB[13]=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;
//////////////////////////////////////////////////////
reg LED_CSn;
reg MY485_CSn;
reg M_CSn;
reg DAFSn;
reg SDSPI_CSn;
reg AICCSn;
reg CPLD_NFCE;
///////////////////////////////////////////////////
always @(posedge WEn or negedge DSP_RSTn )
begin
if (!DSP_RSTn) begin
DREG <= 255;
DREG1 <= 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 LD[8:1]=LED[8:1];
//CSn
always @(DREG )
case (DREG)
8'h0: LED_CSn = SPI_CS;
8'h1: MY485_CSn = SPI_CS;
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'h6: CPLD_NFCE=1;
default:
{LED_CSn,MY485_CSn,M_CSn,DAFSn,SDSPI_CSn,AICCSn,CPLD_NFCE}=7'b1111111;
endcase
// always @(DREG1 )
// case (DREG1)
// 8'h0: CPLD_SDA=0;
// 8'h1: CPLD_SDA=1;
// 8'h2: CPLD_SCL=0;
// 8'h3: CPLD_SCL=1;
// default:
// {CPLD_SDA,CPLD_SCL}=2'h11;
// endcase
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -