⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 djv3.htm

📁 基于FPGA的嵌入式机器人视觉识别系统模块源代码
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0063)http://www.seattlerobotics.org/encoder/200601/article3/djv3.htm -->
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2900.3243" name=GENERATOR></HEAD>
<BODY text=#000000 vLink=#000000 aLink=#0000ff link=#0000b0 
bgColor=#008080><BASEFONT face=Arial color=#ffffff>
<CENTER>
<H2>A Color Vision System for Embedded Robotics Applications</H2></CENTER>
<CENTER>
<H2><A 
href="http://www.seattlerobotics.org/encoder/200601/article3/index.php#djv" 
target=main>Click here to return to article</CENTER></A>
<P>
<TABLE borderColor=#0080ff cellPadding=10 align=center 
background=djv3.files/grid.gif border=10>
  <TBODY>
  <TR>
    <TD><FONT color=black>
      <CENTER>
      <H4>Verilog FPGA standard fifo, used everywhere:</H4></CENTER>
      <P><PRE>module fifo_33 #(parameter fifo_width = 33) (
			input wire clk,
			input wire rst,
			input wire [fifo_width - 1:0] din,
			input wire we,
			output wire [fifo_width - 1:0] dout,
			input wire re,
			output wire full,
			output wire empty
			);

////////////////////////////////////////////////////////////////////
//
// Local Wires
//

reg     [fifo_width - 1:0]	mem[0:3];
reg     [1:0]   wp;
reg     [1:0]   rp;
wire    [1:0]   wp_p1;
wire    [1:0]   rp_p1;
reg		gb;

////////////////////////////////////////////////////////////////////
//
// Misc Logic
//

always @(posedge clk or posedge rst)
begin
	if(rst)
		wp &lt;= #1 2'h0;
   else if(we)
		wp &lt;= #1 wp_p1;
end

assign #1 wp_p1 = wp + 2'h1;

always @(posedge clk or posedge rst)
begin
	if(rst)
		rp &lt;= #1 2'h0;
	else if(re)
		rp &lt;= #1 rp_p1;
end

assign #1 rp_p1 = rp + 2'h1;

// Fifo Output
assign dout = mem[rp];

// Fifo Input 
always @(posedge clk)
begin
	if(we)
		mem[wp] &lt;= #1 din;
end

// Status
assign #1 empty = (wp == rp) &amp; !gb;
assign #1 full  = (wp == rp) &amp;  gb;

// Guard Bit ...
always @(posedge clk)
begin
	if(rst)
		gb &lt;= #1 1'b0;
	else if((wp_p1 == rp) &amp; we)
		gb &lt;= #1 1'b1;
	else if(re)
		gb &lt;= #1 1'b0;
end

endmodule

</PRE></FONT></TR></TBODY></TABLE>
<P>
<CENTER>
<H2><A 
href="http://www.seattlerobotics.org/encoder/200601/article3/index.php#djv" 
target=main>Click here to return to 
article</CENTER></A></H2></H2></BASEFONT></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -