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

📄 fpga 设计的四种常用思想与技巧(二).htm

📁 FPGA设计常用的四种设计方法
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0053)http://www.pld.com.cn/advance/skill/design_skill2.htm -->
<HTML><HEAD><TITLE>template</TITLE><!-- #BeginTemplate "../../Templates/main.dwt" --><!-- DW6 -->
<META http-equiv=Content-Type content="text/html; charset=gb2312"><!-- #BeginEditable "doctitle" --><!-- #EndEditable --><LINK 
href="FPGA 设计的四种常用思想与技巧(二).files/Style.css" type=text/css rel=stylesheet>
<META content="tb, default" name="Microsoft Border">
<STYLE type=text/css>.style1 {
	COLOR: #a6a6b9
}
BODY {
	FONT-SIZE: 9pt; COLOR: #333333
}
TD {
	FONT-SIZE: 9pt; COLOR: #333333
}
TH {
	FONT-SIZE: 9pt; COLOR: #333333
}
A:hover {
	COLOR: #0000ff
}
</STYLE>

<META content="MSHTML 6.00.2900.2668" name=GENERATOR></HEAD>
<BODY vLink=#000066 aLink=#fe818d link=#0000ff bgColor=#ffffff leftMargin=2 
topMargin=2 rightMargin=2 MARGINWIDTH="2" MARGINHEIGHT="2">
<TABLE height=36 cellSpacing=0 cellPadding=0 width=778 align=center border=0>
  <TBODY>
  <TR>
    <TD class=tbgc width=116 
    background="FPGA 设计的四种常用思想与技巧(二).files/mast_logo.gif" rowSpan=2>&nbsp;</TD>
    <TD width=37 bgColor=#504a8a height=20>&nbsp;</TD>
    <TD width=303 bgColor=#504a8a height=20>
      <DIV align=right><FONT class=font10 color=#ffffff><SPAN class=font10><B 
      class=font10_white>可编程逻辑器件 中文网站</B></SPAN></FONT></DIV></TD>
    <TD width=304 bgColor=#504a8a height=20>
      <DIV align=right><FONT color=#6699cc><FONT class=index2 
      color=#fafafa><SPAN class=index2>推荐使用1024x768分辨率</SPAN></FONT><SPAN 
      class=index2><FONT class=index2 color=#cccccc> 
    </FONT></SPAN></FONT></DIV></TD></TR>
  <TR>
    <TD class=font10 vAlign=center bgColor=#000066 colSpan=3>
      <DIV align=left><FONT class=verysmall color=#000066 size=1><SPAN 
      class=verysmall2>xilinx,lattice,altera,actel,Quicklogic,EDA软件,PLD,CPLD,FPGA,VHDL,verilog,IP 
      core,ABEL,单片机,8051,数字信号处理,DSP,MCU,PCI接口,数字逻辑电路,设计技巧,参考设计,电子元器件销售,解密,license,crack,synplify,modlesim,开发板,学习资料,学习套件</SPAN></FONT></DIV></TD></TR></TBODY></TABLE>
<TABLE class=font10 cellSpacing=0 cellPadding=0 width=778 align=center 
  border=0><TBODY>
  <TR vAlign=center align=middle bgColor=#000066>
    <TD class=font9 width=119 height=17>
      <DIV align=center><B><A class=index 
      href="http://www.pld.com.cn/index.htm">主 页</A></B></DIV></TD>
    <TD class=font9 width=80 height=17><B><FONT color=#cccccc><A class=index 
      href="http://www.pld.com.cn/introduction1.htm">新手入门</A></FONT></B></TD>
    <TD class=font9 width=80 height=17><B><FONT color=#cccccc><A class=index 
      href="http://www.pld.com.cn/advance.htm">设计进阶</A></FONT></B></TD>
    <TD class=font9 width=80 height=17><B><FONT color=#cccccc><A class=index 
      href="http://www.pld.com.cn/hdl.htm">HDL语言</A></FONT></B></TD>
    <TD class=font9 width=80 height=17><B><FONT color=#cccccc><A class=index 
      href="http://www.pld.com.cn/manufacturer.htm">PLD厂商</A></FONT></B></TD>
    <TD class=font9 width=80 height=17><B><FONT color=#cccccc><A class=index 
      href="http://www.pld.com.cn/freeip.htm">参考设计</A></FONT></B></TD>
    <TD class=font9 width=80 height=17><B class=index><A class=index 
      href="http://www.pld.com.cn/software.htm">开发软件</A></B></TD>
    <TD class=font9 width=80 height=17><B><FONT color=#cccccc><A class=index 
      href="http://www.pld.com.cn/application.htm">应用文章</A></FONT></B></TD>
    <TD class=font9 width=80 height=17><B><FONT color=#cccccc><A class=index 
      href="http://www.pld.com.cn/BBS/index.asp">PLD论坛</A></FONT></B></TD></TR><!--msnavigation--></TBODY></TABLE>
