Verilog HDL 語言書寫規範

2021-07-25 13:13:11 字數 2813 閱讀 4870

型別

命名方式

例項頂層檔案

物件+功能+top

video_online_top.v

邏輯控制檔案

物件+ctr

ddr_ctr.v

驅動程式

物件+功能+dri

lcd+dri.v

引數檔案

物件+para

lcd+para.v

模組介面

特徵域+檔名+u

mcb_read; c3+mcb+read+u.v

埠注釋

物件+通道+方向

input video_vs_i

時鐘訊號

物件+功能+特徵

phy_txclk_i; sys_50mhz_i

復位訊號

物件+功能+極性+特徵

phy_rst_n_i; sys_rst_n_i

延遲訊號

物件+功能+特徵1+特徵2

fram_sync_i_r0

特性功能計數

物件(+功能)(+物件)+cnt

line_cnt;rd_cnt;mem_wr_cnt

一般計數器

cnt+序號

cnt0

時許同步訊號

物件+功能+特徵

line_sync_i

使能訊號

(物件)+功能+en

wr_en; fifo_wr_en

/* ======================== 

filename ﹕

author ﹕

description ﹕

called by ﹕

revision history ﹕

revision 1.0

email ﹕

company ﹕ robsense technology .inc

========================= */

`timescale 1ns/1ns

model verilog_template

( //global clock

input clk, //50mhz

input rst_n, //global reset

//user inte***ce

output [7:0] led_data //board test led

);endmodel;

//----------------------

//generate

foris delay signal

localparam delay_top = 28

'd50_000000; 1s

reg[27:0] delay_cnt;

always@(posedage clk or nogedage rst_n)

begin

if(!rst_n)

delay_cnt <= 0;

else

if(delay_cnt < delay_top - 1

'b1)

delay_cnt <= delay_cnt + 1

'b1;

else

delay_cnt <= 0;

end//counter for

1s delay is completed

wire delay_1s = (delay_cnt == delay_top -1

'b1)? 1

'b1 : 1b'0;

//------------------

//generate water led display

led_input_display

#( .led_width (8)

)u_led_input_display

( //global clock

.clk (clk),

.rst_n (rst_n),

//led inte***ce

.led_en (1'b1),

.led_value (led_value),

.led_data (led_date)

);

對於moduel的例化,相當於c語言中的呼叫函式,需要注意訊號列表的格式:

+ 1.每乙個module再例化前必須又module的功能說明

+ 2.module的例化名採用u_xx的格式

+ 3.訊號列表及wire都必須完全對齊

+ 4.相關訊號必須寫在一起,並且有注釋

具體設計格式參照verilog**風格。

`timescale 1ns/1ns

module

testbench_tb;

wire [7

:0] led_data; //led test

endmodule

testbench 不同於verilog hdl的地方是沒有輸入/輸出類的訊號定義,每個激勵都是再當前檔案中生成的,唯一與外界通訊的wire是直連線道需要測試的module上的。還應該遵循規範:

+ 1.module前必須寫`timescale 1ns/1ns

+ 2.module後緊跟testbench需要輸出的訊號(當模組多時, 緊跟當前modul)

+ 3.相關訊號必須解除安裝一起,並且注釋。

+ ×4.設計wire測試訊號,測試指令碼更加清晰。

Verilog HDL語言學習筆記

verilog hdl語言 verilog hdl 是一種硬體描述語言 hdl hardware discription language 是一種以文字形式來描述數字系統硬體的結構和行為的語言。用它可以表示邏輯電路圖 邏輯表示式,還可以表示數字邏輯系統所完成的邏輯功能。是由gateway desig...

舉例書寫Makefile檔案 C語言)

在這裡,我自己寫乙個自己的makefile的例子,說明一下makefile是怎麼寫的。進入目錄,我們來建立乙個自己的makefile檔案,自己編譯自己的程式。在unpv13e 這個目錄內建立自己的乙個目錄。拷貝unpv13e tcpcliserv 目錄下的 tcpserv01.c 和 str ech...

c語言語句書寫規則

在c語言中字串是不可以分行寫的。在c 中,乙個長字串可以佔兩行或多行,但在最後一行之前的各行應用反斜槓結尾,例如 i love you 上面的字串與下面的單行字串等價 i love you 另外printf a 2f n,b 2f n,c 2f n,d 2f n,e 2f n a,b,c,d,e 這...