那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Verilog HDL指定用戶定義原語UDP的能力介紹

電子工程師 ? 來源:FPGA設計論壇 ? 作者:FPGA設計論壇 ? 2021-03-05 15:30 ? 次閱讀

用戶定義的原語

在前一章中,我們介紹了Verilog HDL提供的內置基本門。本章講述Verilog HDL指定用戶定義原語U D P的能力。

U D P的實例語句與基本門的實例語句完全相同,即 U D P實例語句的語法與基本門的實例語句語法一致。

6.1 UDP的定義

使用具有如下語法的U D P說明定義U D P。

p r i m i t i v e U D P _ n a m e (OutputName, List_of_inputs )

O u t p u t _ d e c l a r a t i o n

L i s t _ o f _ i n p u t _ d e c l a r a t i o n s

[R e g _ d e c l a r a t i o n]

[I n i t i a l _ s t a t e m e n t]

t a b l e

L i s t _ o f _ t a b e l _ e n t r i e s

e n d t a b l e

e n d p r i m i t i v e

U D P的定義不依賴于模塊定義,因此出現在模塊定義以外。也可以在單獨的文本文件中

定義U D P。U D P只能有一個輸出和一個或多個輸入。第一個端口必須是輸出端口。此外,輸出可以取值0、1或x(不允許取z值)。輸入中出現值z以x處理。U D P的行為以表的形式描述。在U D P中可以描述下面兩類行為:

1) 組合電路

2) 時序電路(邊沿觸發和電平觸發)

6.2 組合電路UDP

在組合電路U D P中,表規定了不同的輸入組合和相對應的輸出值。沒有指定的任意組合輸出為x。下面以2 - 1多路選擇器為例加以說明。

p r i m i t i v e MUX2x1 (Z, Hab, Bay, Sel ) ;

o u t p u t Z;

i n p u t Hab,Bay, Sel;

t a b l e

// Hab Bay Sel : Z 注:本行僅作為注釋。

0 ? 1 : 0 ;

1 ? 1 : 1 ;

? 0 0 : 0 ;

? 1 0 : 1 ;

0 0 x : 0 ;

1 1 x : 1 ;

e n d t a b l e

e n d p r i m i t i v e

字符?代表不必關心相應變量的具體值,即它可以是0、1或x。輸入端口的次序必須與表中各項的次序匹配,即表中的第一列對應于原語端口隊列的第一個輸入 (例子中為 H a b),第二列是 B a y,第三列是 S e l。在多路選擇器的表中沒有輸入組合 0 1x項(還有其它一些項 );在這種情況下,輸出的缺省值為 x(對其它未定義的項也是如此 )。

5bd729e0-7c77-11eb-8b86-12bb97331649.png

圖6 - 1為使用2 - 1多路選擇器原語組成的4 - 1多路選擇器的示例。

如上例所示,在U D P實例中,總共可以指定 2個時延,這是由于U D P的輸出可以取值0、1或x(無截止時延)。

6.3 時序電路UDP

在時序電路U D P中,使用1位寄存器描述內部狀態。該寄存器的值是時序電路U D P的輸出值。共有兩種不同類型的時序電路U D P:一種模擬電平觸發行為;另一種模擬邊沿觸發行為。時序電路U D P使用寄存器當前值和輸入值決定寄存器的下一狀態 (和后繼的輸出)。

6.3.1 初始化狀態寄存器

時序電路U D P的狀態初始化可以使用帶有一條過程賦值語句的初始化語句實現。形式如下:

i n i t i a l r e g _ n a m e = 0,1,or x;

初始化語句在U D P定義中出現。

6.3.2 電平觸發的時序電路UDP

下面是D鎖存器建模的電平觸發的時序電路 U D P示例。只要時鐘為低電平 0,數據就從輸入傳遞到輸出;否則輸出值被鎖存。

p r i m i t i v e Latch (Q, Clk, D) ;

o u t p u t Q;

r e g Q;

i n p u t Clk, D;

