银杏科技有限公司旗下技术文档发布平台 | |||
技术支持电话 | 0379-69926675-801 | ||
技术支持邮件 | Gingko@vip.163.com | ||
版本 | 日期 | 作者 | 修改内容 |
---|---|---|---|
V1.0 | 2020-1-21 | gingko | 初次建立 |
FSMC的复用模式
//-------------------------rd_wr ----------------------------// assign rd = (csn | rdn); assign wr = (csn | wrn);
//-------------------------ab ------------------------------// reg [24:0]address; always @ (posedge nadv or negedge RST_n) begin if(!RST_n) begin address <= 25'd0; end else begin address <= {ab,db}; end end
//-------------------------clk ----------------------------// reg wr_clk1,wr_clk2; always @(posedge PLL_100M or negedge RST_n) begin if(!RST_n) begin wr_clk1 <= 1'd1; wr_clk2 <= 1'd1; end else {wr_clk2,wr_clk1} <= {wr_clk1,wr}; //提取读写时钟 end wire clk = (!wr_clk2 | !rd); //将rd和wr信号结合起来,读写RAM操作都用此信号 //取反是因为两个信号都是低电平有效,wr延后2个100M时钟周期,是为了保证存储数据的时候,时钟的上升沿在数据的稳定期。