スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[VHDL-2008] Relational Operators(2)

VHDL-2008, The End of Verbosity!


を見ていて自分でも試してみました。(p7)


VHDL-2008から関係演算子「?=, ?/=, ?>, ?>=. ?<, ?<=」が追加されています。

?」だと '-'にて「Don't Care」を指定できます。

  • サンプルコード
  •  1|library IEEE;
     2|use IEEE.std_logic_1164.all;
     3|use IEEE.std_logic_unsigned.all;
     4|use IEEE.numeric_std.all;
     5|use IEEE.std_logic_textio.all;
     6|use std.textio.all;
     7|
     8|entity testbench is
     9|end testbench;
    10|
    11|architecture SIM of testbench is
    12|
    13|signal s_a : std_logic_vector(7 downto 0);
    14|
    15|begin
    16|
    17|  process begin
    18|    s_a <= (others=>'0');
    19|    wait for 100 ns;
    20|
    21|    s_a <= "01001000";
    22|    wait for 100 ns;
    23|    s_a <= "11110111";
    24|    wait for 100 ns;
    25|    s_a <= "11101111";
    26|    wait for 100 ns;
    27|    wait;
    28|    -- assert (false) report "Simulation End!" severity failure;
    29|  end process;
    30|
    31|  process(s_a) begin
    32|    if(s_a ?= "----1---") then
    33|      report "*** s_a(4) = '1' ***";
    34|    else
    35|      report "*** Not s_a(4) = '1' ***";
    36|    end if;
    37|  end process;
    38|
    39|end SIM;
  • 実行結果
  • # ** Note: *** Not s_a(4) = '1' ***
    # ** Note: *** Not s_a(4) = '1' ***
    # ** Note: *** s_a(4) = '1' ***
    # ** Note: *** Not s_a(4) = '1' ***
    # ** Note: *** s_a(4) = '1' ***
    

ちなみに -2008を付けないと以下のようなエラーが出ました。

** Error: test.vhd(32): near "?": expecting ')'
関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

Author:Kocha
なんでもチャレンジ!(^o^)/
E-mail
github:Kocha
イベントカレンダー

カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
カテゴリ
OVP (4)
最新記事
最新コメント
アーカイブ
リンク
Twitter
アクセス人数
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。