﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-“集成”人生-文章分类-技术</title><link>http://www.cnitblog.com/richard2k/category/110.html</link><description>集成电路学习心得与个人生活流水</description><language>zh-cn</language><lastBuildDate>Sat, 01 Oct 2011 18:31:16 GMT</lastBuildDate><pubDate>Sat, 01 Oct 2011 18:31:16 GMT</pubDate><ttl>60</ttl><item><title>Testchip tape-out (1)</title><link>http://www.cnitblog.com/richard2k/articles/43718.html</link><dc:creator>洪七</dc:creator><author>洪七</author><pubDate>Wed, 14 May 2008 13:28:00 GMT</pubDate><guid>http://www.cnitblog.com/richard2k/articles/43718.html</guid><wfw:comment>http://www.cnitblog.com/richard2k/comments/43718.html</wfw:comment><comments>http://www.cnitblog.com/richard2k/articles/43718.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/richard2k/comments/commentRss/43718.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/richard2k/services/trackbacks/43718.html</trackback:ping><description><![CDATA[Layout engineer task during tape-out stage as follow:<br>1) LVS check.<br>2) DRC check. If wholechip have awaived DRC, layout engineer must confirm with Designer.<br>3)ERC check.<br>4) Antenna check.<br>5) ESD check. (Careful check IO Pad).<br>6) Layer ID.<br>7) Laser Marker.<br>8) LOGO.
<img src ="http://www.cnitblog.com/richard2k/aggbug/43718.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/richard2k/" target="_blank">洪七</a> 2008-05-14 21:28 <a href="http://www.cnitblog.com/richard2k/articles/43718.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Power pick up guildline</title><link>http://www.cnitblog.com/richard2k/articles/10467.html</link><dc:creator>洪七</dc:creator><author>洪七</author><pubDate>Sun, 14 May 2006 03:05:00 GMT</pubDate><guid>http://www.cnitblog.com/richard2k/articles/10467.html</guid><wfw:comment>http://www.cnitblog.com/richard2k/comments/10467.html</wfw:comment><comments>http://www.cnitblog.com/richard2k/articles/10467.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/richard2k/comments/commentRss/10467.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/richard2k/services/trackbacks/10467.html</trackback:ping><description><![CDATA[After a long routing, the voltage transmitted  along the wire will have IR  drop. In order to reduce IR drop  effect, the designer often employ a gap block to pick up power via well potential. <br />       <strong>But  how long the wire routing ,we should insert a gap block?<br /> </strong>the guildline is that  when the power wire rout about 20~30 um, we should insert a gap block.<br />For example, UMC  90nm Process  8TSRAM Cell  area is 2.3x0.905=2.08 um^2,  we insert one gap block per 32  SRAM Cell in vertical direction .<br />              UMC  0.18um Proces  8TSRAM Cell area is 3.04*3.36=10.2 um^2  , we insert  one gap block per 8 SRAM Cell  in vertical direction.<br /><img src ="http://www.cnitblog.com/richard2k/aggbug/10467.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/richard2k/" target="_blank">洪七</a> 2006-05-14 11:05 <a href="http://www.cnitblog.com/richard2k/articles/10467.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Power Pad  guildline</title><link>http://www.cnitblog.com/richard2k/articles/10466.html</link><dc:creator>洪七</dc:creator><author>洪七</author><pubDate>Sun, 14 May 2006 02:48:00 GMT</pubDate><guid>http://www.cnitblog.com/richard2k/articles/10466.html</guid><wfw:comment>http://www.cnitblog.com/richard2k/comments/10466.html</wfw:comment><comments>http://www.cnitblog.com/richard2k/articles/10466.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/richard2k/comments/commentRss/10466.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/richard2k/services/trackbacks/10466.html</trackback:ping><description><![CDATA[In experience, it must have  one power pad per four IO pin. And the power pad should place symmetrically.  <img src ="http://www.cnitblog.com/richard2k/aggbug/10466.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/richard2k/" target="_blank">洪七</a> 2006-05-14 10:48 <a href="http://www.cnitblog.com/richard2k/articles/10466.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Design  Stage  Task</title><link>http://www.cnitblog.com/richard2k/articles/10465.html</link><dc:creator>洪七</dc:creator><author>洪七</author><pubDate>Sun, 14 May 2006 02:43:00 GMT</pubDate><guid>http://www.cnitblog.com/richard2k/articles/10465.html</guid><wfw:comment>http://www.cnitblog.com/richard2k/comments/10465.html</wfw:comment><comments>http://www.cnitblog.com/richard2k/articles/10465.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/richard2k/comments/commentRss/10465.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/richard2k/services/trackbacks/10465.html</trackback:ping><description><![CDATA[
		<p>At  Design Stage. the critical task is  to build  critical path ( read path). </p>
