?? 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 + -