📄 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> </TD>
<TD width=37 bgColor=#504a8a height=20> </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> </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> </P>
<P> </P>
<P> </P></DIV></TD><!--msnavigation-->
<TD vAlign=top height=52>
<DIV align=center>
<CENTER><!-- #BeginEditable "Content" -->
<P> </P>
<BLOCKQUOTE>
<P align=left><A class=font9 href="http://www.pld.com.cn/advance.htm">栏目
> 设计进阶</A></P>
<P align=center> </P>
<P align=center><SPAN class=font12B><STRONG>FPGA
设计的四种常用思想与技巧(二)</STRONG></SPAN></P>
<P align=center> </P>
<P align=left> </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<={prl_temp,srl_in}; </P>
<P align=left>其中, prl_temp 是并行输出缓存寄存器, srl_in 是串行数据输入。对于排列顺序有规定的串并转换,可以用
case 语句判断实现。对于复杂的串并转换,还可以用状态机实现。串并转换的方法比较简单,在此不必赘述。 </P>
<P align=left> </P>
<P align=left><STRONG>流水线操作设计思想 </STRONG></P>
<P align=center> </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> </P>
<P
align=left>流水线设计的一个关键在于整个设计时序的合理安排,要求每个操作步骤的划分合理。如果前级操作时间恰好等于后级的操作时间,设计最为简单,前级的输出直接汇入后级的输入即可;如果前级操作时间大于后级的操作时间,则需要对前级的输出数据适当缓存才能汇入到后级输入端;如果前级操作时间恰好小于后级的操作时间,则必须通过复制逻辑,将数据流分流,或者在前级对数据采用存储、后处理方式,否则会造成后级数据溢出。
</P>
<P align=left>在 WCDMA 设计中经常使用到流水线处理的方法,如 RAKE
接收机、搜索器、前导捕获等。流水线处理方式之所以频率较高,是因为复制了处理模块,它是面积换取速度思想的又一种具体体现。 </P>
<P align=left> </P>
<P align=left> </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> </P>
<P> </P><!-- #EndEditable -->
<P
class=index2> </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© 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> </TD></TR></TBODY></TABLE>
<P class=index2> </P><!-- #EndTemplate --></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -