📄 sam9261.v
字号:
module sam9261(NRST,CFOE,CFWE,CFIOW,CFIOR,A,A22,A25_CFRNW,CFS0,CFS1,CFCE1,CFCE2,PA29,PA30,PA31,NWAIT,IRQ1,IRQ2,
CF_NRST,CF_OE,CF_WE,CF_IOWE,CF_IORD,CF_A,CF_REG,BUF_DIR,BUF_CS,CF_CE1,CF_CE2,CF_CD1,CF_CD2,CF_NWAIT,CF_IRQ,CF_WP);
input NRST;
input CFOE;
input CFWE;
input CFIOW;
input CFIOR;
input [10:0] A;
input A22;
input A25_CFRNW; //PC3
input CFS0; //PC4
input CFS1; //PC5
input CFCE1; //PC6
input CFCE2; //PC7
input PA29; //Card detect
input PA30; //no use
input PA31; //no use
input NWAIT; //PC2
output IRQ2; //PB29
input IRQ1; //PB30
output CF_NRST;
output CF_OE;
output CF_WE;
output CF_IOWE;
output CF_IORD;
output [10:0] CF_A;
output CF_REG;
output BUF_DIR;
output BUF_CS;
output CF_CE1;
output CF_CE2;
input CF_CD1;
input CF_CD2;
input CF_NWAIT;
input CF_IRQ;
input CF_WP;
reg [1:0] cf_ce_temp;
// assign CF_NRST=NRST;
assign CF_NRST=PA30;
// assign CF_OE=CFOE;
assign CF_OE=0;
// assign CF_WE=CFWE;
assign CF_WE=1;
// assign CF_IOWE=CFIOW;
// assign CF_IORD=CFIOR;
assign CF_IOWE=CFWE;
assign CF_IORD=CFOE;
assign CF_A[0]=A[2];
assign CF_A[1]=A[3];
assign CF_A[2]=A[4];
assign CF_A[3]=0;
assign CF_A[4]=0;
assign CF_A[5]=0;
assign CF_A[6]=0;
assign CF_A[7]=0;
assign CF_A[8]=0;
assign CF_A[9]=0;
assign CF_A[10]=0;
assign CF_REG=1;
// assign CF_REG=A22;
// assign BUF_DIR=~A25_CFRNW;
assign BUF_DIR=CFOE;
assign BUF_CS=CFS0; //CFS1
// assign CF_CE1=CFCE1;
// assign CF_CE2=CFCE2;
always @(CFS0 or CFOE or CFWE)
begin
if(!CFS0)
cf_ce_temp = A[6:5];
else
cf_ce_temp = 3;
end
assign CF_CE1 = cf_ce_temp[0];
assign CF_CE2 = cf_ce_temp[1];
assign PA29=CF_CD1||CF_CD2; //card detect
// assign PA29=CF_CD1||CF_CD2||PA30||PA31||CFS1||CF_WP; //card detect
assign NWAIT=CF_NWAIT;
// assign IRQ1=CF_IRQ; //CAN IRQ //look out
assign IRQ2=CF_IRQ; //CF Card interrupt
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -