verilog入門經驗(五) 並轉串

2021-07-03 17:48:31 字數 1144 閱讀 6067

並轉串電路主要由時鐘(clk)、復位訊號(rst)、並行輸入訊號(pdin)、序列輸出訊號(sdout)和使能訊號(en)組成。

其它訊號都是名字意義,現在主要講下使能訊號。使能訊號表示開始執行並轉串操作,由於並轉串是移位操作,當一次並轉串完成後,需要重新載入待轉換的並行資料時,使能訊號要再起來一次。

下面是souce driver cob測試程式中用到的並轉串例項,這個例子中多了乙個width_sw訊號,用來區分8bit/6bit輸入並行資料。本例子中是從並行輸入資料的低為開始轉換的。

module p2s (

pdin,

sdout,

en,width_sw,

clk,

rstn

);input [7:0] pdin; // !!!共8bit

output sdout;

input en;

input width_sw;

input clk;

input rstn;

reg [6:0] tmp; // !!!共7bit

reg sdout;

always @ ( posedge clk or negedge rstn )

if ( !rstn )

<= 0;

else

if ( en ) // start p2s

<= pdin;

else

begin

if( width_sw )

<= ;

else

<= ;

endendmodule // p2s

如果是將乙個固定的並行資料一直做序列轉換輸出,那麼可以如下所寫:

always @ ( posedge clk or negedge rstn )

if ( !rstn )

<= 0;

else

if ( en )  // start p2s

<= pdin;

else 

begin

if( width_sw )

<= ;

else

<= ;

end將並轉串的移位操作改為迴圈操作,此時使能訊號不用週期性起來,只要在開始轉換時起來一次即可。

用Verilog實現串並轉換

一 串轉並轉換模組 串轉並就是將低3位訊號和輸入訊號一起賦值。因為經過轉換後,碼元速率會將為原來四分之一,所以設定4分頻時鐘,將其輸出。而並轉串就是不斷右移,取高位輸出。module serial par input clk,input d,output reg 3 0 q 四分頻模組 reg 13...

verilog設計經驗點滴

組合邏輯 1,敏感變數的描述完備性 verilog 中,用always塊設計組合邏輯電路時,在賦值表示式右端參與賦值的所有訊號都必須在always 敏感電平列表 中列出,always中if語句的判斷表示式必須在敏感電平列表中列出。如果在賦值表示式右端引用了敏感電平列表中沒有列出的訊號,在 綜合時將會...

verilog設計經驗點滴

verilog設計經驗點滴 2005 8 29 1,敏感變數的描述完備性 verilog中,用always塊設計組合邏輯電路時,在賦值表示式右端參與賦值的所有訊號都 必須在always 敏感電平列表 中列出,always中if語句的判斷表示式必須在敏感電平列 表中列出。如果在賦值表示式右端引用了敏感...