原创 5-1 Verilog Moore狀態機之十字路口

使用工具:Xilinx ISE 14.7 有限狀態機分爲Mealy狀態機和Moore狀態機。它們的區別是: Moore狀態機:當前輸出只與當前狀態有關 Mealy狀態機:當前輸出與當前狀態以及當前輸入有關 兩種狀態機的構造如下: 其中(a

原创 3-2 Verilog 4位行波進位加法器

使用工具:Xilinx ISE 14.7 主要操作就是將前一位的在加法器運算所得的標準位賦予的到下一位的運算過程中,一步一步推進即可: 有兩種實現方法(一種使用直接賦值,靈活性較高,另外一種使用for循化逐步賦值,完整性較好): 測試

原创 1-1 Verilog 邏輯門

使用工具: Xilinx ISE 14.7 挺簡單的不說什麼,直接貼代碼 源文件代碼: module code( input wire a, input wire b, output wire [5:0] z ); assig

原创 1-2 Verilog 4位 二選一 多路選擇器

使用工具:Xilinx ISE 14.7 如原理圖所示,用信號s選擇輸入a和b作爲輸出y,代碼如下: module code( input wire [3:0]a, input wire [3:0]b, inp

原创 基於ISE實現不使用jtag_usb的chipscope

我所使用的是: 1、64位Windows7系統 2、XILINX的ISE Design Suite 14.7 3、NEXYS 3 ——Spartan6  XC6LX16-CS324 以下是操作步驟: 步驟1: 根據電腦系統在網站上下載相應

原创 五級流水線CPU之低功耗設計(1)——旁路(By Passing)

依據此過程,可以將CPU指令集分爲四類: (IF:取指令;ID:譯碼;EX:執行; MEM:存取數據;WB:數據寄存) 模式1: 指令:LOAD IF ID EX MEM WB 模式2: 指令:STORE,JM

原创 2-3 Verilog 7 段譯碼器(動態顯示)

使用工具:Xilinx ISE 14.7 通過時間分頻在4位7段數碼管中顯示2個數字,給人眼一個錯覺是同時顯示出兩個數字。實現原理是輪流向各位數碼管送出字形碼和相應的位選信號,利用數碼管閃爍的餘暉和人眼視覺的暫留作用,使人感覺像各

原创 五級流水線CPU之低功耗設計(2)——門控(CLOCK GATE)

在我設計的PCPU中需要的輸出項中有PC,d_addr,d_we,d_dataout,由於PC時刻變化着不適合做門控,所以我對另外三個輸出項d_addr,d_we,d_dataout做了門控處理。 門控操作前示意圖: 門控操作後示意圖

原创 Hashing( 哈希查找)

利用哈希函數進行高效的key word的檢索 內容: 提供一篇英語文章,搜索在該文章中存在某一單詞的所有句子 代碼如下: 頭文件“prepare.h”——進行程序的準備階段 #include <iostream> #include <st

原创 2-1 Verilog 3-8 譯碼器

使用工:Xilinx ISE 14.7 在這裏涉及到了Verilog的條件語句對真值表進行翻譯,因爲有8種情況,所以選擇case語句,代碼如下: module code( input [2:0] in, output reg [7

原创 2-2 Verilog 7 段譯碼器(靜態顯示)

使用工具:Xilinx ISE 14.7 7段譯碼器主要是由七段譯碼管組成,通過控制各個譯碼管的開與關達到顯示出16進制數的16個數。實現過程和3-8譯碼器差不多,主要是構建一個真值表作爲map,然後一一對應就行了,代碼如下: mod

原创 4-2 Verilog 多路選擇器設計實現

使用工具:Xilinx ISE 14.7 設計一個二位4路選擇器,由於選擇器使用條件觸發的方法對應真值表進行匹配輸出與輸入,因此可以聯想到在C程序設計中的條件語句“If”和“Case”兩種,那麼這兩種設計從硬件的角度出發有什麼不同呢? 代

原创 4-1 Verilog 4位移位寄存器的設計與實現

使用工具:Xilinx ISE 14.7 移位寄存器,不但可以寄存數碼,還可以在脈衝信號的作用下,寄存數碼可以根據需求發生偏移。在本次設計中使用分頻信號來充當脈衝信號,控制在人眼可視範圍內(始終頻率低於10Hz)寄存自動發生發生偏移,代

原创 3-3 Verilog 4位超前進位加法器

使用工具:Xilinx ISE 14.7 用邏輯表達式實現4位的超前進位加法器,目的是爲了減少輸出延遲,提高運算速度。在4位行波進位加法器中,計算過程中包含輸出信號S[i]與C[i]作爲中間變量,用他們作爲下一級的輸入,並將多個1位全加器

原创 3-1 Verilog 4位行爲級描述的加法器

使用工具:Xilinx ISE 14.7 這個沒什麼好說的就是直接使用運算符“+”將輸入相加所得的結果分配給輸出,代碼如下: module Design_code( input [3:0] num_1, input [3:0] nu