FC2カウンター FPGAの部屋 Type Qualification とType Conversion
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Type Qualification とType Conversion

VHDLのType Qualification とType Conversionについての覚書。(参考書籍、The Designer's Guide to VHDL, 2nd Editon, 48ページ)(リンクは3rd Editonです)

Type Qualification は、例えば
type STATE1 (idle, state1, state2);
type STATE2 (state2, idle, state1);
と宣言したときにSTATE1'(idle)、STATE2'(idle) と書ける。どっちの列挙宣言のidleかを指定できる。
std_logic_vector'("111110000")と書いたときは、string型がオーバーロードしていても、"111110000"がstd_logic_vector型であることを指定できる。

Type Conversionは、型を変換することができる。real(456), integer(32.57)
std_logic_vectorで宣言したsignalは、std_logic_signedライブラリをuseするか、std_logic_unsignedライブラリをuseするかでどちらの演算子を使うか指定できるようだ。でも足し算、引き算はどちらでも2進数の値は変わらない(2の補数表示)。ただ、比較演算子では、signedにはマイナスの数があるので、動作が変わることになる。掛け算では、符号拡張が行われる(signed)か、行われないか(unsigned)の違いがある。
signed(temp1), unsigned(temp2)

#間違っていたらコメントください。よろしくお願いします。
  1. 2010年12月22日 12:13 |
  2. VHDLの書き方
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/1670-1592de38
この記事にトラックバックする(FC2ブログユーザー)