スポンサーサイト

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

[VHDL-2008] Relational Operators(1)

VHDL-2008, The End of Verbosity!


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


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

  • サンプルコード
  •  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|signal s_b : std_logic;
    15|
    16|begin
    17|
    18|  process begin
    19|    s_a <= (others=>'0');
    20|    s_b <= '0';
    21|    wait for 100 ns;
    22|
    23|    s_a <= "00001000";
    24|    wait for 100 ns;
    25|    s_b <= '1';
    26|    wait for 100 ns;
    27|    wait;
    28|    -- assert (false) report "Simulation End!" severity failure;
    29|  end process;
    30|
    31|  process(s_a, s_b) begin
    32|    if(s_a ?= "00001000" and s_b ) then
    33|      report "*** s_a = 8 and s_b = 1 ***";
    34|    else
    35|      report "*** Not s_a = 8 and s_b = 1 ***";
    36|    end if;
    37|  end process;
    38|
    39|end SIM;
  • 実行結果
  • # ** Note: *** Not s_a = 8 and s_b = 1 ***
    # ** Note: *** Not s_a = 8 and s_b = 1 ***
    # ** Note: *** Not s_a = 8 and s_b = 1 ***
    # ** Note: *** s_a = 8 and s_b = 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ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。