<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>linex0816</title>
	<atom:link href="http://ohuo.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://ohuo.net</link>
	<description>又是一个 七十二松 (72pines) 博客</description>
	<pubDate>Mon, 12 Oct 2009 07:51:29 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>D锁存器</title>
		<link>http://ohuo.net/2009/10/12/d%e9%94%81%e5%ad%98%e5%99%a8/</link>
		<comments>http://ohuo.net/2009/10/12/d%e9%94%81%e5%ad%98%e5%99%a8/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 07:51:29 +0000</pubDate>
		<dc:creator>linex0816</dc:creator>
		
		<category><![CDATA[FPGA]]></category>

		<guid isPermaLink="false">http://linex0816.72pines.com/?p=10</guid>
		<description><![CDATA[module D_latch(
 D,       //输入选择地址由开关决定，0：按下，1：未按下
 E,       //输入选择地址由开关决定，0：按下，1：未按下
 
 Q      //输出，0：点亮，1：熄灭
 );
input   D;     //D锁存器输入
input   E;     //D锁存器输入
output  Q;     //D锁存器输出
reg    Q;     //寄存器说明
always @(D or E)    //一旦D或则E变化就执行
begin
 if(E)      //当E=1的时候D才可以赋值给Q，其它状态不执行
  Q &#60;= D;
  else;
end
endmodule
]]></description>
			<content:encoded><![CDATA[<div>module D_latch(<br />
 D,       //输入选择地址由开关决定，0：按下，1：未按下<br />
 E,       //输入选择地址由开关决定，0：按下，1：未按下<br />
 <br />
 Q      //输出，0：点亮，1：熄灭<br />
 );<br />
input   D;     //D锁存器输入<br />
input   E;     //D锁存器输入<br />
output  Q;     //D锁存器输出<br />
reg    Q;     //寄存器说明<br />
always @(D or E)    //一旦D或则E变化就执行<br />
begin<br />
 if(E)      //当E=1的时候D才可以赋值给Q，其它状态不执行<br />
  Q &lt;= D;<br />
  else;<br />
end<br />
endmodule</div>
]]></content:encoded>
			<wfw:commentRss>http://ohuo.net/2009/10/12/d%e9%94%81%e5%ad%98%e5%99%a8/feed/</wfw:commentRss>
		</item>
		<item>
		<title>编码器</title>
		<link>http://ohuo.net/2009/10/12/%e7%bc%96%e7%a0%81%e5%99%a8/</link>
		<comments>http://ohuo.net/2009/10/12/%e7%bc%96%e7%a0%81%e5%99%a8/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 07:49:35 +0000</pubDate>
		<dc:creator>linex0816</dc:creator>
		
		<category><![CDATA[FPGA]]></category>

		<guid isPermaLink="false">http://linex0816.72pines.com/?p=8</guid>
		<description><![CDATA[module my_encode(
 I,      //输入由开关决定，0：按下，1：未按下
 Y      //输出，0：点亮，1：熄灭
 );
input  [3:0] I;    //输入4位
output [1:0] Y;     //输出2位
reg   [1:0] Y;     //always中需要寄存器定义
always @(I)     //一旦输入I变化就执行
begin
 case(I)     //用case语句来描述
  4&#8242;b0001: Y = 2&#8242;b00;   //I[0]为1的时候编码为0
  4&#8242;b0010: Y = 2&#8242;b01;   //I[1]为1的时候编码为1
  4&#8242;b0100: Y = 2&#8242;b10;   //I[2]为1的时候编码为2
  4&#8242;b1000: Y = 2&#8242;b11;   //I[3]为1的时候编码为3
  default: Y = 2&#8242;b00;  //其它方式为0，当多输入为1的时候就是这种情况
 endcase
end
endmodule
]]></description>
			<content:encoded><![CDATA[<div>module my_encode(<br />
 I,      //输入由开关决定，0：按下，1：未按下<br />
 Y      //输出，0：点亮，1：熄灭<br />
 );<br />
input  [3:0] I;    //输入4位<br />
output [1:0] Y;     //输出2位<br />
reg   [1:0] Y;     //always中需要寄存器定义<br />
always @(I)     //一旦输入I变化就执行<br />
begin<br />
 case(I)     //用case语句来描述<br />
  4&#8242;b0001: Y = 2&#8242;b00;   //I[0]为1的时候编码为0<br />
  4&#8242;b0010: Y = 2&#8242;b01;   //I[1]为1的时候编码为1<br />
  4&#8242;b0100: Y = 2&#8242;b10;   //I[2]为1的时候编码为2<br />
  4&#8242;b1000: Y = 2&#8242;b11;   //I[3]为1的时候编码为3<br />
  default: Y = 2&#8242;b00;  //其它方式为0，当多输入为1的时候就是这种情况<br />
 endcase<br />
end<br />
endmodule</div>
]]></content:encoded>
			<wfw:commentRss>http://ohuo.net/2009/10/12/%e7%bc%96%e7%a0%81%e5%99%a8/feed/</wfw:commentRss>
		</item>
		<item>
		<title>优先编码器</title>
		<link>http://ohuo.net/2009/10/12/%e4%bc%98%e5%85%88%e7%bc%96%e7%a0%81%e5%99%a8/</link>
		<comments>http://ohuo.net/2009/10/12/%e4%bc%98%e5%85%88%e7%bc%96%e7%a0%81%e5%99%a8/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 07:48:31 +0000</pubDate>
		<dc:creator>linex0816</dc:creator>
		
		<category><![CDATA[FPGA]]></category>

		<guid isPermaLink="false">http://linex0816.72pines.com/?p=6</guid>
		<description><![CDATA[module my_encode1(
 I,      //输入由开关决定，0：按下，1：未按下
 Y      //输入由开关决定，0：按下，1：未按下
 );
input  [3:0] I;    //输入
output [1:0] Y;     //输出
reg   [1:0] Y;     //输出
always @(I)     //一旦I变化就执行
begin
 casex(I)      //优先编码器需要用casex来描述
  4&#8242;bxxx1: Y = 2&#8242;b00;   //I[0]为1的时候编码为0
  4&#8242;bxx1x: Y = 2&#8242;b01;   //I[1]为1的时候编码为1
  4&#8242;bx1xx: Y = 2&#8242;b10;   //I[2]为1的时候编码为2
  4&#8242;b1xxx: Y = 2&#8242;b11;   //I[3]为1的时候编码为3
  default: Y = 2&#8242;b00;  //其它状态的处理
 endcase
end
endmodule
]]></description>
			<content:encoded><![CDATA[<div>module my_encode1(<br />
 I,      //输入由开关决定，0：按下，1：未按下<br />
 Y      //输入由开关决定，0：按下，1：未按下<br />
 );<br />
input  [3:0] I;    //输入<br />
output [1:0] Y;     //输出<br />
reg   [1:0] Y;     //输出<br />
always @(I)     //一旦I变化就执行<br />
begin<br />
 casex(I)      //优先编码器需要用casex来描述<br />
  4&#8242;bxxx1: Y = 2&#8242;b00;   //I[0]为1的时候编码为0<br />
  4&#8242;bxx1x: Y = 2&#8242;b01;   //I[1]为1的时候编码为1<br />
  4&#8242;bx1xx: Y = 2&#8242;b10;   //I[2]为1的时候编码为2<br />
  4&#8242;b1xxx: Y = 2&#8242;b11;   //I[3]为1的时候编码为3<br />
  default: Y = 2&#8242;b00;  //其它状态的处理<br />
 endcase<br />
end<br />
endmodule</div>
]]></content:encoded>
			<wfw:commentRss>http://ohuo.net/2009/10/12/%e4%bc%98%e5%85%88%e7%bc%96%e7%a0%81%e5%99%a8/feed/</wfw:commentRss>
		</item>
		<item>
		<title>状态机控制流水灯的方向</title>
		<link>http://ohuo.net/2009/10/12/%e7%8a%b6%e6%80%81%e6%9c%ba%e6%8e%a7%e5%88%b6%e6%b5%81%e6%b0%b4%e7%81%af%e7%9a%84%e6%96%b9%e5%90%91/</link>
		<comments>http://ohuo.net/2009/10/12/%e7%8a%b6%e6%80%81%e6%9c%ba%e6%8e%a7%e5%88%b6%e6%b5%81%e6%b0%b4%e7%81%af%e7%9a%84%e6%96%b9%e5%90%91/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 07:47:20 +0000</pubDate>
		<dc:creator>linex0816</dc:creator>
		
		<category><![CDATA[FPGA]]></category>

		<guid isPermaLink="false">http://linex0816.72pines.com/?p=4</guid>
		<description><![CDATA[
module state_machine(
 clk,        //48M
 reset,                                    //
 sel,        //01
 
 Q       //01
 );
input   clk;      //
input   reset;     //
input   sel;
 
output [3:0] Q;      //
reg   [3:0] Q;      //
 
wire    clk_out;     //1S
 
reg   [2:0] sts;
 
parameter   st1 = 2&#8242;b00,   //1
   st2 = 2&#8242;b01,   //2
   st3 = 2&#8242;b10,   //3
   st4 = 2&#8242;b11;   //4
 
/* */
always @(posedge clk_out or negedge reset)
begin
 if(!reset)
 begin
  Q      &#60;= 4&#8242;b0000;   //0
  sts &#60;= st1;
 end
 else
  case(sts)
            st1:       //1
   begin  
    Q [...]]]></description>
			<content:encoded><![CDATA[<div id="art" style="margin: 15px">
<div>module state_machine(<br />
 clk,        //48M<br />
 reset,                                    //<br />
 sel,        //01<br />
 <br />
 Q       //01<br />
 );<br />
input   clk;      //<br />
input   reset;     //<br />
input   sel;<br />
 <br />
output [3:0] Q;      //<br />
reg   [3:0] Q;      //<br />
 <br />
wire    clk_out;     //1S<br />
 <br />
reg   [2:0] sts;<br />
 <br />
parameter   st1 = 2&#8242;b00,   //1<br />
   st2 = 2&#8242;b01,   //2<br />
   st3 = 2&#8242;b10,   //3<br />
   st4 = 2&#8242;b11;   //4<br />
 <br />
/* */<br />
always @(posedge clk_out or negedge reset)<br />
begin<br />
 if(!reset)<br />
 begin<br />
  Q      &lt;= 4&#8242;b0000;   //0<br />
  sts &lt;= st1;<br />
 end<br />
 else<br />
  case(sts)<br />
            st1:       //1<br />
   begin  <br />
    Q &lt;= 4&#8242;b1110;   //0<br />
    <br />
    if(sel)      sts &lt;= st2;   //sel<br />
    else            sts &lt;= st4;<br />
   end   <br />
   <br />
            st2:       //2<br />
  begin  <br />
   Q &lt;= 4&#8242;b1101;    //<br />
   <br />
   if(sel)   sts &lt;= st3;   //sel<br />
   else            sts &lt;= st1; <br />
  end  <br />
  <br />
           st3:       //3<br />
  begin  <br />
   Q &lt;= 4&#8242;b1011;    //<br />
   <br />
   if(sel)      sts &lt;= st4;      //sel<br />
   else            sts &lt;= st2; <br />
  end  <br />
  <br />
           st4:       //4   <br />
  begin  <br />
   Q &lt;= 4&#8242;b0111;   //<br />
   <br />
   if(sel)      sts &lt;= st1;   //sel<br />
   else            sts &lt;= st3; <br />
  end  <br />
  <br />
           default:sts &lt;= st1;    //0<br />
       endcase<br />
end</div>
<div>clk_div clk_div_0(     //2S<br />
    .clk(clk),       //48M<br />
.reset(reset),     //<br />
 <br />
.clk_out(clk_out)     //<br />
   );<br />
endmodule</div>
<div> </div>
<div> </div>
<div>module clk_div<br />
 (<br />
 clk,        //时钟输入，48M<br />
 reset,       //异步复位输入，高电平复位<br />
 clk_out      //分频时钟输出<br />
 );<br />
parameter   cnt_top=26&#8242;d12000000; //分频系数<br />
input   clk;      //端口定义<br />
input   reset;<br />
output   clk_out;<br />
reg     clk_out;      //寄存器定义<br />
reg   [25:0] clk_cnt;<br />
always @(posedge clk or negedge reset) <br />
begin<br />
 if(!reset)       //复位<br />
 begin<br />
  clk_out &lt;= 1&#8242;b0;<br />
  clk_cnt &lt;= 0;<br />
 end<br />
 else<br />
 begin<br />
  if(clk_cnt==cnt_top-1)<br />
  begin<br />
   clk_out &lt;= ~clk_out;   //分频输出<br />
   clk_cnt &lt;= 0;<br />
  end<br />
  else<br />
   clk_cnt &lt;= clk_cnt+1&#8242;b1; //计数器加1<br />
 end<br />
end<br />
endmodule</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://ohuo.net/2009/10/12/%e7%8a%b6%e6%80%81%e6%9c%ba%e6%8e%a7%e5%88%b6%e6%b5%81%e6%b0%b4%e7%81%af%e7%9a%84%e6%96%b9%e5%90%91/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hello world！</title>
		<link>http://ohuo.net/2009/10/02/hello-world/</link>
		<comments>http://ohuo.net/2009/10/02/hello-world/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 14:50:32 +0000</pubDate>
		<dc:creator>linex0816</dc:creator>
		
		<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Welcome to 七十二松 (72pines). This is your first post. Edit or delete it, then start blogging!
]]></description>
			<content:encoded><![CDATA[<p>Welcome to <a href="http://72pines.com/">七十二松 (72pines)</a>. This is your first post. Edit or delete it, then start blogging!</p>
]]></content:encoded>
			<wfw:commentRss>http://ohuo.net/2009/10/02/hello-world/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

