1. 程式人生 > >Verilog之case語句

Verilog之case語句

verilog設計進階

時間:2014年5月6日星期二

主要收穫:

1.學會使用case語句;

2.學會使用隨機函式$random。

$random:

1.函式說明:$random函式呼叫時返回一個32位的隨機數,它是一個帶符號的整形數。

2.產生0~59之間的隨機數的例子:

reg[23:0]rand;

rand={$random}% 60;

3.產生一個在min, max之間隨機數的例子:

reg[23:0]rand;

rand= min+{$random}%(max-min+1);

(摘自昔如煙的部落格)

Verilog程式:

modulealu(out, opcode, a, b);

       output[7:0]     out;

       reg[7:0]   out;

       input[2:0]       opcode;

       input[7:0]       a, b;

       [email protected](opcode or a or b) begin

              case(opcode)

                     `plus:      out = a + b;

                     `minus:   out = a - b;

                     `band:     out = a & b;

                     `bor:       out = a | b;

                     `unegate:out= ~a;

                     default: out = 8'hx;

              endcase

       end

endmodule

測試程式:

`timescale1ns/1ns

modulealutest;

       wire[7:0] out;

       reg [7:0] a, b;

       reg [2:0] opcode;

       parameter times = 5;

       initial begin

              a={$random}%256;

              b={$random}%256;

              opcode=3'd0;

              repeat(times) begin

                     #100;

                     a={$random}%256;

                     b={$random}%256;

                     opcode=opcode+1;

              end

              #100 $stop;

       end

       alu u1(out, opcode, a, b);

endmodule

模擬波形:


相關推薦

Verilogcase語句

verilog設計進階 時間:2014年5月6日星期二 主要收穫: 1.學會使用case語句; 2.學會使用隨機函式$random。 $random: 1.函式說明:$random函式呼叫時返回一個32位的隨機數,它是一個帶符號的整形數。 2.產生0~59之間的隨機數的

bash腳本case語句應用,while、until和select循環應用及其示例

bash腳本bash腳本編程: case選擇分支結構: case: case 詞 in [模式 [| 模式]...) 命令 ;;]... esac 在腳本中使用case的結構: case ${VAR_NAME} in PATTERN1) COMMAND ... ;; PATTE

03 shell編程case語句與函數

使用 函數名 AC key body 語句 wid 編寫 util 本文所有內容均來自當年博主當年學習筆記,若有不足歡迎指正 Shell編程之case語句與函數 學習目標: 掌握case語句編程 掌握shell函數的使用 目錄結構: Case語句 Case語句的

bash程式設計case語句,函式

bash指令碼程式設計:之case語句   條件測試: 0: 成功 1-255: 失敗   命令: [ expression ] [[ expression ]] test expression

shell筆記case語句