<TABLE class=font10 cellSpacing=0 cellPadding=0 width=778 align=center 
  border=0><TBODY>
  <TR>
    <TD width=119 bgColor=#e8e8e8>&nbsp;</TD>
    <TD colSpan=8>
      <MARQUEE class=font9 scrollAmount=5 scrollDelay=100 width="100%" 
      bgColor=#ffffff border="0" align="middle"><FONT 
      color=#000066>欢迎来到可编程逻辑器件中文网站! www.PLD.com.cn </FONT></MARQUEE></TD></TR><!--msnavigation--></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=778 align=center border=0>
  <TBODY>
  <TR>
    <TD vAlign=top width=119 bgColor=#e8e8e8>
      <DIV align=left><!-- #BeginEditable "column" --><!-- #EndEditable -->
      <P>&nbsp;</P>
      <P>&nbsp;</P>
      <P>&nbsp;</P></DIV></TD><!--msnavigation-->
    <TD vAlign=top height=52>
      <DIV align=center>
      <CENTER><!-- #BeginEditable "Content" -->
      <P>&nbsp;</P>
      <BLOCKQUOTE>
        <P align=left><A class=font9 href="http://www.pld.com.cn/advance.htm">栏目 
        &gt; 设计进阶</A></P>
        <P align=center>&nbsp;</P>
        <P align=center><SPAN class=font12B><STRONG>FPGA 
        设计的四种常用思想与技巧(二)</STRONG></SPAN></P>
        <P align=center>&nbsp;</P>
        <P align=left>&nbsp;</P>
        <P align=left><STRONG>串并转换设计技巧 </STRONG></P></BLOCKQUOTE>
      <P align=left> </P>
      <BLOCKQUOTE>
        <P align=left>串并转换是 FPGA 
        设计的一个重要技巧,它是数据流处理的常用手段,也是面积与速度互换思想的直接体现。串并转换的实现方法多种多样,根据数据的排序和数量的要求,可以选用寄存器、 
        RAM 等实现。前面在乒乓操作的图例中,就是通过 DPRAM 实现了数据流的串并转换,而且由于使用了 DPRAM 
        ,数据的缓冲区可以开得很大,对于数量比较小的设计可以采用寄存器完成串并转换。如无特殊需求,应该用同步时序设计完成串并之间的转换。比如数据从串行到并行,数据排列顺序是高位在前,可以用下面的编码实现: 
        </P>
        <P align=left><BR>prl_temp&lt;={prl_temp,srl_in}; </P>
        <P align=left>其中, prl_temp 是并行输出缓存寄存器, srl_in 是串行数据输入。对于排列顺序有规定的串并转换,可以用 
        case 语句判断实现。对于复杂的串并转换,还可以用状态机实现。串并转换的方法比较简单,在此不必赘述。 </P>
        <P align=left>&nbsp;</P>
        <P align=left><STRONG>流水线操作设计思想 </STRONG></P>
        <P align=center>&nbsp;</P>
        <P align=left>首先需要声明的是,这里所讲述的流水线是指一种处理流程和顺序操作的设计思想,并非 FPGA 、 ASIC 
        设计中优化时序所用的 “Pipelining” 。 </P>
        <P align=left>流水线处理是高速设计中的一个常用设计手段。如果某个设计的处理流程分为若干步骤,而且整个数据处理是 “ 单流向 ” 
        的,即没有反馈或者迭代运算,前一个步骤的输出是下一个步骤的输入,则可以考虑采用流水线设计方法来提高系统的工作频率。 </P>
        <P align=center><STRONG><IMG height=78 alt=图3:流水线设计的结构示意图。 
        src="FPGA 设计的四种常用思想与技巧(二).files/design_skill2_clip_image001.gif" 
        width=400></STRONG></P>
        <P align=left>流水线设计的结构示意图如图 3 所示。其基本结构为:将适当划分的 n 
        个操作步骤单流向串联起来。流水线操作的最大特点和要求是,数据流在各个步骤的处理从时间上看是连续的,如果将每个操作步骤简化假设为通过一个 D 
        触发器 ( 就是用寄存器打一个节拍 ) ,那么流水线操作就类似一个移位寄存器组,数据流依次流经 D 
        触发器,完成每个步骤的操作。流水线设计时序如图 4 所示。 </P>
        <P align=center><IMG height=234 alt=图4:流水线设计时序示意图。 
        src="FPGA 设计的四种常用思想与技巧(二).files/design_skill2_clip_image001_0000.gif" 
        width=400> </P>
        <P align=left>&nbsp;</P>
        <P 
        align=left>流水线设计的一个关键在于整个设计时序的合理安排,要求每个操作步骤的划分合理。如果前级操作时间恰好等于后级的操作时间,设计最为简单,前级的输出直接汇入后级的输入即可;如果前级操作时间大于后级的操作时间,则需要对前级的输出数据适当缓存才能汇入到后级输入端;如果前级操作时间恰好小于后级的操作时间,则必须通过复制逻辑,将数据流分流,或者在前级对数据采用存储、后处理方式,否则会造成后级数据溢出。 
        </P>
        <P align=left>在 WCDMA 设计中经常使用到流水线处理的方法,如 RAKE 
        接收机、搜索器、前导捕获等。流水线处理方式之所以频率较高,是因为复制了处理模块,它是面积换取速度思想的又一种具体体现。 </P>
        <P align=left>&nbsp;</P>
        <P align=left>&nbsp;</P></BLOCKQUOTE>
      <P><A href="http://www.pld.com.cn/advance/skill/design_skill.htm">上一页</A> 
      <A href="http://www.pld.com.cn/advance/skill/design_skill3.htm">下一页</A> <A 
      href="http://www.pld.com.cn/advance/skill/design_skill.htm">(1)</A> (2) <A 
      href="http://www.pld.com.cn/advance/skill/design_skill3.htm">(3)</A> </P>
      <P>&nbsp;</P>
      <P>&nbsp;</P><!-- #EndEditable -->
      <P 