t a b l e

// Clk D Q(State) Q( n e x t )

0 1 : ? : 1 ;

0 0 : ? : 0 ;

1 ? : ? : - ;

e n d t a b l e

e n d p r i m i t i v e

“-”字符表示值“無變化”。注意U D P的狀態存儲在寄存器D中。

6.3.3 邊沿觸發的時序電路UDP

下例用邊沿觸發時序電路U D P為D邊沿觸發觸發器建模。初始化語句用于初始化觸發器的狀態。

表項( 0 1 )表示從0轉換到1,表項( 0 x )表示從0轉換到x,表項( ? 0 )表示從任意值( 0 , 1或x)轉換到0,表項( ? ? )表示任意轉換。對任意未定義的轉換,輸出缺省為 x。

假定D _ E d g e _ F F為U D P定義,它現在就能夠象基本門一樣在模塊中使用,如下面的 4位寄存器所示。

6.3.4 邊沿觸發和電平觸發的混合行為

在同一個表中能夠混合電平觸發和邊沿觸發項。在這種情況下,邊沿變化在電平觸發之前處理,即電平觸發項覆蓋邊沿觸發項。下例是帶異步清空的D觸發器的U D P描述。

6.4 另一實例

下面是3位表決電路的U D P描述。如果輸入向量中存在2個或更多的1,則輸出為1。

6.5 表項匯總

原文標題:Verilog入門-用戶定義的原語

文章出處:【微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Verilog
    +關注

    關注

    28

    文章

    1351

    瀏覽量

    110391
  • HDL
    HDL
    +關注

    關注

    8

    文章

    328

    瀏覽量

    47468