一般用於固定傳參指令碼 語法格式 case 變數 in 1) do ;; 2) do ;; *) exit esac 使用case列印選單 [[email prote

mysql儲存過程case語句瞭解下

除了if語句,mysql提供了一個替代的條件語句CASE。 mysql的 CASE語句使程式碼更加可讀和高效。廢話不多說,我們先來看下簡單case語句的語法:CASE case_expression WHEN when_expression_1 THEN comman

數字IC-Verilog編譯器指示語句

數字IC之-Verilog編譯器指示語句      設計者在寫設計程式碼時,有時可能針對模擬寫一些語句,這些語句可能是不為DC所接受,也不希望DC接受;設計者如果不對這些語句進行特殊說明,DC讀入設計程式碼時就會產生語法錯誤。另一種情況是,設計者在寫設計程式碼,有些

SQLCASE表示式總結二:利用CASE語句來更新欄位的值

可以在UPDATE語句中使用CASE表示式來方便的更新欄位的值 例項:有如下工資表: 要求: (1)對目前工資為30000元以上的員工,降薪10% (2)對目前工資為25000元以上且不滿28000元的員工,加薪20% (3)上述條件以外的情形的員工,保持不變 [分析]:按照常規思路,直接對資

sql語句 CASE WHEN 搜尋語句

今天查詢資料庫時遇到一個問題,一個表中存了三種不同狀態的的記錄,即倉庫日誌表裡存了 領出,報廢,歸還三個狀態的欄位,而我需要做的操作是統計出一個人的領用總數量,報廢總數量,和歸還總數量,自己用了很多種方法,但都行不通,最後還是大神提供了case when語句才得以解決,所以寫

自己動手寫處理器第二階段(3)——Verilog HDL行為語句

將陸續上傳本人寫的新書《自己動手寫處理器》(尚未出版),今天是第七篇,我儘量每週四篇 2.6 Verilog HDL行為語句 2.6.1 過程語句       Verilog定義的模組一般包括有過程語句,過程語句有兩種:initial、always。其中initial常用於

關於verilog中if與case語句不完整產生鎖存器的問題

一、是什麼        鎖存器是一種在非同步時序電路系統中,對輸入訊號電平敏感的單元,用來儲存資訊。一個鎖存器可以儲存1bit的資訊,通常,鎖存器會多個一起出現,如4位鎖存器,8位鎖存器。         鎖存器在資料未鎖存時,輸出端的訊號隨輸入訊號變化,就像訊號通

Java基礎迴圈語句、條件語句、switch case 語句

Java 迴圈結構 - for, while 及 do...while 順序結構的程式語句只能被執行一次。如果您想要同樣的操作執行多次,,就需要使用迴圈結構。 Java中有三種主要的迴圈結構: while 迴圈 do…while 迴圈 for 迴圈 在J

C++switch case語句詳解

我們已經瞭解,if……else……可以用來描述一個“二岔路口”,我們只能選擇其中一條路來繼續走。然而,有時候我們會遇到一些“多岔路口”的情況,用if……else……語句來描述這種多岔路口會顯得非常麻煩,而且容易把思路攪渾。比如程式4.2.2就是一個用if……else……語句

T-SQL語句case when then 多條件判斷

CASE    WHEN 條件1 THEN 結果1    WHEN 條件2 THEN 結果2    WHEN 條件3 THEN 結果3    WHEN 條件4 THEN 結果4 .........    WHEN 條件N THEN 結果N    ELSE 結果X END Case具有兩種格式。簡單Case函

SQL語句CASE WHEN

CASE WHEN 基本概念 Case具有兩種格式:簡單Case函式和Case搜尋函式。 簡單Case函式: CASE sex WHEN ‘1’ THEN ‘男’ WHEN ‘0’ THEN ‘女’ ELSE ‘其他’ END Case搜尋函式:

Mysqlcase when then end語句(附帶例項)

這段時間,做專案做累了,好不容易有點個人的學習時間,利用這個小時,總結一下,最近做統計的時候常用的case語句吧。結構:case  when… then …end1.判斷的同時改變其值eg:select OperatorAccount, case    when CreateTime>'

linuxSQL語句簡明教程---主鍵,外來鍵

兩個 drop 表格 教程 ref double last http 舉例 主鍵 (Primary Key) 中的每一筆資料都是表格中的唯一值。換言之。它是用來獨一無二地確認一個表格中的每一行資料。主鍵能夠是原本資料內的一個欄位。或是一個人造欄位 (與原本資料沒有關系的

C語言中switch...case語句中break的重要性

不能 實現 比例 重要性 case語句 毫無 ... 應該 switch 在C語言中switch...case語句是經常用到的,下面我介紹一下在使用該語句時候需要註意的一個細節問題。話不多說,直接舉例子: 例子1: switch(fruit) { case 1:printf

switch… case 語句的用法

[] other sta rgs bsp str 復制代碼 ring 表達 public class Test7 { public static void main(String[] args) { int i=5; switch

玩轉Bash腳本:選擇結構case

設置 pac tab 個數 trac char ... 依據 south 總第5篇 之前,我們談到了if。這次我們來談還有一種選擇結構——case。 case與if if用於選擇的條件,不是非常多的情況,假設選擇的條件太多。一系列的if。elif,。也是醉了。