亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 基于fpga的八位risc cpu的設計.htm

?? 8位risc cpu的編寫
?? HTM
?? 第 1 頁 / 共 2 頁
字號:
?<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0042)http://www.gd-emb.org/detail/id-38554.html -->
<HTML><HEAD><TITLE>基于FPGA的八位RISC CPU的設計</TITLE>
<META http-equiv=Content-Type content="text/html; charset=UTF-8">
<META content="基于FPGA的八位RISC CPU的設計" name=description>
<META content="基于FPGA的八位RISC CPU的設計" name=keywords><LINK 
href="基于FPGA的八位RISC CPU的設計.files/org.css" type=text/css rel=stylesheet>
<SCRIPT>
function checkdata(ob){
if(ob.title.value==""||ob.statement.value==""){
	alert("請填寫標題和內容");
	ob.title.select();
	return false;
	}
	if(ob.validate.value==""){
		alert("請填寫驗證碼");
		ob.validate.focus();
		return false;
	}
	return true;
}
</SCRIPT>

<STYLE type=text/css>#inform {
	Z-INDEX: 1; LEFT: -949px; WIDTH: 10px; POSITION: absolute; TOP: -545px; HEIGHT: 10px
}
</STYLE>

<META content="MSHTML 6.00.2900.3243" name=GENERATOR></HEAD>
<BODY><LINK href="/images/favicon.ico" rel="shortcut icon">
<TABLE cellSpacing=0 cellPadding=0 width=950 align=center border=0>
  <TBODY>
  <TR>
    <TD width=488 rowSpan=2><A href="http://www.gd-emb.org/"><IMG height=84 
      src="基于FPGA的八位RISC CPU的設計.files/gd_emb_02.gif" width=488 border=0></A></TD>
    <TD width=122 background="基于FPGA的八位RISC CPU的設計.files/gd_emb_03.gif" 
    height=25>&nbsp;</TD>
    <TD align=right width=340 bgColor=#f1f1f1><A 
      style="FONT-WEIGHT: 600; COLOR: red" href="http://www.gd-emb.com/" 
      target=_blank>廣嵌科技</A>  <A style="FONT-WEIGHT: 600; COLOR: red" 
      href="http://www.gdemb.com/" target=_blank>廣嵌教育</A>  <A 
      href="http://vk.gd-emb.org/" target=_blank>廣嵌威客</A>  <A 
      href="http://www.gd-emb.org/en/" 
  target=_blank>English</A>&nbsp;&nbsp;</TD></TR>
  <TR>
    <TD colSpan=2 height=61>&nbsp;</TD></TR>
  <TR>
    <TD class=menucolor style="PADDING-TOP: 2px" align=right colSpan=3 
height=25>
      <DIV class=toplink style="MARGIN-RIGHT: 2px"><A class=toplink 
      href="http://www.gd-emb.org/general/id-33.html">新聞資訊</A> | <A 
      class=toplink 
      href="http://www.gd-emb.org/general/id-35.html">行業應用</A> | <A 
      class=toplink href="http://www.gd-emb.org/development.html">技術開發</A> | <A 
      class=toplink href="http://ask.gd-emb.org/" target=_blank>有問有答</A> | <A 
      class=toplink href="http://download.gd-emb.org/">下載中心</A> | <A 
      class=toplink href="http://map.gd-emb.org/">網站導航</A> | <A class=toplink 
      href="http://bbs.gd-emb.org/" 
  target=_blank>技術論壇</A>&nbsp;&nbsp;</DIV></TD></TR></TBODY></TABLE></TD></TR></TABLE>