原文標題:Verilog入門-用戶定義的原語

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Verilog 與 ASIC 設計的關系 Verilog 代碼優化技巧

    Verilog與ASIC設計的關系 Verilog作為一種硬件描述語言(HDL),在ASIC設計中扮演著至關重要的角色。ASIC(Application Specific Integrated
    的頭像 發表于 12-17 09:52 ?258次閱讀

    Verilog與VHDL的比較 Verilog HDL編程技巧

    Verilog 與 VHDL 比較 1. 語法和風格 VerilogVerilog 的語法更接近于 C 語言,對于有 C 語言背景的工程師來說,學習曲線較平緩。它支持結構化編程,代碼更直觀,易于
    的頭像 發表于 12-17 09:44 ?340次閱讀

    數字系統設計與Verilog HDL

    數字系統設計與Verilog HDL 1.兼職職位 ,不坐班,等待公司分配任務,時間自由 2.薪資: 200-5000不等可具體協商 3.要求:國內985/211院校在讀或畢業,或者國外前100的院校 4.英語水平:四級500+/六級440+/雅思6.5+/托福90+
    發表于 11-06 17:57

    Verilog硬件描述語言參考手冊

    一. 關于 IEEE 1364 標準二. Verilog簡介三. 語法總結四. 編寫Verilog HDL源代碼的標準五. 設計流程
    發表于 11-04 10:12 ?4次下載

    Verilog HDL的基礎知識

    本文繼續介紹Verilog HDL基礎知識,重點介紹賦值語句、阻塞與非阻塞、循環語句、同步與異步、函數與任務語法知識。
    的頭像 發表于 10-24 15:00 ?592次閱讀
    <b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>的基礎知識

    FPGA芯片架構和資源有深入的理解,精通Verilog HDL、VHDL

    、計算機相關專業,具有良好的專業基礎知識。 2.工作年限不限,有工作經驗或優秀應屆畢業生亦可。 3.對FPGA芯片架構和資源有深入的理解,精通Verilog HDL、VHDL編程語言,熟悉時序約束、時序分析
    發表于 09-15 15:23

    FPGA Verilog HDL有什么奇技巧?

    今天給大俠帶來在FPAG技術交流群里平時討論的問題答疑合集(九),以后還會多推出本系列,話不多說,上貨。 交流問題(一) Q:Verilog 有什么奇技淫巧? A:在 Verilog 中,以下這些
    發表于 09-12 19:10

    tcp和udp的區別和聯系

    一、引言 在現代網絡通信中,數據傳輸是至關重要的。為了確保數據的可靠傳輸,網絡協議發揮著關鍵作用。傳輸控制協議(TCP)和用戶數據報協議(UDP)是兩種常用的網絡協議,它們在許多應用場景中發
    的頭像 發表于 08-16 11:06 ?676次閱讀

    FPGA設計中 Verilog HDL實現基本的圖像濾波處理仿真

    今天給大俠帶來FPGA設計中用Verilog HDL實現基本的圖像濾波處理仿真,話不多說,上貨。 1、用matlab代碼,準備好把圖片轉化成Vivado Simulator識別的格式,即每行一
    發表于 05-20 16:44

    xilinx中的carry4原語在高云FPGA中用什么原語替代?

    xilinx中的carry4原語在高云FPGA中用什么原語替代
    發表于 05-09 16:13

    有什么好用的verilog HDL編輯工具可用?

    有什么好用的verilog HDL編輯工具可用?最好能集成實時的verilog HDL語法檢測、自定義模塊識別觸發等功能,最好能夠免費;
    發表于 04-28 11:00

    udp是什么協議?udp協議介紹

    UDP(User Datagram Protocol,用戶數據報協議)是一種無連接的傳輸層協議,不保證數據傳輸的可靠性,只負責把數據包發送給目標地址。它提供了簡單、高效的數據傳輸方式,適合對傳輸質量
    的頭像 發表于 04-19 15:57 ?1559次閱讀

    verilog中input和output作用

    以完成各種計算和控制任務。本文將詳細介紹input和output在Verilog中的作用及其使用方式。 一、input的作用及使用方式 作用 在Verilog中,input用于定義模塊
    的頭像 發表于 02-23 10:29 ?3403次閱讀

    verilog調用模塊端口對應方式

    Verilog是一種硬件描述語言(HDL),廣泛應用于數字電路設計和硬件驗證。在Verilog中,模塊是構建電路的基本單元,而模塊端口對應方式則用于描述模塊之間信號傳遞的方式。本文將介紹
    的頭像 發表于 02-23 10:20 ?1897次閱讀

    verilog function函數的用法

    Verilog 中被廣泛用于對電路進行模塊化設計,以簡化和組織代碼。 本文將詳細介紹 Verilog 函數的用法,并探討函數在硬件設計中的重要性和實際應用場景。 一. Verilog
    的頭像 發表于 02-22 15:49 ?6043次閱讀
    百家乐翻天快播粤语| 饶平县| 大发888棋牌下载| 哪里有百家乐游戏下载| 百家乐翻天粤语下载| 百家乐揽子打法| 百家乐玩家技巧分享| 百家乐博之道娱乐城| 百家乐赌场赌场网站| 广州百家乐赌城| 小孟百家乐的玩法技巧和规则 | 百家乐智能投注系统| 百家乐发脾机| 真人百家乐作| 大发888注册送28| 德州百家乐官网扑克桌| 游戏机百家乐官网的技术| 寿阳县| 百家乐官网轮盘怎么玩| 百家乐官网路子技巧| 华泰百家乐官网的玩法技巧和规则 | 怎么玩百家乐官网的玩法技巧和规则| 博狗百家乐官网的玩法技巧和规则| 百家乐稳赢投注方法| YY百家乐的玩法技巧和规则| 顶级赌场官网| 铜梁县| 百家乐官网棋牌游戏源码| 成都南偏西24度风水| 百家乐l路单| 大发888下载英皇国际| 大发888娱乐城 17| 湘乡市| 百家乐官网vshow| 网络百家乐必胜投注方法| 大发888娱乐场图标| 高唐县| 棋牌百家乐官网有稳赚的方法吗| 百家乐投注综合分析法| 大发888网址官方| 百家乐官网赌缆十三式|