?? ide_ext.v
字號:
module IDE_EXT(
NCS2, NCS3, NCS4, NRD, NWE, NRST, ADDR2, ADDR3, ADDR4, ADDR5, ADDR6, NWAIT, IRQ0, IRQ3,
MISO, MOSI, SPCK, NPCS0, TIOA1, TWD, TWCK, PCK0,
DATA,
IDE_CS0, IDE_CS1, IDE_RST, IDE_IOR, IDE_IOW, IDE_IORDY, IDE_INT, IDE_DA,
IO_IDE_DA, IO_IDE_CS0, IO_IDE_CS1, IO_IDE_IOW, IO_IDE_IOR, IO_IDE_IORDY, IO_IDE_RST, IO_IDE_INT,
BUF_DIR, BUF_OE);
input NCS2, NCS3, NCS4, NRD, NWE, NRST;
input ADDR2, ADDR3, ADDR4, ADDR5, ADDR6;
output IRQ0, IRQ3;
output NWAIT;
inout[7:0] DATA;
output MISO, MOSI, SPCK, NPCS0, TIOA1, TWD, TWCK, PCK0;
output IDE_CS0, IDE_CS1, IDE_RST, IDE_IOR, IDE_IOW;
input IDE_IORDY, IDE_INT;
output[2:0] IDE_DA;
output IO_IDE_CS0, IO_IDE_CS1, IO_IDE_RST, IO_IDE_IOR, IO_IDE_IOW;
input IO_IDE_IORDY, IO_IDE_INT;
output[2:0] IO_IDE_DA;
output BUF_DIR, BUF_OE;
/**/
reg[7:0] data;
assign DATA=(!NCS4 && !NRD)?data:8'bz;
always @(NCS4 or NWE)
begin
if(!NCS4 && !NWE)
data=DATA;
end
// meanlingless
//assign MISO=0;
//assign MOSI=0;
//assign SPCK=0;
//assign NPCS0=0;
//assign TIOA1=0;
//assign TWD=0;
//assign TWCK=0;
//assign PCK0=0;
// first IDE
assign IDE_DA={ADDR4, ADDR3, ADDR2};
assign IDE_CS0=ADDR5;
assign IDE_CS1=ADDR6;
assign IDE_RST= NRST;
assign IDE_IOR=(NCS2 || NRD);
assign IDE_IOW=(NCS2 || NWE);
assign IRQ0=IDE_INT;
// second IDE
assign IO_IDE_DA={ADDR4, ADDR3, ADDR2};
assign IO_IDE_CS0=ADDR5;
assign IO_IDE_CS1=ADDR6;
assign IO_IDE_RST= NRST;
assign IO_IDE_IOR=(NCS3 || NRD);
assign IO_IDE_IOW=(NCS3 || NWE);
assign IRQ3=IO_IDE_INT;
//assign NWAIT=(IDE_IORDY && IO_IDE_IORDY);
assign NWAIT=1;
assign BUF_DIR=NRD;
assign BUF_OE=(NCS2 && NCS3 && NCS4);
endmodule
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -