range - みる会図書館


検索対象: VHDLによるハードウェア設計入門 : 言語入力によるロジック回路設計手法を身につけよう
46件見つかりました。

1. VHDLによるハードウェア設計入門 : 言語入力によるロジック回路設計手法を身につけよう

236 mod ・ nand logic textiO logic 1164 ・・ To bit 索引 ・・・ 34 , 44 ・・・ 22 , 44 ・・・ 85 ・・・ 159 , 178 ・・・ 22 , 44 ・・・ 22 , 44 ・・・ 105 ・・・ 106 ・・・ 25 ・・・ 22 , 44 ・・・ 162 ・・・ 30 , 46 , 47 , 173 ・・・ 18 , 19 , 126 , 178 ・・・ 162 ・・・ 94 , 112 , 178 ・・・ 18 , 178 ・・・ 186 ・・・ 85 ・・・ 186 ・・・ 37 , 179 ・・・ 111 , 126 , 179 ・・・ 186 ・・・ 88 , 90 , 115 , 128 , 182 , 185 ・・・ 100 , 182 ・・・ 161 ・・・ 161 ・・・ 33 , 85 , 87 ・・・ 109 , 182 ・・・ 111 , 116 , 119 , 126 ・・・ 185 ・・・ 34 , 44 ・・・ 171 ・・・ 116 , 119 , 185 ・・・ 16 , 98 , 152 , 157 severi ty ・ sel ect ・ signal signed ・ STANDARD ・・ STD ・・ STABLE ・ natural ・・ nor not N OTE NOW ・・ open ・ oread ・ others ・ out ・・ owrite package ・・ port POS positive PRED ・・ process ・ procedure QUIET ・ range range< > read readline ・・ std std std std std std std std arith ・ vector ・ logic signed unsigned ・ logic logic logic ulogic ・ string ・・ STRUCTURE ・・ SUCC ・・・ TEXTIO ・ transport TRANSACTION time tO TO bitvector TO stdlogic ・ TO stdlogicvector ・ rec ord ・ return reverse rem ・ report ・・ RTL ・ range ・ unitS ・ unsigned use use : 文市 variable VAL ・ wait 文・ wait until ・・・ 85 , 105 , 171 ・・・ 184 ・・・ 21 , 81 , 116 , 121 , 128 , 155 , 180 ・・・ 61 ・・・ 92 ・・・ 186 ・・・ 92 ・・・ 20 , 32 , 53 , 75 , 161 , 164 ・・・ 60 , 88 , 93 , 107 ・・・ 26 , 32 , 42 , 53 , 60 , 75 , 100 , 108 , 161 ・・・ 60 ・・・ 161 ・・・ 34 , 43 , 60 , 93 , 107 ・・・ 21 , 60 , 93 , 100 , 107 , 164 ・・・ 164 ・・・ 85 , 108 ・・・ 187 ・・・ 186 ・・・ 93 , 161 ・・・ 104 , 184 ・・・ 187 ・・・ 70 , 85 , 88 ・・・ 26 , 28 , 182 ・・・ 107 ・・・ 107 ・・・ 107 ・・・ 107 ・・・ 88 , 182 ・・・ 61 , 75 , 107 , 119 ・・・ 21 , 24 , 34 , 95 , 168 , 187 ・・・ 21 , 172 , 173 , 183 ・・・ 81 , 117 , 121 , 126 , 155 , 183 ・・・ 186 ・・・ 72 , 82 , 162 , 183 ・・・ 72 , 183 ・・・ 54 , 72 , 183

2. VHDLによるハードウェア設計入門 : 言語入力によるロジック回路設計手法を身につけよう

