FSM 分兩大類:米里型和摩爾型。 組成要素有輸入(包括復位),狀態(包括當前狀態的操作),狀態轉移條件,狀態的輸出條件。 設計FSM 的方法和技巧多種多樣,但是總結起來有兩大類:第一種,將狀態轉移和狀態的操作和判斷等寫到一個模塊(process、block)中。另一種是將狀態轉移單獨寫成一個模塊,將狀態的操作和判斷等寫到另一個模塊中(在Verilog 代碼中,相當于使用兩個“always” block)。其中較好的方式是后者。其原因 如下: 首先FSM 和其他設計一樣,最好使用同步時序方式設計,好處不再累述。而狀態機實現后,狀態轉移是用寄存器實現的,是同步時序部分。狀態的轉移條件的判斷是通過組合邏輯判斷實現的,之所以第二種比第一種編碼方式合理,就在于第二種編碼將同步時序和組合邏輯分別放到不同的程序塊(process,block) 中實現。這樣做的好處不僅僅是便于閱讀、理解、維護,更重要的是利于綜合器優化代碼,利于用戶添加合適的時序約束條件,利于布局布線器實現設計。顯式的 FSM 描述方法可以描述任意的FSM(參考Verilog 第四版)P181 有限狀態機的說明。兩個 always 模塊。其中一個是時序模塊,一個為組合邏輯。時序模塊設計與書上完全一致,表示狀態轉移,可分為同步與異步復位。
標簽: 狀態
上傳時間: 2015-01-02
上傳用戶:aa17807091
最新的DVB-H的引導標準,對于預將DVB-H,DVB-T,DMB等模塊集成到手機射頻中有相當大的參考價值
上傳時間: 2015-05-07
上傳用戶:牛津鞋
附有本人超級詳細解釋(看不懂的面壁十天!) 一、 實際問題: 希爾排序(Shell Sort)是插入排序的一種。因D.L.Shell于1959年提出而得名。它又稱“縮小增量分類法”,在時間效率上比插入、比較、冒泡等排序算法有了較大改進。能對無序序列按一定規律進行排序。 二、數學模型: 先取一個小于n的整數d1作為第一個增量,把文件的全部記錄分成d1個組。所有距離為dl的倍數的記錄放在同一個組中。先在各組內進行直接插人排序;然后,取第二個增量d2<d1重復上述的分組和排序,直至所取的增量dt=1(dt<dt-l<…<d2<d1),即所有記錄放在同一組中進行直接插入排序為止。該方法實質上是一種分組插入方法。 三、算法設計: 1、將相隔某個增量dlta[k]的元素構成一個子序列。在排序過程中,逐次減小這個增量,最后當h減到1時,進行一次插入排序,排序就完成。增量序列一般采用:dlta[k]=2t-k+1-1,其中t為排序趟數,1≤k≤t≤[log2 (n+1)],其中n為待排序序列的長度。按增量序列dlta[0..t-1]。 2、按增量dlta[k](1≤k≤t≤[log2 (n+1)])進行一趟希爾插入排序。 3、在主函數中控制程序執行流程。 4、時間復雜度:1≤k≤t≤[log2 (n+1)]時為O(n3/2)。
上傳時間: 2013-12-11
上傳用戶:天涯
本書提供用J B u i l d e r開發數據庫應用程序、創建分布式應用程序以及編寫J a v a B e a n 組件的高級資料。它包括下列幾個部分: • 第一部分是“開發數據庫應用程序”,它提供關于使用J b u i l d e r的D a t a E x p r e s s數據 庫體系結構的信息,并解釋原始數據組件和類之間的相互關系,以及怎樣使用它 們來創建你的數據庫應用程序。它還解釋怎樣使用Data Modeler(數據模型器)和 Application Generator(應用程序生成器)創建數據驅動的客戶機/服務器應用程 序。 • 第二部分是“開發分布式應用程序”,它提供關于使用ORB Explorer、用J B u i l d e r 創建多級的分布應用程序、調試分布式應用程序、用J a v a定義C O R B A接口以及 使用s e r v l e t等的信息。 • 第三部分是“創建J a v a B e a n”,它解釋怎樣開發新的J a v a B e a n組件,描述在組件 開發中涉及的任務, 怎樣使用B e a n s E x p r e s s創建新的J a v a B e a n,以及關于屬性、 事件、B e a nIn f o類和其他方面的詳細情況。
上傳時間: 2014-01-03
上傳用戶:wpt
極易使用的SQL數據庫操作控件 Ver 1.0 一個很容易使用的SQL服務器操作控件,體積小巧,方便使用,擺脫你掙扎在大堆代碼中的苦惱,操作SQL數據庫僅需要幾句代碼,易如反掌,主要功能有: 1. 很方便的登錄到 SQL 服務器,支持SQL7.0 2000更高版本 2. 備份,修復和還原數據庫操作 3. 任意添加和刪除數據庫操作 4. 任意控制SQL服務器操作 (如啟動,停止,暫停和繼續等) 5. 檢查服務器運行狀態 (如是否啟動,停止或者暫停等狀態) 5. 檢查服務器連接狀態,如服務器沒有激活等 6. 自動列表服務器中數據庫,列表數據表,列表字段,并支持綁定到LietBox,ComBox等對象中 7. 支持SQL語法打開數據庫 (類似 select) 8. 保存任意文件到二進制類型的字段,如圖片,文件等 9. 顯示數據庫中的圖片文件到指定圖片控件對象中 10. 把數據庫的二進制字段保存為一個文件,如圖片,文本文件等 11. 檢查記錄游標位置,如是否末尾 12. 查找任意記錄更方便 13. 添加,編輯t,更新和刪除記錄更方便 14. 支持綁定數據庫字段到 VB對象 (如 Text Box 或者 Label) 15. 方便的綁定數據庫的表到 MSFLEXGRID32 網格控件 16. 方便容易的錯誤處理功能,均返回錯誤號和錯誤內容 (非運行時和設計時錯誤.
上傳時間: 2014-02-11
上傳用戶:onewq
Linux系統上的一款屏幕軟鍵盤,采用C語言編寫,不僅適合運行在X86架構的X Window System的系統中,甚至在一些采用裁減過的X Window System作為GUI的嵌入式系統中都能看到這款屏幕軟鍵盤的身影。它能從一個xml配置文件中生成按間,如果您想自定義屏幕軟鍵盤上的按鈕,只需要修改這個配置文件即可。
上傳時間: 2014-01-14
上傳用戶:GHF
赫夫曼編譯碼器: 用哈夫曼編碼進行通信可以大大提高信道利用率,縮短信息傳輸時間,降低傳輸成本。但是,這要求在發送端通過一個編碼系統對待傳數據預先編碼,在接收端將傳來的數據進行譯碼(復原)。對于雙工信道(即可以雙向傳輸信息的信道),每端都需要一個完整的編/譯碼系統。試為這樣的信息收發站寫一個哈夫曼碼的編/譯碼系統。 [基本要求]一個完整的系統應具有以下功能: (1)I:初始化(Initialization)。從終端讀入字符集大小n,以及n個字符和n個權值,建立哈夫曼樹,并將它存于文件hfmTree中。 (2)E:編碼(Encoding)。利用已建好的哈夫曼樹(如不在內存,則從文件hfmTree中讀入),對文件ToBeTran中的正文進行編碼,然后將結果存入文件CodeFile中。 (3)D:譯碼(Decoding)。利用已建好的哈夫曼樹將文件CodeFile中的代碼進行譯碼,結果存入文件TextFile中。 (4)P:印代碼文件(Print)。將文件CodeFile以緊湊格式顯示在終端上,每行50個代碼。同時將此字符形式的編碼文件寫入文件CodePrin中。 (5)T:印哈夫曼樹(Tree printing)。將已在內存中的哈夫曼樹以直觀的方式(樹或凹入表形式)顯示出,同時將此字符形式的哈夫曼樹寫入文件TreePrint中。
上傳時間: 2016-04-17
上傳用戶:zaizaibang
C++實現的哈弗曼編碼,并有流程圖(1)I:初始化(Initialization)。從指定的英文文件中Sourcefile.txt讀取數據,根據文件內容統計的字符的頻度,建立哈夫曼樹。 (2)E:編碼(Encoding)。利用已經建好的哈夫曼樹進行編碼,并將每個字符的編碼寫入文件HuffCode.txt中保存。 (3)C:壓縮(Compress)。根據HuffCode.txt中編碼對文件Sourcefile.txt進行重新編碼,并將重新編碼后的內容寫入文件CodeFile.txt中。 (4)D:譯碼(Decoding)。利用已經建好的哈夫曼樹將文件CodeFile.txt中的代碼進行譯碼,結果存入文件TextFile中。 (5)P:打印代碼文件(Print)。將文件CodeFile.txt的內容顯示在終端上,每行50個代碼。 (6)T:顯示哈夫曼樹(Treeprinting)。將已經在內存中的哈夫曼樹以直觀的方式(樹或凹入表形式)顯示在終端上。
標簽: 編碼
上傳時間: 2013-12-24
上傳用戶:gxrui1991
1)I:初始化(Initialization)。從終端讀入電文,寫到tobetrans文件中,統計電文的字符集合和對應的權值集合,建立哈夫曼樹,并將哈夫曼樹存于文件hfmtree中。 (2)C:編碼(Coding )。利用已建好的哈夫曼樹(如不在內存,則從文件hfmtree中讀入),對文件tobetrans中的正文進行編碼,然后將結果存入文件codefile中。 (3)D:譯碼(Decoding)。利用已建好的哈夫曼樹將文件codefile中的代碼進行譯碼,結果存入文件textfile中。 (4)P:印代碼文件(Print)。將文件codefile以緊湊格式顯示在終端上,每行50個代碼。同時將此字符形式的編碼文件寫入文件codeprint中。 (5)T:印哈夫曼樹(Tree printing)。將已在內存中的哈夫曼樹以直觀的方式(樹或凹入表形式)顯示在終端上,同時將此字符形式的哈夫曼樹寫入文件treeprint中。 用戶界面要求設計為“菜單”方式。 修改你的系統,實現對你的系統的源程序的編碼和譯碼(主要是將行尾符編/譯碼問題)。實現各個轉換操作的源/目標文件,均由用戶在選擇此操作時指定。
標簽: Initialization 初始化
上傳時間: 2014-01-04
上傳用戶:windwolf2000
針對工業控制過程中的實際問題,對神經網絡預測控制進行了深入的研究,提出 了兩種新的智能預測控制算法。并結合混合仿真平臺,以平臺中非線性單變量與多變量系 統為控制對象,將部分算法應用于實際控制中。
上傳時間: 2013-12-10
上傳用戶:yd19890720