原创 四位流水線乘法器(用加法器替代乘法器)

module cy4( clk , rst_n , vld_in ,//輸入有效指示信號 x ,

原创 SDRAM總結

1.Precharge與Refresh的區別? 兩者都是對存儲單元的電容進行充電、回寫。但差異在於: Precharge是對(一個或所有Bank)的所有工作行(active row)操作,並且是隨機的,被操作工作行的地址在各Bank中

原创 fifo結構及其代碼

本文引用自Suinchang《關於ALTERA提供的FIFO核使用原理》 ALTERA提供了LPM_FIFO參數宏模塊,可以在代碼中例化使用。 FIFO有兩種工作模式:(1)SCFIFO,(2)DCFIFO 其中SCFIFO指讀寫

原创 級聯BCD計數器設計與仿真(模10)

//級聯BCD計數器設計與仿真 module BCD(Clk,Rst_n,Cin,Cout,q); input Cin; input Clk; input Rst_n; output Cout; output[3:0]q; reg[3

原创 模10的BCD碼計數器

module cy4(CLK,Rst_n,Cin,Cout,q); input CLK; input Rst_n; input Cin; output reg Cout; output q; wire [3:0]q; reg[3:0]

原创 I^2C總線簡介

總共有五種工作狀態: A:總線非忙狀態 該狀態時數據線(SDA)和時鐘線(SCL)都保持高電平。 B:啓動狀態 當時鍾線(SCL)爲高電平狀態時,數據線(SDA)由高電平變爲低電平的下降沿被認爲是"啓動"信號。 C:停止狀態 當時鍾線

原创 Verilog模塊編程要點

(1)時序電路建模時,用非阻塞賦值。 (2)鎖存器電路建模時,用非阻塞賦值。 (3)用always塊建立組合邏輯模型時,用阻塞賦值。 (4)在同一個always塊中建立時序和組合邏輯電路時,用阻塞賦值。 (5)在同一個always塊中

原创 淺談阻塞與非阻塞

阻塞賦值符號" = ",非阻塞賦值符號 List item " = ". 阻塞賦值時先計算等號右手方向(RHS)的值,這時候賦值語句不允許任何別的Verilog語句干擾,直到現行的賦值完成時刻,RHS賦給LHS(等號左手方向),它

原创 序列檢測器(檢測"10010序列")

IDLE爲初始狀態,A代表第一個狀態"1",B代表第二個狀態"10",C代表第三個狀態"100",D代表第四個狀態"1001",E代表要輸出的狀態"10010",G和F代表多餘的狀態分別爲"1000"和"10001"。 module

原创 LFSR(線性反饋移位寄存器)

線性反饋移位寄存器是指給定前一狀態的輸出,將該輸出的線性函數再用作輸入的移位寄存器。異或運算是最常見的但比特線性函數,對寄存器的某些位進行異或操作後作爲輸入,再對寄存器中各比特位進行整體移位。 module cy4(q3,clk,pr

原创 流水線之1個乘法器實現S=a*b*c*d(指兩個寄存器之間只有一個乘法器)

module cy4(input[3:0] a,b,c,d, input vld_in,//輸入有效指示信號 input clk,rst_n, output reg[15:0] dout,

原创 流水線之3個乘法器實現S=a*b*c*d

//流水線之3個乘法器實現S=abc*d module cy4(input[3:0] a,b,c,d, input vld_in,//輸入有效指示信號 input clk,rst_n, ou

原创 檢測連續輸入序列110的狀態圖

//檢測連續輸入序列110的狀態圖 module cy4(input A,CP,CR,//輸入端口聲明 output reg Y//輸出端口及變量的數據類型聲明 ); reg[1:0] current_

原创 四位流水線乘法器

module cy4( clk , rst_n , vld_in ,//輸入有效指示信號 x ,

原创 具有清零和並行置數功能的4位同步二進制遞增計數器(行爲描述)

//具有清零和並行置數功能的4位同步二進制遞增計數器 module cy4(input CR,PE,CP, input CEP,CET, input [3:0] D, output reg[3