785 付録 B 定義済みアトリビュ → 7 → O A'range → 7 downto O ートー 見 ・配列になっているオプジェクト ( 信号 , 変数 , 定数 ) に付加されているアトリビュート N は , 2 次元以上の配列で何番目かを表わす . A'Ieft [ (N) ] A'right C(N)] A'high [ ( ) ] A'Iow [ ( ル ) ] A'range [ (N) ] A'reverse—range [ (N) ] A'length [ (N) ] 左の限界値 右の限界値 上限値 下限値 範囲 範囲の逆 範囲の数 例 : signal A : std—logic—vector ( 7 downto O ) ; signal B : std—logic_vector ( 0 tO 8 ) ; type C is array (O tO 5,0 tO 8 ) Of std—logic; A'left A'right T'right T'left T'base A'high → 7 B'left B'right B'high → O 8 C'right ( 2 ) → 8 → 8 C'high ( 1 ) → 5 A'reverse_range → 0 tO 7 A'length → 8 B'length → 9 ・データ・タイプに付加されているアトリビュート 使用できる . 例 : T'base'left 左の限界値 右の限界値 T の基本タイプ , 他のアトリビュートと併用する場合のみ

3. VHDLによるハードウェア設計入門 : 言語入力によるロジック回路設計手法を身につけよう

273 mR i result' RANGE LWP result(i) ・ = cvt_to_x01z (sv(i)); END LWP : RETURN result : END : FUNCTION To_XOIZ ( s : std_ulogic ) RETURN X()IZ BEGIN RETURN (cvt_to_x01z(s)) : END; FUNCTION To_XOIZ ( b : BIT VECTOR ) R std_logic_vector ALIAS bv : BIT VECTOR ( 1 TO b'LENGTH ) IS b; VARIABLE result : std_logic_vector ( 1 b' LENGTH ) : END : RETURN result : ニ > result(i) ・ ニ > result(i) ・ END IMP,• END CASE : 背 N ' 1 ' 背 N ' 0 ' CASE bv(i) mR i IN result' RANGE IH)P BEGIN V I result : std_ulogic_vector ( 1 b' LENGTH ) : ALIAS bv : BIT VECTOR ( 1 b'LENGTH ) IS b; FUNCTION To_XOIZ ( b : BIT_YECTOR ) RETURN std_ulogic_vector IS つ result(i) ・ CASE bv(i) IS 順 i Ⅲ result' RANGE l.mp BEGIN

4. VHDLによるハードウェア設計入門 : 言語入力によるロジック回路設計手法を身につけよう