<img src ="http://www.cnitblog.com/richard2k/aggbug/10465.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/richard2k/" target="_blank">洪七</a> 2006-05-14 10:43 <a href="http://www.cnitblog.com/richard2k/articles/10465.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SRAM design flow</title><link>http://www.cnitblog.com/richard2k/articles/10168.html</link><dc:creator>洪七</dc:creator><author>洪七</author><pubDate>Sun, 07 May 2006 08:06:00 GMT</pubDate><guid>http://www.cnitblog.com/richard2k/articles/10168.html</guid><wfw:comment>http://www.cnitblog.com/richard2k/comments/10168.html</wfw:comment><comments>http://www.cnitblog.com/richard2k/articles/10168.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/richard2k/comments/commentRss/10168.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/richard2k/services/trackbacks/10168.html</trackback:ping><description><![CDATA[
		<p>SRAM  Design Flow:<br />(1) Specification<br />(2) Kick off<br />(3) Architecture report<br />(4) Design  report<br />(5) Layout  View<br />(6) Postsim<br />(7) Tapeout  report<br /><br />1, Specification Stage<br />a. Build work directory and environment.<br />b. Write script which is used during design cycle.<br />c. Evaluate MOSFET  Idsat, Model  Charteristic.<br />d. Evaluate Miniarray Layout.<br />e. Evaluate Read and Write  Speed.<br />f.  Read correlative patent and database.<br /><br />2, Kick off  Stage<br />a, Build DSM_Kits  File.<br />b, Write  Project  execute  plan and manpower list.<br />c,  Make schematic tast list. confirm the designers who take charge and check. <br />d. Write Kick off  review PowerPoint.<br /> <br /><br />3. Architecture  Stage<br />a, Evaluate  xydecoder                                                                                                                                         <br />b, Evaluate YMUX Circuit<br />c, Evaluate  Eq&amp;Precharge Current<br />d. Signal Place and Routing<br /></p>
		<p>4. Design report<br />a. Interface Control  Design<br />b. XYDecoder  Design<br />c. WLDrv    Design<br />d. Tracking mechanism Design<br />e. YMUX  Design<br />f.  Sense  Amplifier Design<br />g. Eq&amp;EqDrv  Design<br />h. Array  BL/BLB Twist  mechanism <br />i.  IO Driver Design<br /><br />5. Layout Review<br />a. Layout  Plan<br />b. Power  Plan<br /><br />6. Postsim<br />a.  extract  lpe<br />b.  Run  post  simulation<br />c.  Check  function and  performance<br /><br />7. Tape out  Review<br />a. Write  Tape out  review  PowerPoint<br />b. Write  Test  document<br />c.  Write  tape out  tooling  form.<br /><br /><br /> </p>