class=index2>&nbsp;</P></CENTER></DIV></TD></TR><!--msnavigation--></TBODY></TABLE>
<TABLE class=font9 height=35 cellSpacing=0 cellPadding=0 width=778 align=center 
bgColor=#000000 border=0>
  <TBODY>
  <TR>
    <TD align=middle width="4%" bgColor=#000066 height=10>
      <DIV align=left><FONT face="Arial, Helvetica, sans-serif" 
      color=#ffffff><B><SPAN class=font9></SPAN></B></FONT></DIV></TD>
    <TD align=middle width="96%" bgColor=#000066 height=10>
      <DIV class=index>
      <DIV align=left><B><A class=index 
      href="http://www.pld.com.cn/others/aboutus.html" target=_blank><FONT 
      face="Arial, Helvetica, sans-serif"><SPAN class="index2 style1">about 
      us</SPAN></FONT></A> <FONT color=#cccccc><SPAN 
      class=index2>|</SPAN></FONT><SPAN class=font9><FONT 
      face="Arial, Helvetica, sans-serif" color=#cccccc> Site Map </FONT><FONT 
      color=#cccccc>| </FONT></SPAN></B></DIV></DIV></TD></TR>
  <TR vAlign=center bgColor=#f3f3f3>
    <TD align=middle colSpan=2 height=18>
      <P><FONT color=#666666><SPAN class=font9>copyright&copy; 1999-2003 all rights 
      reserved www.PLD.com.cn</SPAN></FONT></P></TD></TR>
  <TR bgColor=#f3f3f3>
    <TD align=middle colSpan=2 height=23><FONT color=#666666>e-mail: pld<SPAN 
      class=email><IMG height=10 src="FPGA 设计的四种常用思想与技巧(二).files/@.gif" 
      width=7>fpga.com.cn</SPAN></FONT></TD></TR>
  <TR bgColor=#ffffff>
    <TD align=middle colSpan=2 height=23>&nbsp;</TD></TR></TBODY></TABLE>
<P class=index2>&nbsp;</P><!-- #EndTemplate --></BODY></HTML>

⌨️ 快捷键说明

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