209 NR i Ⅲ result' RANGE IMP CASE bv(i) IS WHEN ・ 0 ' 第 N ' l' END CASE; END LWP,• RETURN resul t : ニ〉 result(i) ・ ニ〉 result(i) ・ END; VARIABLE result : std_ulogic_vector ( b' LENGTH- 1 mWNT() 0 ) : ALIAS bv : BIT_VECTOR ( b'LENGTH-l IMNTO 0 ) IS b; FUNCTION To StdULogicVector ( b : BIT VECTOR ) RETURN std_ulogic_vector IS END; RETURN result : IS END l.mp; result(i) ・ニ sv(i); (I)R i Ⅲ result' RANGE I. BEGIN VARIABLE result : std_logic_vector ( s' LENGTH-I 0 ) : ALIAS sv : std_ulogic_vector ( s' LENGTH-I 0 ) IS s; FUNCTION To StdLogicVector ( s : std_ulogic_vector) RETURN std_logic_vector = > result(i) ・ = 〉 result(i) ・ RETURN result : END LWP,• END CASE : 背 N ' 1 ' WHEN ' 0 ・ CASE bv(i) IS (X)R i IN result' RANGE IMP BEGIN

5. VHDLによるハードウェア設計入門 : 言語入力によるロジック回路設計手法を身につけよう

5.2 ファンクション文 ノ 75 った信号を渡されるとエラーになります . ・アトリビュート リスト 5.1 の④では変数 ' tmp ' が宣言されています . "A'range" は , 配列タイプに付く アトリビュート ( 属性 ) で配列の範囲を表します . リスト 5.2 の③で ' A ' は , "5 downto O" の範囲が渡されているので , ' A ' range ' はこの範囲を表すことになります . 範囲などをそのまま数字で記述してしまうとピット長可変にすることができないので , ビット長が可変のサププログラムを記述する場合は , このアトリピュートを使用して実際 くリスト 5.2 〉ピーク・デテクタの記述 ( 合成された回路 ) OA ーんい日一 DA ーーいい

6. VHDLによるハードウェア設計入門 : 言語入力によるロジック回路設計手法を身につけよう

2 ノノ X01 IS std—logic—vector IS RETURN (cvt_to_x01(s) ) : ALIAS bv : BIT_VEff0R ( 1 TO b'LENGTH ) IS b; FUNCTION To ー X01 ( b : BIT_YECTOR ) RETURN END; BEGIN FUNCTION To ー X01 ( s : std_ulogic ) RETURN END : RETURN resul t : END l-mp ・ result(i) ・ = cvt_to_x01 (sv(i)) : i IN result' RANGE l_mp BEGIN VARIABLE result : std_logic_vector ( 1 TO b' LENGTH ) : CASE bv(i) IS FOR i IN result' RANGE l.mp BEGIN N ' 0 ' 背 N ' 1 ' END CASE : END LWP : RETURN resu 1 t : END : = 〉 result(i) = 〉 result(i) ・ FUNCTION To ー X01 ( b : BIT_YECTOR ) RETURN std_ulogic_vector CASE bv(i) IS NR i IN result' RANGE LWP VARIABLE result : std_ulogic_vector ( 1 TO b' LENGTH ) : ALIAS bv : BIT_VECTOR ( 1 TO b'LENGTH ) b; BEG Ⅲ

7. VHDLによるハードウェア設計入門 : 言語入力によるロジック回路設計手法を身につけよう

付録 C VHDL バッケージ・ファイル ( 1 : std—ulogic; r : std—ulogic ( 1 : std—ulogic; r : std—ulogic ノ 90 ー array Of std—logic for use in declaring arrays SUBTYPE std_logic IS resolved std_ulogic : ー * * * industry standard logic * * * TYPE std_logic—vector IS ARRAY ( NATURAL RANGE 0 ) std_logic : SUBTYPE リ XOIZ std_ulogic RANGE ・び ' Z' : ー ( ・ U' , ' X'. ' 0 '. S も町 UXOI IS std_ulogic RANGE ' び ' 1 ' : ーー ( ' び . ' X' , ' 0 ' , SUBTYPE XOIZ IS std_ulogic N 健 ' X' ' Z' : ーぐ X'. ' 0 ' , IS std_ulogic R 健 ' X' TO ・ l' : ー ( ' X' , ' 0 ' , SUBTYPE X01 ー overlæded 10gi51 N ION ” d ” FUNCTIm ” FUNCTION 物 nor function FUNCTION 物 not ” ( 1 : std—ulogic; r : std—ulogic FUNCTION - - ( 1 : std_ulogic; r : std_ulogic 0 ( 1 : std—ulogic; r : std—ulogic ( 1 : std—ulogic : std—ulogic; r : std—ulogic xor ー 10gi51 0 tors ) R 訂ー UXOI; ) RETURN UXOI : ) N UXOI : ) RETURN UXOI : ) RETURN 似 01 : ) retum 01 : ) RMURN UXOI;

8. VHDLによるハードウェア設計入門 : 言語入力によるロジック回路設計手法を身につけよう

90 第 4 章データ・タイプとパッケージ type データ・タイプ名 is ( 要素 , 要素 , ロジック回路では , すべてのデータは ' 1 ' か℃ ' の数字ですが , 人間が論理を考える場合 , すべての状態を数字で考えることはできません . VHDL では , 数字のかわりに状態を名前で扱うことができるようになっています . た とえは 1 週間をロジック回路で扱う場合 , 日曜日は "OOO", 月曜日は " OO 蹙というのでは 己述を見ても理解するのに時間がかかります . これを "WEEK" というデータ・タイプ名で , type WEEK is (SUN , MON , TUE , WED , THU , FRI , SAT); と定義することにより , "TUE" という状態が現れたらそれは火曜日であるといったぐあ いに直感的に理解することができます . また , 新しいデータ・タイプを定義した場合 , そ のデータ・タイプで定義された信号は他の信号に直接代入することや演算することができ なくなるため , 信号の誤接続などが少なくなります . 列挙タイプのデータ・タイプは , この他に新しいロジック型のデータを定義することに も使用されます . 実は今まで使用してきた "std ー logic" もこのように定義されたデータ・ タイプの一つです . パッケージ " std ー logic ー 1164 ' の中で , 一三ロ type std - logic is と定義されています . ューサ定義のデータ・タイプ使用例は 4.5 節でパッケージとライプラリの説明の後に紹 介します . ューサ定義のデータ・タイプは列挙タイプのほかに lnteger タイプ , Real タイプ , 配列 タイプ ( 4.6 節 ) , アクセス・タイプ , ファイル・タイプ , レコード・タイプ ( 4.10 節 ) につい て行えます . lnteger タイプと ReaI タイプは range で範囲を指定します . type digit is integer range O tO 9 ; type CURRENT is real range ー 1E4 to 1E4 ;

9. VHDLによるハードウェア設計入門 : 言語入力によるロジック回路設計手法を身につけよう

幻 8 function " + "(): UNSIGNED : R : SIGNED) retum SIGNED : function "+"(): SIGNED; R: UNSIGNED) return SIGNED; library IEEE; STD ULTJIC, STD LTJIC, and STD ISIC_VECTOR. for SIGNED, UNSIGNED, SMALL INT, INTEGER, A set Of arithemtic, conversion, and functions PurII)se : Package name : STD LWJIC—ARITH ー and that any derivative work contains this copyright notice. ー provided that this copyright statement is not removed from the file ー This source file may be used and distributed without restriction ー Copyright (c) 1990 , 1991 , 1992 by Syn 叩 sys, lnc. A11 rights reserved. ・ std-logic-arith (Synopsys 社提供 ) 付録 C VHDL パッケージ・ファイル subtype SMALL—INT is INTEGER range 0 to 1 : type SIGNED is array (NATURAL range く〉 ) of STD IÆIC : type UNSIGNED is array (NATURAL range く〉 ) of STD LWJIC : std—logic arith is use IEEE. std_logic_1164. a11 : function "+"(): UNSIGNED; R : INTEGER) return UNSIGNED; function "+"(): UNSIGNED; R: UNSIGNED) return UNSIGNED; function "+"(): SIGNED; R: SIGNED) return SIGNED; function 第 L : SIGNED; R: STD_UIMC) retum SIGNED; function "+"(): STD_UJßlC; R: UNSIGNED) return UNSIGNED; function "+"(): UNSIGNED; R: STD_UIMC) retum UNSIGNED; function "+"(): INTEGER; R: SIGNED) retum SIGNED; function "+"(): SIGNED; R: INTEGER) return SIGNED; function " ド (): INTEGER : R : UNSIGNED) retum UNSIGNED;

