首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

请教异步fifo设计时的一个问题

请教异步fifo设计时的一个问题

代码比较简单
assign    usedword=(wptr>rptr)?(wptr-rptr)full?4'hFempty?4'h016-rptr+wptr)));
always @ (posedge w_clk or posedge clear)
if(clear)
  begin
   wptr<=4'h0;
   pwptr<=4'h0;
  end
else if(!full && wr) begin
  mem[wptr]<=data_in;
  pwptr<=wptr;
  wptr<=(&wptr)?4'h0wptr+1);
end   
always @ (posedge r_clk or posedge clear)
if(clear)
  begin
   rptr<=4'h0;
   prptr<=4'h0;
   data_out<=8'h00;
  end
else if(!empty && rd) begin
  data_out<=mem[rptr];
  prptr<=rptr;
  rptr<=(&rptr)?4'h0rptr+1);
end
reg  n_full=1'b0;
assign full=(wptr==rptr)?n_full:1'b0;
assign empty=(wptr==rptr)?(~n_full):1'b0;
always @ (posedge w_clk or posedge r_clk)
if(w_clk)    n_full<=(wptr==prptr);
else          n_full<=(wptr==prptr);  
但在门级仿真时问题来多了,如 未标题-1.jpg
FPGA入门视频学习地址,让我们一起搞定FPGA设计;

http://www.zxopen.com/vediolist.html
返回列表