<img src ="http://www.cnitblog.com/richard2k/aggbug/10168.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/richard2k/" target="_blank">洪七</a> 2006-05-07 16:06 <a href="http://www.cnitblog.com/richard2k/articles/10168.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Plan Power</title><link>http://www.cnitblog.com/richard2k/articles/9526.html</link><dc:creator>洪七</dc:creator><author>洪七</author><pubDate>Sat, 22 Apr 2006 03:55:00 GMT</pubDate><guid>http://www.cnitblog.com/richard2k/articles/9526.html</guid><wfw:comment>http://www.cnitblog.com/richard2k/comments/9526.html</wfw:comment><comments>http://www.cnitblog.com/richard2k/articles/9526.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/richard2k/comments/commentRss/9526.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/richard2k/services/trackbacks/9526.html</trackback:ping><description><![CDATA[          After finished  the whole circuit design，before deliver to layout department , the circuit designer should make layout plan. The  important thing among the layout plan  is  power plan.  How to evaluate the power plan  quality? Now  <strong>two rules should be followed:</strong><br />Power metal Width:<br />(1)after long wire route, Power metal's IR drop should less than 20 percentage of   supply voltage.<br />(So you should calculate how much  current will flow through the Power Metal, it is often the sum of  banch current.)<br />(2) The average current of  per um Power metal  should  less than 1 mA.<br /><strong>The other  rules is also need to notice:</strong><br /> (1) How  much current  can  flow through  one via ? <br />      Please  check the TLR file of given process, it will  explain at the Electomigration Rules   column. Please calculate the number of via  is  sufficient or not.<br /><strong>    Why  need to concern the number of via?<br /></strong>           For example,  If  The Main Power supply metal is metal three at  the  vertical  direction, and Metal two is  supply power to every cell at the horizontal direction. If  Metal two need to input 20mA current, but you only have one  via2 which connect Metal3 and Metal2.  If  one via2 can only flow through  10mA current, Now  how  to ensure the Metal2  power supply source. The principle is similar as water pipe network.  The Main pipe and banch pipe  both are big enough to  flow sufficient water ,  but  if water faucet  is  very  small. Now  the water faucet  will  grow to  be a  bottleneck.<br /><br /><strong>The another factor should be considered.</strong><br />You should have strongly  understand  layout. you can evaluate the width of circuit  layout and overall  arrangement. Only this, you can confirm whether  the Power wire have adequate place to layout.<img src ="http://www.cnitblog.com/richard2k/aggbug/9526.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/richard2k/" target="_blank">洪七</a> 2006-04-22 11:55 <a href="http://www.cnitblog.com/richard2k/articles/9526.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>三分频VHDL与verilog 实现讨论</title><link>http://www.cnitblog.com/richard2k/articles/1924.html</link><dc:creator>洪七</dc:creator><author>洪七</author><pubDate>Sun, 14 Aug 2005 14:56:00 GMT</pubDate><guid>http://www.cnitblog.com/richard2k/articles/1924.html</guid><wfw:comment>http://www.cnitblog.com/richard2k/comments/1924.html</wfw:comment><comments>http://www.cnitblog.com/richard2k/articles/1924.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnitblog.com/richard2k/comments/commentRss/1924.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/richard2k/services/trackbacks/1924.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;转摘自 www.edacn.net(一个学习IC设计不错的论坛)LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY feq_sel ISPORT(clk &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : INSTD_LOG...&nbsp;&nbsp;<a href='http://www.cnitblog.com/richard2k/articles/1924.html'>阅读全文</a><img src ="http://www.cnitblog.com/richard2k/aggbug/1924.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/richard2k/" target="_blank">洪七</a> 2005-08-14 22:56 <a href="http://www.cnitblog.com/richard2k/articles/1924.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>死锁的思考</title><link>http://www.cnitblog.com/richard2k/articles/637.html</link><dc:creator>洪七</dc:creator><author>洪七</author><pubDate>Tue, 28 Jun 2005 07:11:00 GMT</pubDate><guid>http://www.cnitblog.com/richard2k/articles/637.html</guid><wfw:comment>http://www.cnitblog.com/richard2k/comments/637.html</wfw:comment><comments>http://www.cnitblog.com/richard2k/articles/637.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/richard2k/comments/commentRss/637.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/richard2k/services/trackbacks/637.html</trackback:ping><description><![CDATA[来源于操作系统中的概念<BR><FONT color=#ff0000><FONT face=宋体>什么是死锁</FONT><SPAN lang=EN-US style="COLOR: red"><FONT face="Times New Roman">? </FONT></SPAN><SPAN style="COLOR: red; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">产生原因死锁的是什么</SPAN><SPAN lang=EN-US style="COLOR: red"><FONT face="Times New Roman">?<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></SPAN></FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">答：若系统中存在一组进程</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">(</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">两个或多个进程</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">)</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，它们中的每一个进程都占用了某种资源而又都在等待其中另一个进程所占用的资源，这种等待永远不能结束，则说系统出现了“死锁”。或说这组进程处于“死锁”状态。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT size=3>形成死锁的起因：</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -36pt; tab-stops: list 36.0pt; mso-list: l0 level1 lfo1"><SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT size=3>（1）</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT size=3>系统资源不足：若干个进程要求资源的总数大于系统能提供的资源数。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -36pt; tab-stops: list 36.0pt; mso-list: l0 level1 lfo1"><SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT size=3>（2）</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT size=3>资源分配策略不当：</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">3</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）</SPAN><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"><FONT face="Times New Roman">&nbsp; </FONT></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">进程推进顺序不合适。<BR>集成电路设计中，死锁的含义呢？<BR>（待续）</SPAN></FONT></P><img src ="http://www.cnitblog.com/richard2k/aggbug/637.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/richard2k/" target="_blank">洪七</a> 2005-06-28 15:11 <a href="http://www.cnitblog.com/richard2k/articles/637.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FIFO设计</title><link>http://www.cnitblog.com/richard2k/articles/306.html</link><dc:creator>洪七</dc:creator><author>洪七</author><pubDate>Wed, 08 Jun 2005 15:20:00 GMT</pubDate><guid>http://www.cnitblog.com/richard2k/articles/306.html</guid><wfw:comment>http://www.cnitblog.com/richard2k/comments/306.html</wfw:comment><comments>http://www.cnitblog.com/richard2k/articles/306.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnitblog.com/richard2k/comments/commentRss/306.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/richard2k/services/trackbacks/306.html</trackback:ping><description><![CDATA[<FONT size=4>听张老师讲了三节课，加上自己看了些资料总算对FIFO有点眉目了。总结如下：<BR></FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4><SPAN lang=EN-US>FIFO(First<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>IN First Out)</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">先进先出电路</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实现数据先进先出的存储器件，<SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的用途:</SPAN>普遍用作数据缓冲器,</SPAN><SPAN lang=EN-US><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以用在电话通讯网络的前端来同步输入的网络数据包。也可以用于顺序数据的缓冲，比如音频信号或视频信号。另一个广泛的应用是在处理器之间的通讯中。</SPAN></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的基本单元是寄存器，作为存储器件，</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的存储能力是由其内部定义的存储寄存器的数量决定</SPAN> <SPAN lang=EN-US>. FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">存储器一般以数据量的深度</SPAN><SPAN lang=EN-US>X</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">宽度的形式来说明所采用的基本结构</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp; 第一代</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">存储器是基于“导向”理论的，数据从输入端被移到输出端，所需要的时间称为导向时间</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">每一个数据字需要一个状态触发器，因此对数据锁存的控制只能实现很短的</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的操作</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4></FONT><SPAN lang=EN-US>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以长度为</SPAN><SPAN lang=EN-US>8</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为例说明其工作原理。入图所示</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><v:line id=_x0000_s1027 style="Z-INDEX: 2; LEFT: 0px; POSITION: absolute; TEXT-ALIGN: left" to="126pt,31.2pt" from="126pt,7.8pt"><FONT size=4></FONT></v:line><v:line id=_x0000_s1028 style="Z-INDEX: 3; LEFT: 0px; POSITION: absolute; TEXT-ALIGN: left" to="2in,31.2pt" from="2in,7.8pt"><FONT size=4></FONT></v:line><v:line id=_x0000_s1029 style="Z-INDEX: 4; LEFT: 0px; POSITION: absolute; TEXT-ALIGN: left" to="162pt,31.2pt" from="162pt,7.8pt"><FONT size=4></FONT></v:line><v:line id=_x0000_s1030 style="Z-INDEX: 5; LEFT: 0px; POSITION: absolute; TEXT-ALIGN: left" to="180pt,31.2pt" from="180pt,7.8pt"><FONT size=4></FONT></v:line><v:line id=_x0000_s1031 style="Z-INDEX: 6; LEFT: 0px; POSITION: absolute; TEXT-ALIGN: left" to="198pt,31.2pt" from="198pt,7.8pt"><FONT size=4></FONT></v:line><v:line id=_x0000_s1032 style="Z-INDEX: 7; LEFT: 0px; POSITION: absolute; TEXT-ALIGN: left" to="3in,31.2pt" from="3in,7.8pt"><FONT size=4></FONT></v:line><v:line id=_x0000_s1033 style="Z-INDEX: 8; LEFT: 0px; POSITION: absolute; TEXT-ALIGN: left" to="234pt,31.2pt" from="234pt,7.8pt"><FONT size=4></FONT></v:line><SPAN lang=EN-US><FONT size=4>&nbsp;<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ____________________<BR style="mso-ignore: vglayout" clear=all></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><v:line id=_x0000_s1034 style="Z-INDEX: 9; LEFT: 0px; POSITION: absolute; TEXT-ALIGN: left" to="108pt,7.8pt" from="81pt,7.8pt"><v:stroke endarrow="block"><FONT size=4></FONT></v:stroke></v:line><SPAN lang=EN-US><FONT size=4><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>D,<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>C,<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>B,<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>A&nbsp;&nbsp;&nbsp;——&gt;&nbsp;| 1&nbsp;|&nbsp; 2&nbsp;| 3&nbsp;| 4&nbsp;| 5&nbsp;&nbsp;| 6&nbsp;| 7&nbsp;| 8|———&gt;</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=4>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">两边的箭头表示数据移动的方向。</SPAN><SPAN lang=EN-US>A</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN lang=EN-US>B</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN lang=EN-US>C</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN lang=EN-US>D</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表示被处理的数据。</SPAN><SPAN lang=EN-US>1</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN lang=EN-US>2</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN lang=EN-US>3</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN lang=EN-US>4</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，。。。</SPAN><SPAN lang=EN-US>8</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表示</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</SPAN><SPAN lang=EN-US>8</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个存储单元。表明这个</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中共有</SPAN><SPAN lang=EN-US>8</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个寄存器单元。每个寄存器单元可以存储一个数据。所以寄存器的单元越多，</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的存储能力就越强。每个寄存器单元的位宽与</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的输入和输出端的位宽是一致的。如果要处理的数据</SPAN><SPAN lang=EN-US>A</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN lang=EN-US>B</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN lang=EN-US>C</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</SPAN><SPAN lang=EN-US>D</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</SPAN><SPAN lang=EN-US>16</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">位的数据，那么输入输出端及每个寄存器单元的位宽就都是</SPAN><SPAN lang=EN-US>16</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">位。这个</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以命名为</SPAN><SPAN lang=EN-US>8X16FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。它在每一个时钟上升沿到来时，数据向右移动一个存储单元。这样在时钟的控制下，数据从左到右通过存储单元</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=4>&nbsp;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">通常是双端口的存储器，其中一个端口用于写入数据，而另一个端口用于读出数据。可以同时对存储器字存储单元进行写入和读出操作。它的数据吞吐率是普通</SPAN><SPAN lang=EN-US>RAM</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的两倍。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">型的存储器不需要由地址来存取数据。需要由另外的信号线（或标志）来指明存储器的内容状态。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=4>&nbsp;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; 现在的</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">存储器采用</SPAN><SPAN lang=EN-US>SRAM</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">单元来实现。它是基于带两个指针的环行</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">结构的。要写入的数据的存储地址放在写指针中，而</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">结构中要读出的第一个数据的地址放在读指针中</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=4>&nbsp;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT size=4>在复位后，两个指针都指向存储器的同一个字单元。每次写操作后，写指针指向下一个存储单元。对数据字的读取操作，会把读指针指向下一个要读取的数据字</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=4>&nbsp;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">读指针就不断地跟随写指针，当读指针跟上写指针后，</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的结构里面为空。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果写指针追上读指针，</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">结构里面的数据是满载的。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=4>&nbsp;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果从硬件上来实现循环存储器，可以用双端口的</SPAN><SPAN lang=EN-US>SRAM</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来存取数据。指针具用二进制计数器的特征，它用于产生</SPAN><SPAN lang=EN-US>SRAM</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的存储器地址</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=4>&nbsp;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><o:p><FONT size=4></FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp; 同步</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">存储器的基本结构包括存储器阵列，标志逻辑和扩展逻辑（图太难画了，就不贴了）。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT size=4>存储器阵列由双端口存储单元构成。允许同时对存储单元的两个端口（读端口和写端口）进行存取。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=4>&nbsp;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 标志逻辑用于比较两个地址指针的值，如果两个值的比较结果为零，</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">存储器为全空，同时全空标志为真。</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果两个值的比较结果等于存储器的容量深度，说明存储器全满，同时全满标志为真。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT size=4>还可以设置其他一些标志，比如半满，可编程接近满，可编程接近空等。它们也通过对偏移量寄存器中的编程值和存储器阵列中的字的数量进行比较来生成<BR></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=4>（在张老师的课上，讲到读写时序的时候，关于标志逻辑，讲的太快，没有太深的体会，还需要看书1）&nbsp;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; 扩展逻辑通过对多个模块按容量深度扩展结构进行的级联来形成更深的</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">存储器，采用令牌传递方法来实现逻辑上容量更深的</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT size=4>&nbsp;&nbsp;&nbsp; 在普通模式下（没有进行容量，深度级联的模式），每一个地址在到达最大值后，会跳会到零。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=4>&nbsp;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; 在容量深度扩展模式下，当地址指针到达最大值后，一个脉冲信号会送到扩展端口，该端口把令牌传到另一个</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">存储器中，（直到令牌重新传回来，这个地址指针才会增加）（这个地方还有点模糊，有待解决。问过张老师，他却给我讲的是两个FIFO的乒乓操作。由于我的思路不是很清晰，也没有继续问下去。当时张老师也要开始讲课了，不好再打扰。）</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=4>&nbsp;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; 字宽扩展，可以使</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">存储器有更宽的数据通路</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=4><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在字宽扩展模式中，读操作，写操作和重传输都一样。要在字宽上扩展多个</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">存储器，必须同时通过对每个存储器的状态标志进行与操作生成“混合标志”。混合标志也包括全空标志和全满标志。这样才能保证</SPAN><SPAN lang=EN-US>FIFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">存储器保持同步。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p></o:p></SPAN></P><img src ="http://www.cnitblog.com/richard2k/aggbug/306.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/richard2k/" target="_blank">洪七</a> 2005-06-08 23:20 <a href="http://www.cnitblog.com/richard2k/articles/306.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>