10. VHDLによるハードウェア設計入門 : 言語入力によるロジック回路設計手法を身につけよう

( a ) グレイ→バイナリ ackage my—pac i s se IEEE. std 」 og ic_unsigned. all ; se IEEE. std 」 ogic 」 164. all ; lib 「 ary IEEE; 5.5 く図 5.1 〉バイナリ・コードとグレイ・コードの相互変換 B(3) B(3) B ( 2 ) B(2) B(I) くリスト 5.6 > グレイ・コードのインクリメンタの記述 G (O) G(I) G ( 2 ) G ( 3 ) グレイ・コード・カウンタの記述 G(3) G(2) G(I) ノ 25 B(I) B (O) B ( 0 ) G ( 0 ) ( b ) バイナリ→グレイ function A Ⅵ ( CIN : in std, 」 ogic—vecto 「 ) return std 」 ogic—vector; end my—pac ; package bOdy my—pac i s ①グレイ・コード・インクリメンタの ファンクション文 function A Ⅵ ( CIN : in std 」 ogic—vector) return std, 」 ogic—vector is variable BINARY : std 」 ogic—vecto 「 (CIN' range); variable . std 」 ogic—vector(ClN' range); beg i n fo 「一 in CIN' range ー if(l = ClN'left) then C D ; 引 NARY( D BIURY(I) ド引 RY ( 田 ) xo 「 CIN(I); e ー se e ー se BINARY( 既 if(l = ClN'left) then fo 「一 in CIN' 「 ange ー BINARY ド BINARY 十 1 : end ー end i f ; end my—pac : end , 「 eturn end ー , end i f , ØUT(I) ド BINARY(I + 1) xo 「田 RY ( 以 ③インクリメント ② fo 「 - loop 文てグレイ・コードから バイナリ・コードへ変換 ④ fo 「ヨ 00P 文てバイナリ・コードから グレイ・コードへ変換