<DIV id=inform></DIV>
<TABLE cellSpacing=0 cellPadding=0 width=950 align=center border=0>
  <TBODY>
  <TR>
    <TD 
    style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px" 
    width=750>
      <DIV><A href="http://www.gd-emb.org/">首頁</A> <A 
      href="http://www.hawaycn.com/">&gt;</A> 硬件設計 &gt; 總線設計 &gt; 基于FPGA的八位RISC 
      CPU的設計 </DIV>
      <DIV style="FONT-WEIGHT: 600; FONT-SIZE: 16px; MARGIN: 20px 0px 10px" 
      align=center>基于FPGA的八位RISC CPU的設計</DIV>
      <DIV style="MARGIN-BOTTOM: 10px" 
      align=center>來源:微計算機信息 作者:張杰 時間:2007-07-30 發布人:<A 
      href="http://www.gd-emb.org/personhome/id-25218.html">盧春妙</A></DIV>
      <DIV align=center>
      <DIV class=split_line style="WIDTH: 90%"></DIV></DIV>
      <DIV align=center>
      <DIV 
      style="FONT-SIZE: 14px; WIDTH: 90%; TEXT-ALIGN: left"><STRONG>摘 要:</STRONG>從CPU的總體結構到局部功能的實現采用了自頂向下的設計方法和模塊化的設計思想,利用Xilinx公司的Spartan 
      II系列FPGA,設計實現了八位CPU軟核。在FPGA內部不僅實現了CPU必需的算術邏輯器、寄存器堆、指令緩沖、跳轉計數、指令集,而且針對FPGA內部的結構特點對設計進行了地址和數據的優化。 
      <BR><BR><STRONG>關鍵詞:</STRONG> Verilog, RISC CPU, FPGA <BR><BR><STRONG>1 引 
      言</STRONG> 
      <BR><BR>  隨著數字通信和工業控制領域的高速發展,要求專用集成電路(ASIC)的功能越來越強,功耗越來越低,生產周期越來越短,這些都對芯片設計提出了巨大的挑戰,傳統的芯片設計方法已經不能適應復雜的應用需求了。SoC(System 
      on a 
      Chip)以其高集成度,低功耗等優點越來越受歡迎。開發人員不必從單個邏輯門開始去設計ASIC,而是應用己有IC芯片的功能模塊,稱為核(core),或知識產權(IP)宏單元進行快速設計,效率大為提高。CPU 
      的IP核是SoC技術的核心,開發出具有自主知識產權的CPU 
      IP核對我國在電子技術方面跟上世界先進的步伐,提高信息產業在世界上的核心竟爭力有重大意義。 
      <BR><BR>  精簡指令集計算機RISC(Reduced Instruction Set 
      Computer)是針對復雜指令集計算機CISC(Complex Instruction Set 
      Computer)提出的,具備如下特征1)一個有限的簡單的指令集; 2)強調寄存器的使用或CPU配備大量的能用的寄存器;3)強調對指令流水線的使用。 
      <BR><BR><STRONG>2 CPU IP核的組成</STRONG> 
      <BR><BR>  盡管各種CPU的性能指標和結構細節不同,但所要完成的基本功能相同,從整體上可分為八個基本的部件:時鐘發生器、指令寄存器、累加器、RISC 
      CPU算術邏輯運算單元、數據控制器、狀態控制器、程序控制器、程序計數器、地址多路器。狀態控制器負責控制每一個部件之間的相互操作關系,具體的結構和邏輯關系如圖1所示。 
      <BR><BR>  時鐘發生器利用外部時鐘信號,經過分頻生成一系列時鐘信號給CPU中的各個部件使用。為了保證分頻后信號的跳變性能,在設計中采用了同步狀態機的方法。 
      <BR><BR>  指令寄存器在觸發時鐘clk1的正跳變觸發下,將數據總線送來的指令存入寄存器中。數據總線分時復用傳遞數據和指令,由狀態控制器的load_ir信號負責判別。load_ir信號通過使能信號ena口線輸入到指令寄存器。復位后,指令寄存器被清為零。每條指令為兩個字節16位,高3位是操作碼,低13位是地址線。CPU的地址總線為是13位,位尋址空間為8K 
      字節。本設計的數據總線是8位,每條指令取兩次,每次由變量state控制。 
      <BR><BR>  累加器用于存放當前的運算結果,是雙目運算中的一個數據來源。復位后,累加器的值為零。當累加器通過使能信號ena 
      口線收到來自CPU狀態控制器load_acc 信號后,在clk1時鐘正跳沿時就接收來自數據總線的數據。 <BR>
      <P align=center><IMG height=289 alt="" 
      src="基于FPGA的八位RISC CPU的設計.files/070726152992354.gif" width=564><BR>圖1 
      CPU結構圖 </P>  算術邏輯運算單元根據輸入的不同的操作碼分別實現相應的加、與、異或、跳轉等基本運算。 
      <BR><BR>  數據控制器其作用是控制累加器的數據輸出,由于數據總線是各種操作傳送數據的公共通道,分時復用,有時傳輸指令,有時要傳送數據。其余時候,數據總線應呈高阻態,以允許其他部件使用。所以,任何部件向總線上輸出數據時,都需要一個控制信號的,而此控制信號的啟、停則由CPU狀態控制器輸出的各信號控制決定。控制信號datactl_ena決定何時輸出累加器中的數據。 
      <BR><BR>  地址多路器用于輸出的地址是PC(程序計數器)地址還是數據/端口地址。每個指令周期的前4個時鐘周期用于從ROM中讀取指令,輸出的應是PC地址,后4個時鐘周期用于對RAM或端口的讀寫,該地址由指令給出,地址的選擇輸出信號由時鐘信號的8分頻信號fecth提供。 
      <BR><BR>  程序計數器用于提供指令地址,以便讀取指令,指令按地址順序存放在存儲器中,有兩種途徑可形成指令地址,一是順序執行程序的情況,二是執行JMP指令后,獲得新的指令地址。 
      <BR><BR>  狀態機控制器接受復位信號RST,當RST有效時,能通過信號ena使其為0 ,輸入到狀態機中以停止狀態機的工作。狀態機是CPU 
      的控制核心,用于產生一系列的控制信號,啟動或停止某些部件,CPU何時進行讀指令來讀寫I/O端口及RAM區等操作,都是由狀態機來控制的。狀態機的當前狀態,由變量state記錄,state的值就是當前這個指令周期中已經過的時鐘數。指令周期是由8 
      個時鐘組成,每個時鐘都要完成固定的操作。 <BR><BR><STRONG>3 系統時序 <BR></STRONG><BR>  RISC 
      CPU的復位和啟動操作是通過rst引腳的信號觸發執行的,當rst信號一進入高電平,RISC 
      CPU就會結束現行操作,并且只要rst停留在高電平狀態,CPU就維持在復位狀態,CPU各狀態寄存器都設為無效狀態。當信號rst回到低電平,接著到來的第一個fetch 
      上升沿將啟動RISC CPU開始工作,從ROM的000處的開始讀取指令并執行相應的操作。 
      <BR><BR>  讀指令時序,每個指令的前3個時鐘周期用于讀指令,4~6周期讀信號rd有效,第7 
      個周期讀信號無效,第8個周期地址總線輸出PC地址,為下一個指令作準備。 
      <BR><BR>  寫指令時序,每個指令的第3.5個時鐘周期建立寫地址,第四個周期輸出數據,第5個時鐘周期輸出寫信號,第6個時鐘結束,第7.5個時鐘周期輸出為PC地址,為下個指令做準備。 
      <BR><BR>  如圖2 所示,這是ModelSim SE6.0進行波形仿真的結果。 <BR><BR><STRONG>4 
      微處理器指令</STRONG> 
      <BR><BR>  數據處理指令:數據處理指令完成寄存器中數據的算術和邏輯操作,其他指令只是傳送數據和控制程序執行的順序.因此,數據處理指令是唯一可以修改數據值的指令,數據處理指令一般需兩個源操作數,產生單個結果.所有的操作數都是8位寬,或者來自寄存器,或者來自指令中定義的立即數.每一個源操作數寄存器和結果寄存器都在指令中獨立的指定。 

      <P align=center><IMG height=207 alt="" 
      src="基于FPGA的八位RISC CPU的設計.files/20070522144059274.gif" width=550><BR>圖2 
      讀寫指令時序</P>  數據傳送和控制轉移類指令:共有17條,不包括按布爾變量控制程序轉移的指令。其中有全存儲空間的長調用、長轉移和按2KB分塊的程序空間內的絕對調用和絕對轉移;全空間的長度相對轉移及一頁范圍內的短相對轉移;還有條件轉移指令。這類指令用到的助記符有ACALL, 
      AJMP, LCALL, LJMP, SJMP, M, JZ, JNZ, 
      ONE,DJNZ。控制轉移類指令主要用來修改1x指針從而達到對程序流的控制,所用到的寄存器主要有sp, pc, ir等寄存器。 
      <BR><BR>  指令由操作碼和操作數組成,取指令電路的目的就是把指令碼和操作數分開。組成電路由如圖3所示。取指令電路由程序指針,程序指針解析模塊、ROM, 
      IR(指令寄存器),控制器狀態寄存器組成。取指令指令的過程如下:PC指針的值經過pc_mux模塊賦值,把ROM中的指令取出來,送到指令寄存器的數據輸入口。指令寄存器受狀態寄存器的控制,當取指令信號有效時,ROM中的指令碼被保存在指令寄存器中,然后經控制器譯碼,產生控制信號,對PC指針的增量加以控制取出下一條指令。 
      <BR>
      <P align=center><IMG height=266 alt="" 
      src="基于FPGA的八位RISC CPU的設計.files/20070522144124329.gif" width=518><BR>圖3 
      取指令電路 <BR><BR></P><STRONG>5 匯編</STRONG> 
      <BR><BR>  匯編程序是為了調試軟核而開發的,手工編寫機器碼很容易出錯并且工作量很大。在調試過程中修改指令集時,匯編程序也要作相應的修改。所以要求編譯器的結構簡單性能可靠,在程序中必要的地方可以用堆疊代碼方法實現,不必考慮編程技巧和匯編器效率問題。匯編程序用于測試RISC 
      CPU的基本指令集,如果CPU的各條指令執行正確,停止在HLT指令處。如果程序在其它地址暫停運行,則有一個指令出錯。程序中,@符號后的十六進制表示存儲器的地址,每行的//后表示注釋。下面是一小段程序代碼,編譯好的匯編機器代碼裝入虛擬ROM,要參加運算的數據裝入虛擬RAM就可以開始進行仿真。 
      <BR><BR>機器碼 地址 匯編助記符 注釋 <BR><BR>@00 //地址聲明 <BR><BR>101_11000 //00 BEGIN: 
      LDA DATA_2 <BR><BR>0000_0001 <BR><BR>011_11000 //02 AND DATA_3 
      <BR><BR>0000_0010 <BR><BR>100_11000 //04 XOR DATA_2 <BR><BR>0000_0001 
      <BR><BR>001_00000 //06 SKZ <BR><BR>0000_0000 <BR><BR>000_00000 //08 HLT 
      //AND does't work <BR><BR><STRONG>6 調試 <BR></STRONG><BR>  最基本的調試手段是基于FPGA 
      廠商提供的開發和仿真環境,用硬件描述語言編寫TESTBENCH,構成一個最小運行環境。TESTBENCH產生對目標軟核的激勵,同時記錄軟核的輸出,和預期值進行比對,可以確定核的設計錯誤。這種方法的好處是實現容易,結果準確,但硬件描述語言編碼量較大。為了仿真結果的準確性,無論功能仿真還是時序仿真,仿真的步長都不能太小,結果導致整個系統仿真時間太長。本設計中先對RISC 
      CPU的各個子模塊進行了分別綜合,檢查正確性,如果發現錯誤可以在較小的范圍內來檢查并驗證。子模塊綜合完畢后,把要綜合的RISC 
      CPU的模塊與外圍器件以及測試模塊分離出來組成一個大模塊,綜合后的的RISC CPU模塊如圖4所示,這是Xilinx ISE7.1 
      所綜合生成的技術原理圖。 <BR>
      <P align=center><IMG height=335 alt="" 
      src="基于FPGA的八位RISC CPU的設計.files/20070522144148293.gif" width=349><BR>圖4 
      CPU技術原理圖 
      <BR><BR></P>  綜合的結果只是通用的門級網表,只是一些與、或、非門的邏輯關系,和芯片實際的配置情況還有差距。此時應該使用FPGA/CPLD廠商提供的實現與布局布線工具,根據所選芯片的型號,進行芯片內部功能單元的實際連接與映射。這種實現與布局布線工具一般要選用所選器件的生產商開發的工具,因為只有生產者最了解器件內部的結構,如在ISE的集成環境中完成實現與布局布線的工具是Flow 
      Engine。 <BR><BR>  STA(Static Timing 
      Analysis)靜態時序分析,完成FPGA設計時必須的一個步驟。在FPGA加約束、綜合、布局布線后,在ISE中可以運行Timing 
      Analyzer生成詳細的時序報告,本設計中Minimum period: 12.032ns (Maximum Frequency: 
      83.112MHz),Minimum input arrival time before clock: 6.479ns,Maximum output 
      required time after clock: 9.767ns。然后,設計人員檢查時序報告,根據工具的提示找出不滿足Setup/Hold 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费av高清| 亚洲欧洲日韩在线| 色综合久久综合网| 国产成人免费xxxxxxxx| 国产精一区二区三区| 国产精品资源在线| 国产精品自拍三区| av在线不卡网| 色乱码一区二区三区88| 欧美影院一区二区三区| 在线不卡的av| 日韩精品一区二区三区视频| 337p日本欧洲亚洲大胆色噜噜| 日韩精品一区二区三区四区| 日韩精品一区二区三区视频在线观看 | 椎名由奈av一区二区三区| 国产精品久久久久三级| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美另类z0zxhd电影| 欧美一级爆毛片| 2020国产精品| 亚洲欧美一区二区三区久本道91| 亚洲自拍都市欧美小说| 亚洲一区二区三区中文字幕| 丝袜美腿亚洲综合| 国产一区二区0| 97精品久久久午夜一区二区三区| 欧美性大战久久久久久久蜜臀| 欧美日本在线观看| 国产亚洲成aⅴ人片在线观看| 国产精品初高中害羞小美女文| 亚洲福利一二三区| 国产乱妇无码大片在线观看| 色一情一伦一子一伦一区| 日韩视频123| 亚洲色图.com| 黄色成人免费在线| 91成人免费在线视频| 久久久久久影视| 午夜精品福利视频网站| 国产成人精品在线看| 欧美精选午夜久久久乱码6080| 久久在线观看免费| 亚洲国产视频直播| 丰满放荡岳乱妇91ww| 欧美精品三级在线观看| 国产精品色婷婷| 久久精工是国产品牌吗| 欧美性受xxxx| 亚洲视频网在线直播| 久久 天天综合| 7777精品伊人久久久大香线蕉| 国产精品午夜在线观看| 久久爱www久久做| 欧美日韩亚洲综合| 亚洲精品国产第一综合99久久| 国产剧情在线观看一区二区| 91精品国产色综合久久久蜜香臀| 亚洲黄色小视频| 不卡在线观看av| 国产女主播一区| 国模套图日韩精品一区二区| 欧美日韩视频在线一区二区| 亚洲精品videosex极品| 成人激情免费网站| 国产欧美1区2区3区| 国产一区二区精品久久99| 欧美电视剧在线观看完整版| 香蕉久久夜色精品国产使用方法 | 91麻豆精品国产91久久久更新时间| 最新不卡av在线| 成人理论电影网| 久久久激情视频| 国产99精品在线观看| 国产亚洲成av人在线观看导航| 国产一区二区福利| 久久综合久色欧美综合狠狠| 美国十次了思思久久精品导航| 4438成人网| 日本伊人午夜精品| 日韩精品自拍偷拍| 经典一区二区三区| 国产亚洲欧美色| 成人午夜激情在线| 综合中文字幕亚洲| 欧美日韩一区成人| 日av在线不卡| 欧美不卡激情三级在线观看| 国产美女视频91| 国产精品久久毛片a| 91在线国产观看| 三级久久三级久久久| 日韩欧美美女一区二区三区| 国产一级精品在线| 中文字幕一区二区三区乱码在线 | 欧美高清在线一区二区| 99国产精品久| 日韩精品一级中文字幕精品视频免费观看| 在线成人免费观看| 国产一区二区h| 一区二区三区四区蜜桃| 欧美一级一区二区| 丰满放荡岳乱妇91ww| 亚洲永久精品大片| 精品成人免费观看| 99视频有精品| 日本在线不卡视频| 国产精品狼人久久影院观看方式| 欧美色手机在线观看| 久久国产尿小便嘘嘘| 国产精品二三区| 91精品国产免费久久综合| 国产高清不卡二三区| 亚洲国产另类av| 国产精品欧美精品| 欧美一区二区三级| 色婷婷久久99综合精品jk白丝| 久久精品国内一区二区三区| 亚洲视频一区二区免费在线观看 | 国产一区二区三区观看| 一区二区三区国产豹纹内裤在线| 日韩一区和二区| 色94色欧美sute亚洲13| 国产尤物一区二区在线| 亚洲mv在线观看| 中文字幕亚洲成人| 久久久久亚洲综合| 日韩一区二区电影网| 欧美性感一类影片在线播放| 粉嫩av一区二区三区| 久久99精品久久久| 午夜久久久久久| 一级日本不卡的影视| 国产精品人妖ts系列视频| 欧美变态tickle挠乳网站| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 国产一区二区三区免费看| 蜜臀av性久久久久蜜臀aⅴ流畅| 一区二区三区四区av| 亚洲视频一二三| 国产精品国产三级国产有无不卡| 26uuu精品一区二区| 日韩欧美视频在线| 欧美岛国在线观看| 日韩午夜激情电影| 欧美一级淫片007| 日韩色在线观看| 精品国产电影一区二区| 欧美成人三级在线| 欧美zozozo| 日韩欧美成人午夜| 久久夜色精品国产欧美乱极品| 91精品国产综合久久福利| 欧美日本一道本| 91麻豆精品久久久久蜜臀| 91精品国产日韩91久久久久久| 欧美精品自拍偷拍| 91精品福利在线一区二区三区| 欧美猛男超大videosgay| 在线播放中文一区| 欧美电影免费观看高清完整版在 | 色婷婷精品久久二区二区蜜臂av | 91精品国产品国语在线不卡| 欧美精品久久久久久久多人混战 | 午夜成人免费视频| 免费看日韩精品| 蜜桃久久久久久| 激情国产一区二区| 成人免费毛片app| 色综合久久99| 日韩一级免费观看| 国产欧美视频一区二区三区| 国产精品私人自拍| 亚洲国产日日夜夜| 狠狠色丁香婷婷综合| 成人av在线播放网址| 在线视频亚洲一区| 精品欧美一区二区在线观看| 国产喷白浆一区二区三区| 亚洲精品五月天| 毛片不卡一区二区| 99精品桃花视频在线观看| 欧美性色黄大片| 国产网站一区二区三区| 一区二区日韩av| 久久国产麻豆精品| 91丨porny丨最新| 欧美mv和日韩mv国产网站| 中文字幕一区免费在线观看| 天天影视网天天综合色在线播放 | 91色婷婷久久久久合中文| 欧美理论在线播放| 国产精品黄色在线观看| 日本vs亚洲vs韩国一区三区二区| 国产99久久久精品| 日韩亚洲欧美一区| 亚洲综合丁香婷婷六月香| 国产精品18久久久| 日韩午夜av电影| 亚洲午夜久久久久久久久电影网|