vhdl #vhdl

Size: px
Start display at page:

Download "vhdl #vhdl"

Transcription

1 vhdl #vhdl

2 1 1: vhdl Examples 2 2 VHDL GHDL 7 Modelsim 8 9 VHDL

3 : DDFF Examples 23 DDFF DFF 29 DFF std_ulogicdff : VHDL

4 Examples VHDL VHDL : Examples : Examples : Examples : 58

5 58 Examples : Examples : Examples ROM 65 LIFO 65 10: Examples : 72 Examples : - 73 Examples

6 You can share this PDF with anyone you feel could benefit from it, downloaded the latest version from: vhdl It is an unofficial and free vhdl ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow. It is neither affiliated with Stack Overflow nor official vhdl. The content is released under Creative Commons BY-SA, and the list of contributors to each chapter are provided in the credits section at the end of this book. Images may be copyright of their respective owners unless otherwise specified. All trademarks and registered trademarks are the property of their respective company owners. Use the content presented in this book at your own risk; it is not guaranteed to be correct nor accurate, please send your feedback and corrections to 1

7 1: vhdl をいめる VHDL は VHSICHDL ハードウェアのです ハードウェアとして にをまたはモデルするために されます VHDL は のモデルにされるあいまいをするモデルとともに とのをにするをするの で をするのになです VHDL は シミュレーションとの 2 つのなるコンテキストでされます のためにされると コー ドは モデルされたのハードウェアにされます VHDL のサブセットのみがにでき サポートさ れているはされていません これは されるエンジンおよびターゲットハードウェアデバイスのである VHDL をシミュレーションにすると ハードウェアのをモデリングするためにすべての ができます バージョン バージョン IEEE IEEE IEEE IEEE IEEE 1076c IEEE Examples インストールまたはセットアップ VHDLプログラムはシミュレーションまたはすることができます シミュレーションは のプログラミングのほとんどのにています は VHDLプログラムをゲートのネットワークにします くのVHDLシミュレーションおよびツールは Electronic Design AutomationEDAスイートのです Verilog SystemVerilog SystemCなどののハードウェアHDLもにします いくつかのフリーでオープンソースのアプリケーションがします VHDL シミュレーション GHDL は おそらくもしたフリーでオープンソースの VHDL シミュレータです されるバックエン ドにじて gcc llvm または mcode 3 のフレーバーがされます のは GHDL mcode バージョンと 2

8 メンターグラフィックスのの HDL シミュレータである mcode GNU / Linux オペレーティングシステ ムでするをしています のツールやのオペレーティングシステムとによくています こんにちは をむ hello_world.vhd ファイルをします -- File hello_world.vhd entity hello_world is end entity hello_world; architecture arc of hello_world is assert false report "Hello world!" severity note; end architecture arc; VHDL コンパイルユニットは でコンパイルできるな VHDL プログラムです エンティティは デジタルのインタフェース すなわちそのおよびポートをするためにされる VHDL コンパイルで す このでは entity は hello_world です たちがモデリングしているはブラックボックスです ももありません アーキテクチャーはのタイプのコンパイルです それらはに entity けられ デジタルのをするためにされます 1 つのエンティティは エンティティのをする 1 つのアーキテクチャをつことができます このでは エンティティは 1 つの VHDL ステートメントだけをむ arc というアーキテクチャにけられています assert false report "Hello world!" severity note; ステートメントは シミュレーションのにされ Hello world! をし Hello world! メッセージをにします これもするがないため シミュレーションはします たちがいた VHDL ソースファイルに は 2 つのコンパイルユニットがまれています それらを 2 つのなるファイルにすることはできましたが それらのファイルをなるファイルにすることはできませんでした コンパイルはに 1 つのソースファイルにまれているがあります このアーキテクチャはゲートにできるをしていないためできないことにしてください し GHDL でプログラムをする $ mkdir gh_work $ ghdl -a --workdir=gh_work hello_world.vhd $ ghdl -r --workdir=gh_work hello_world hello_world.vhd:6:8:@0ms:(assertion note): Hello world! gh_work ディレクトリは GHDL がするファイルをするディレクトリです これは workdir=gh_work オプションの --workdir=gh_work です フェーズでは のしさをチェックし ソースファイルにあるコンパイルをするテキストファイルをします フェーズはにプログラムをコンパイル リンク します GHDL の mcode では バイナリファイルはされないことにしてください プログラムをシミュレートするたびに プログラムがコンパイルされます gcc または llvm バージョンはなるをします また ghdl -r は ghdl -a とに VHDL ソースファイルのではなく コンパイ 3

9 ルのをとることにしてください たちの entity をし entity 1 つの architecture しかけられていないため シミュレートする architecture をするはありません Modelsim をって $ vlib ms_work $ vmap work ms_work $ vcom hello_world.vhd $ vsim -c hello_world -do 'run -all; quit'... # ** Note: Hello world! # Time: 0 ns Iteration: 0 Instance: /hello_world... vlib vmap vcom vsim は vcom がする 4 つのコマンドです vlib は されたファイルがされる ディレクトリ ms_work をします vmap は vlib でされたディレクトリを work にけます vcom は VHDL ソースファイルをコンパイルし デフォルトではを work にけられたディレクトリにします に vsim はプログラムをシミュレートし GHDL とじのをします vsim がめているのは ソース ファイルではなく すでにコンパイルされたコンパイルユニットのです -c オプションをすると シミュレータはデフォルトのグラフィカルユーザーインターフェイス GUI モードではなくコマ ンドラインモードでされます -do オプションは デザインをロードしたにする TCL スクリプトを すためにされます TCL は EDA ツールでにされるスクリプトです -do オプションのは ファ イルのでも こののように TCL コマンドのでも -do ません run -all; quit またはにそれがにく - - その することがにするまでシミュレーションをするシミュレータをします カウンタ -- File counter.vhd -- The entity is the interface part. It has a name and a set of input / output -- ports. Ports have a name, a direction and a type. The bit type has only two -- values: '0' and '1'. It is one of the standard types. entity counter is port( clock: in bit; -- We are using the rising edge of CLOCK reset: in bit; -- Synchronous and active HIGH data: out natural -- The current value of the counter ); end entity counter; -- The architecture describes the internals. It is always associated -- to an entity. architecture sync of counter is -- The internal signals we use to count. Natural is another standard -- type. VHDL is not case sensitive. signal current_value: natural; signal NEXT_VALUE: natural; -- A process is a concurrent statement. It is an infinite loop. process -- The wait statement is a synchronization instruction. We wait -- until clock changes and its new value is '1' (a rising edge). wait until clock = '1'; 4

10 -- Our reset is synchronous: we consider it only at rising edges -- of our clock. if reset = '1' then -- <= is the signal assignment operator. current_value <= 0; else current_value <= next_value; -- Another process. The sensitivity list is another way to express -- synchronization constraints. It (approximately) means: wait until -- one of the signals in the list changes and then execute the process -- body. Sensitivity list and wait statements cannot be used together -- in the same process. process(current_value) next_value <= current_value + 1; -- A concurrent signal assignment, which is just a shorthand for the -- (trivial) equivalent process. data <= current_value; end architecture sync; こんにちは な "Hello world" をするはたくさんあります VHDL のメッセージ おそらくもなものはのような ものです -- File hello_world.vhd entity hello_world is end entity hello_world; architecture arc of hello_world is assert false report "Hello world!" severity note; end architecture arc; カウンタのシミュレーション シミュレーション VHDL デザイン Design Under Test または DUT のシミュレーションは なくともの VHDL デザイン です DUTのポートとポートにするをします DUTをインスタンスし そのポートをされたにします DUTのポートにされたをするプロセスをインスタンスします オプションで シミュレーションでは インターフェイスのトラフィックジェネレータ プロト 5

11 コルをチェックするモニタ DUT のベリファイアなど DUT のデザインをインスタンスできます シミュレーションがされ されされます ほとんどのシミュレータは するのセットをし グラフィカルなをプロットし ソースコードにブレークポイントをれ ソースコードでステップするをします... には シミュレーションはなテストとしてであるがあります つまり DUT のをにし なエラー メッセージをし DUT のなをするがあります このようなシミュレーションがな DUT のあらゆ るにして シミュレーショントレースのでエラーがしやすいをとせずに にしいことをすることができます には なシミュレーションをすることはです DUT そのものをするよりも しばしばである このでは カウンタのシミュレーションをします GHDL と ModelSim をしてすると GHDL で GTKWave をし Modelsim でみみのビューアをしてグラフィカルをするをします に シミュレ ーションのいについてしますそれらをめるは カウンタの 1 シミュレーション カウンタには 2 つのポートと 1 つのポートがあります になシミュレーションはのようなものです -- File counter_sim.vhd -- Entities of simulation environments are frequently black boxes without -- ports. entity counter_sim is end entity counter_sim; architecture sim of counter_sim is -- One signal per port of the DUT. Signals can have the same name as -- the corresponding port but they do not need to. signal clk: bit; signal rst: bit; signal data: natural; -- Instantiation of the DUT u0: entity work.counter(sync) port map( clock => clk, reset => rst, data => data ); -- A clock generating process with a 2ns clock period. The process -- being an infinite loop, the clock will never stop toggling. process clk <= '0'; 6

12 wait for 1 ns; clk <= '1'; wait for 1 ns; -- The process that handles the reset: active from ning of -- simulation until the 5th rising edge of the clock. process rst <= '1'; for i in 1 to 5 loop wait until rising_edge(clk); end loop; rst <= '0'; wait; -- Eternal wait. Stops the process forever. end architecture sim; GHDL によるシミュレーション GHDL でこれをコンパイルしてシミュレートしましょう $ mkdir gh_work $ ghdl -a --workdir=gh_work counter_sim.vhd counter_sim.vhd:27:24: unit "counter" not found in 'library "work"' counter_sim.vhd:50:35: no declaration for "rising_edge" に エラーメッセージが 2 つのなことをえてくれます GHDLアナライザーは たちのデザインがcounterというのエンティティをインスタンスして いますが このエンティティはライブラリの work つからないことをしました これは counter_sim に counter コンパイルしなかったためです エンティティをインスタンスする VHDL デザインをコンパイルする ボトムレベルはにトップレベルよりにコンパイルするが ありますデザインもトップダウンでコンパイルできcomponent エンティティではなく componentをインスタンスするのみ たちのデザインでされているrising_edgeはされていません これは このがVHDL 2008で されたことと このバージョンのをするように GHDL にしていないためですデフォルトで VHDL 1993 と VHDL 1987 のをします 2 つのエラーをし シミュレーションをしましょう $ ghdl -a --workdir=gh_work --std=08 counter.vhd counter_sim.vhd $ ghdl -r --workdir=gh_work --std=08 counter_sim sim ^C とシミュレーションには --std=08 オプションがであることにしてください また ソースファイルではなく エンティティ counter_sim architecture sim でシミュレーションをしたことにもしてください 7

13 たちのシミュレーションではしてプロセスがしないためクロックをするプロセス シミュレーションはせず でするがあります わりに を --stop-time オプションですることができます $ ghdl -r --workdir=gh_work --std=08 counter_sim sim --stop-time=60ns ghdl:info: simulation stopped by --stop-time つまり シミュレーションでは DUT のについてはほとんどえてくれません シグナルののをファ イルにダンプしましょう $ ghdl -r --workdir=gh_work --std=08 counter_sim sim --stop-time=60ns --vcd=counter_sim.vcd Vcd.Avhpi_Error! ghdl:info: simulation stopped by --stop-time エラーメッセージをしてください これは GHDL でするがあり はありません counter_sim.vcd ファイルがされました これは シミュレーションにすべてのを VCDASCII でんでいます GTKWave は するグラフィカルなをすることができます $ gtkwave counter_sim.vcd カウンタがどおりにすることがわかります Modelsim でシミュレーションする は Modelsim とまったくじです $ vlib ms_work... $ vmap work ms_work

14 $ vcom -nologo -quiet counter.vhd counter_sim.vhd $ vsim -voptargs="+acc" 'counter_sim(sim)' -do 'add wave /*; run 60ns' vsim される -voptargs="+acc" オプションにしてくださいシミュレータが data をするのをぎ でそれ をることができます にするシミュレーション どちらのシミュレータでも わりのないシミュレーションをしたり のオプションでをするがありました これはあまりではありません くの シミュレーションのをすることはです のにすると たとえばカウンタののが 20 にすると シミュレーションの VHDL コードのからシミュレー ションをするほうがずっといでしょう これは シミュレーションのアサーションでできます リセットをするプロセス process rst <= '1'; for i in 1 to 5 loop wait until rising_edge(clk); end loop; rst <= '0'; loop wait until rising_edge(clk); assert data /= 20 report "End of simulation" severity failure; end loop; data が 20 となるり シミュレーションはされます data が 20 にすると シミュレーションがクラ ッシュし エラーメッセージがされます 9

15 $ ghdl -a --workdir=gh_work --std=08 counter_sim.vhd $ ghdl -r --workdir=gh_work --std=08 counter_sim sim counter_sim.vhd:90:24:@51ns:(assertion failure): End of simulation ghdl:error: assertion failed from: process work.counter_sim(sim2).p1 at counter_sim.vhd:90 ghdl:error: simulation failed シミュレーションのみをコンパイルしたことにしてください これは されたのデザインであり トップレベルです 々はのだった counter.vhd 々はのコンパイルしなければならなかっただろう counter.vhd それがされたためと counter_sim.vhd それはにしているため counter.vhd エラーメッセージでシミュレーションをクラッシュさせることはあまりではありません シミュレーションメッセージをにして テストがしたかどうかをするにもになるがあります よりい よりされたソリューションは にするとすべてのプロセスをすることです これは えば boolean エンド オブ シミュレーション eof をえることによってうことができる デフォルトでは シミュレーションのに false にされ false たちのプロセスの 1 つは シミュレーションがするがたときにそれを true し true のすべてのプロセスはこのシグナルをし それが true になるとの wait し true signal eos: boolean;... process clk <= '0'; wait for 1 ns; clk <= '1'; wait for 1 ns; if eos then report "End of simulation"; wait; process rst <= '1'; for i in 1 to 5 loop wait until rising_edge(clk); end loop; rst <= '0'; for i in 1 to 20 loop wait until rising_edge(clk); end loop; eos <= true; wait; $ ghdl -a --workdir=gh_work --std=08 counter_sim.vhd $ ghdl -r --workdir=gh_work --std=08 counter_sim sim counter_sim.vhd:120:24:@50ns:(report note): End of simulation に パッケージ env とそれがした stop と finish をって VHDL 2008 にされたさらにれたソリューシ ョンがあります 10

16 use std.env.all;... process rst <= '1'; for i in 1 to 5 loop wait until rising_edge(clk); end loop; rst <= '0'; for i in 1 to 20 loop wait until rising_edge(clk); end loop; finish; $ ghdl -a --workdir=gh_work --std=08 counter_sim.vhd $ ghdl -r --workdir=gh_work --std=08 counter_sim sim simulation VHDL のシミュレーションセマンティクスの このでは VHDLのもなの1つ すなわちシミュレーションのセマンティクスをいます VHDLのけであり くのがされたされたビューをしますプロセスの VHDLきインタフェース シェア... なセマンティクスにのあるは LRMをするがあります と ほとんどのなプログラミングはをします それらはバリューコンテナです をして にをします a = 15; にされているをみんでのステートメントですることができます if(a == 15) { print "Fifteen" } VHDL はもし ほとんどのとまったくじをっています しかし VHDL はまた ののバリューコン テナをしています はまた をし りてられ みすこともできる シグナルにできるのタイプは とほぼじです だから 2 のバリューコンテナをつはですかこのへのえはであり のです とのいをすることは VHDL でかをプログラムしようとするにまずうべきことです なとして このいをしましょう のすべてのコードスニペットはプロセスのです たちはプロセスがであるかをでていきます 11

17 tmp := a; a := b; b := tmp; a と b れえます これらの 3 つのをした a のしいは b のいであり にそのである ほとんどのプロ グラミングとに 3 の tmp がです のわりにシグナルをれえるは のようにします r <= s; s <= r; または s <= r; r <= s; じで 3のなをとせずに VHDL<= は := とはなります 2のをてみましょう ここでは printサブプログラムがそのパラメータの10をするとしています aがで そののが15のは をします a := 2 * a; a := a - 5; a := a / 5; print(a); されます 5 たちは デバッガのステップでこのステップをすると たちは のをすることができ の に 5 からを a しかし s がで のが 15 のは のようにします s <= 2 * s; s <= s - 5; s <= s / 5; print(s); wait on s; print(s); されます 15 3 デバッガでこのステップをステップごとにすると wait のまで s のはされません さらに s は 12

18 15,30,25 または 5 ではなく 3 になります このようななは のセクションでするように デジタルハードウェアのなにします VHDL はハードウェア HDL であり にはである VHDL プログラムは してされるプログラムの です これらのプログラムはプロセスとばれます P1: process instruction1; instruction2;... instructionn; end process P1; P2: process... end process P2; プロセスは モデリングしているハードウェアと してわらず ループです のをした はのからされます 1 つのまたはのをサポートするプログラミングとに スケジューラは VHDL シミュレーションに するプロセスおよびいつをするがあります さらに このは プロセスおよびのためののをする スケジューリング スケジューラは すべてのプロセスのリストをし それらのそれぞれのために することができ のを running run-able または suspended くの running プロセスは 1 つで のプロセスです のプロセスが wait をしないり プロセスはをし のプロセスがされるのをぎます VHDL スケジ ューラはプリエンプティブではありません をし のプロセスをさせるのはそれぞれのプロセスのです これは VHDL のがにするの 1 つです フリーランニングプロセスです P3: process variable a: integer; a := s; a := 2 * a; r <= a; end process P3; a はローカルでされ シグナル s と r はよりいレベルでされます VHDL は それらをす るプロセスにとってローカルであり のプロセスではられません のプロセスはまた のをでき それは プロセスのつとしてじではありません a P3 13

19 スケジューラが P3 プロセスをするとすぐに シミュレーションがし シミュレーションののがもうしなくなり これをするのはシミュレーションをまたはすることです そのは P3 が wait ステートメントをっておらず そのために 3 つのをループしてに running にとどまるためです それが run-able であっても するはのどのプロセスにもえられません wait をむプロセスでもじがするがあります P4: process variable a: integer; a := s; a := 2 * a; if a = 16 then wait on s; r <= a; end process P4; VHDL は = です s が 3 であるにプロセス P4 がされると a = 16 はしてでないので それはにされる たちの VHDL プログラムにこのようなプロセスがまれていないとしよう のプロセスが wait をする と のプロセスはすぐにされ スケジューラは suspended にします wait は プロセス run-able び run-able になるためのもします wait on s; s がするまでをすることをします このはスケジューラによってされます スケジューラは runable からのプロセスをし running にしてします run-able すべてのプロセスがされ されるまで じことがりされます なのプロセスが run-able VHDL ではスケジューラが run-able プロセスをどのようにするかはされていません その シミュレータ シミュレータのバージョン オペレーティングシステムなどにじて じ VHDL モデルの 2 つのシミュレーションがなるをい するのプロセスをするがあります このがシミュレーションにをえる VHDL はであるとえるでしょう はましくないので なをけることはプログラマーのです いにも VHDL がこれをし これががにるです とプロセス VHDL は 2 つののをしてをします 1. プロセスはのみでをできます signal r, s: integer; -- Common to all processes

20 P5: process variable a: integer; -- Different from variable a of process P6 a := s + 1; r <= a; a := r + 1; wait on s; end process P5; P6: process variable a: integer; -- Different from variable a of process P5 a := r + 1; s <= a; wait on r; end process P6; VHDL のコメントからびる -- ラインのわりに 2. プロセスのに VHDL のはしません がりてられるたびに りてられたがスケジューラによってされますが ののはされません これは りてられたにしいをとるとのもう 1 つのきないです のプロセス P5 をて それがスケジューラによってされたときに a=5 s=1 および r=0 とする a := s + 1; し a := s + 1;a := s + 1;a のがし となる の r <= a; するとき r <= a; r されるのは a 2 の しいです しかし r はであり r ののはまだ 0 です したがって a := r + 1;a は でうようにちに であり ではありません r にしいをるでしょうかスケジューラーがなすべてのプロセスをし スケジューラーがすべてされた これは 1 デルタサイクルともばれます スケジューラは にりてられたすべてのをべ にのをするだけです VHDL シミュレーションは フェーズとフェーズのにわれます では のは されます には フェーズとのフェーズとのに のデルタがしたとする これはリアルタイムではありません デルタサイクルにはなはありません このメカニズムにより VHDL はです プロセスはとのみでき プロセスのははしません した がって プロセスのはではありません にシグナルはしません が P5.a=5 P6.a=10 s=17 r=0 であり スケジューラが P5 にし P6 にすることをしたプロセス P5 および P6 のは 2 つのの プ ロセスのをしたののとのをしています プロセス / P5.a P6.a s.current s.next r.current r.next P5 / a := s P5 / r <= a P5 / a := r P5 / wait on s

21 プロセス / P5.a P6.a s.current s.next r.current r.next P6 / a := r P6 / s <= a P6 / wait on r じで スケジューラが P6 にし P5 にすることをした プロセス / P5.a P6.a s.current s.next r.current r.next P6 / a := r P6 / s <= a P6 / wait on r P5 / a := s P5 / r <= a P5 / a := r P5 / wait on s わかるように 2 つのプロセスをしたのは がじでもじです このなりてのセマンティクスは VHDL のがにする 2 のタイプのの 1 つです つまり 1 つのデルタ サイクルだけしているためにりてがらかにしません デバッガでプロセス P5 にすると r が 18 にりてられ a が r + 1 にりてられ a a のは 19 で a とされますが デバッガはに r=0 かつ a=1... じフェーズでじをりてることができます この ののをするのはのりてです のは まったくされていないとくじように まったくがありません たちのをするですのスワッピングのにって をしてみてください process --- s <= r; r <= s;

22 に r と s を 3 のなをとせずにれえるはのとおりです process --- r <= s; s <= r; --- にであろう また なぜ s がでのが 15 であるのかをしてください そして のようにします process --- s <= 2 * s; s <= s - 5; s <= s / 5; print(s); wait on s; print(s); --- s の 2 つのりてはがなく なぜ s がに 3 にりてられ なぜ 2 つのされたが 15 と 3 であるのか な ハードウェアをモデルするには あるでられたなをモデルすることがにです これは VHDL でど のようにうことができるかのです このでは カウンタをモデルしています これは コンパイルおよびシミュレートできるなの VHDL コードです -- File counter.vhd entity counter is end entity counter; architecture arc of counter is signal clk: bit; -- Type bit has two values: '0' and '1' signal c, nc: natural; -- Natural (non-negative) integers P1: process clk <= '0'; wait for 10 ns; -- Ten nano-seconds delay clk <= '1'; wait for 10 ns; -- Ten nano-seconds delay end process P1; P2: process if clk = '1' and clk'event then c <= nc; wait on clk; 17

23 end process P2; P3: process nc <= c + 1 after 5 ns; -- Five nano-seconds delay wait on c; end process P3; end architecture arc; プロセス P1 では wait は までたようにのがするまで wait するのではなく のするためにされます このプロセスは クロックジェネレータをモデルします clk はシステムのクロックで 20 ns50 MHz でであり デューティ サイクルをっています プロセス P2 は clk ちがりエッジが clk した その nc を c にりて に clk のをつレジスタをモデルする プロセス P3 は その c を 1 だけインクリメントしてその nc... に 5ns のでりてるインクリメンタをモデ ルする に c がわるまでちます これもしいものです これまではにのようにをりてました s <= value; のセクションでしたから のうちにのものにできます s <= value; -- after delta このデジタルハードウェアシステムは のですことができます のと デルタでされたながあることをると T はナノでされたであり D はである T+D をす 2 をするデルタのななしで な VHDL シミュレーションのなの 1 つは まだしていないことです フェーズ すべてのプロセスが suspended になります たちは スケジューラがりてられたのをすることをにべました しかし 々のカウンタのでは clk c nc をにするかはどうですかに suspended のプロセスと run-able のプロセスではがこりますか なただしされたシミュレーションアルゴリズムは のとおりです 18

24 1. Tcを0 + 00ns 0デルタ - サイクルにする すべてのをする waitでするまで プロセスをします りてのとをします プロセスがするためのをしますまたは のTnをのでもくします wait for <delay> によってされたプロセスの がする 2. シミュレーションサイクル Tc=Tn なをする されたの1つののをっていたすべてのプロセスをrun-ableにします wait for <delay> ステートメントのwait for <delay> によってされ がTcすべてのプロセスをrun-ableにします なすべてのプロセスをするまでします りてのとをします プロセスがするためのをしますまたは のTnをのでもくします wait for <delay> によってされたプロセスの がする Tnがのは シミュレーションをします さもなければ しいシミュレーションサイクルをしてください マニュアルシミュレーション として のカウンタでされたシミュレーションアルゴリズムをでしましょう 々は いくつかのプロセスがである は P3 > P2 > P1 となるようににします のは およびのシミュレーションサイ クルのシステムののをしています には のがされるのがあります てがされると のが a あり のが T+D + デルタ サイクルで b になる a/b@t+d ように 3 つののは されたプロセスをするをし ますするがあるのまたはプロセスをする フェーズ オペレーション Tc Tn clk c nc P1 P2 P3 のをする すべてのをする '0' 0 0 P3/nc<=c+1 after 5 ns '0' 0 0/ P3/wait on c '0' 0 0/ c 19

25 オペレーション Tc Tn clk c nc P1 P2 P3 P2/if clk='1' '0' 0 0/ c P2/end if '0' 0 0/ c P2/wait on clk '0' 0 0/ clk c P1/clk<='0' '0' / / clk c P1/wait for 10 ns '0' / / clk c にする '0' / / clk c シミュレーションサイクル 1 オペレーション Tc Tn clk c nc P1 P2 P3 のをする '0' / / clk c をする '0' 0 0/ clk c にする '0' 0 0/ clk c のシミュレーションサイクルでは 3 つのプロセスのいずれもレジュームがたされていないため フェーズはありません P2 は clk をっていて clk にトランザクションがありますが いとしいがじであるため これはのではありません シミュレーションサイクル 2 オペレーション Tc Tn clk c nc P1 P2 P3 のをする '0' 0 0/ clk c をする '0' clk c にする '0' clk c び フェーズはありません nc されましたが プロセスは nc でしていません シミュレーションサイクル 3 オペレーション Tc Tn clk c nc P1 P2 P3 のをする '0' clk c 20

26 オペレーション Tc Tn clk c nc P1 P2 P3 をする '0' clk c P1/clk<='1' '0' / clk c P1/wait for 10 ns '0' / clk c にする '0' / clk c シミュレーションサイクル 4 オペレーション Tc Tn clk c nc P1 P2 P3 のをする '0' / clk c をする '1' clk c P2/if clk='1' '1' c P2/c<=nc '1' 0/ c P2/end if '1' 0/ c P2/wait on clk '1' 0/ clk c にする '1' 0/ clk c シミュレーションサイクル 5 オペレーション Tc Tn clk c nc P1 P2 P3 のをする '1' 0/ clk c をする '1' clk c P3/nc<=c+1 after 5 ns '1' clk P3/wait on c '1' clk c にする '1' clk c 1はそれをえることがncがでスケジュールされるだろう15+2 々がそれをスケジュールしながら 15+0 の 10+2 にゼロのここで5 ns をえると デルタサイクルはする に デルタサイクルは じTするなるシミュレーションT+0 T+1... をするためにのみである ながするとすぐに デルタサイクルをリセットすることができます 21

27 シミュレーションサイクル 6 オペレーション Tc Tn clk c nc P1 P2 P3 のをする '1' clk c をする '1' clk c にする '1' clk c び フェーズはありません nc されましたが プロセスは nc でしていません シミュレーション... みみをけるためににりえます オンラインで vhdl をいめるをむ をいめる 22

28 2: D フリップフロップ DFF およびラッチ D フリップフロップ DFF およびラッチはメモリである DFF は クロックのまたはのエッジでを サンプリングしますではない ラッチはイネーブルの 1 つのレベルでトランスペアレントであり ではされます のは そのいをしています VHDL の DFF やラッチのモデリングはですが するがあるながいくつかあります DFFとラッチのVHDLモデルのい のエッジをする またはのセットまたはリセットをする Examples D フリップフロップ DFF すべてので clkはです dはであり qは srstはアクティブハイのリセットで srstnはアクティブローリセット arstはアクティブハイのリセットであり arstnはアクティブローのリセットで sset 23

29 はアクティブなセットで ssetnはアクティブローセットで asetはアクティブなセットであり asetnはアクティブローのセットです すべてのは タイプ ieee.std_logic_1164.std_ulogic です されるシンタックスは すべてのロジックシンセサイザでしいにつながるシンタックスです わりのシンタックスについては クロックエッジのをしてください ちがりエッジクロック process(clk) if rising_edge(clk) then q <= d; ちがりエッジクロック process(clk) if falling_edge(clk) then q <= d; ちがりエッジクロック アクティブハイリセッ ト process(clk) if rising_edge(clk) then if srst = '1' then q <= '0'; else q <= d; ちがりエッジ クロック アクティブ ハイ リセ 24

30 ット process(clk, arst) if arst = '1' then q <= '0'; elsif rising_edge(clk) then q <= d; ちがりエッジクロック アクティブローリセッ ト アクティブハイセット process(clk, arstn) if arstn = '0' then q <= '0'; elsif falling_edge(clk) then if sset = '1' then q <= '1'; else q <= d; ちがりエッジクロック アクティブハイリセッ ト アクティブローセット set はリセットよりもがい process(clk, arst, asetn) if asetn = '0' then q <= '1'; elsif arst = '1' then q <= '0'; elsif rising_edge(clk) then q <= d; ラッチ 25

31 すべてので enはイネーブル dはであり qは srstはアクティブハイのリセットで srstnはアクティブローリセット arstはアクティブハイのリセットであり arstnはアクティブローのリセットで ssetはアクティブなセットで ssetnはアクティブローセットで asetはアクティブなセットであり asetnはアクティブローのセットです すべてのは タイプ ieee.std_logic_1164.std_ulogic です されるシンタックスは すべてのロジックシンセサイザでしいにつながるシンタックスです わりのシンタックスについては クロックエッジのをしてください アクティブハイイネーブル process(en, d) if en = '1' then q <= d; アクティブローイネーブル process(en, d) if en = '0' then q <= d; アクティブハイイネーブル アクティブハイリ セット process(en, d) if en = '1' then if srst = '1' then 26

32 q <= '0'; else q <= d; アクティブハイイネーブル アクティブハイリ セット process(en, d, arst) if arst = '1' then q <= '0'; elsif en = '1' then q <= d; アクティブローイネーブル アクティブローリ セット アクティブハイセット process(en, d, arstn) if arstn = '0' then q <= '0'; elsif en = '0' then if sset = '1' then q <= '1'; else q <= d; アクティブハイイネーブル アクティブハイリ セット アクティブローセット set はリセットよりもがい process(en, d, arst, asetn) if asetn = '0' then q <= '1'; 27

33 elsif arst = '1' then q <= '0'; elsif en = '1' then q <= d; クロックエッジ Whith VHDL 2008 クロックのが bit であれば boolean ieee.std_logic_1164.std_ulogic または ieee.std_logic_1164.std_logic クロックエッジをちがりエッジでコーディングすることができま す if rising_edge(clock) then if clock'event and clock = '1' then -- type bit, std_ulogic or std_logic if clock'event and clock then -- type boolean ちがりエッジ if falling_edge(clock) then if clock'event and clock = '0' then -- type bit, std_ulogic or std_logic if clock'event and not clock then -- type boolean これは シミュレーションとのにして どおりにします std_ulogic タイプののちがりエッジのは if clock'event and clock = '1' then よりもしです えば の rising_edge は なるをっています おそらくのためのをらなくても それはシミュレーションのためにることができる rising_edge および falling_edge のをくします のバージョンの VHDL では これらのをするために パッケージのをにするがあるかもしれません eg ieee.numeric_bit bit い rising_edge および falling_edge をして クロックのエッジをしないでください いくつかのシンセサイザーは がクロックであるとづけることができます ヒントクロックのエッジをするには シフトレジスタのをサンプリングし シフトレジスタのさまざまなステージでサンプリングされたをすることがよくあります D フリップフロップ DFF のモデリングでは クロックのエッジのをにすることがです エッジは のからのへのです えば 々は ののちがりエッジにすることができ bit 2 つのをとり VHDL '0' と '1' からとして '0' に '1' boolean の true false から true へのとしてすることができます くの よりながされます たとえば ieee.std_logic_1164.std_ulogic は bit または boolean ようにですが 2 ではなく 9 つのがあります 28

34 'U' 'X' '0' にレベル '1' にレベル 'Z' インピーダンス 'W' い 'L' いレベル 'H' いレベル '-' にしない このようなのちがりエッジをするのは bit または boolean より bit です たとえば '0' から '1' へ '1' であるとできます しかし それが '0' または 'L' から '1' または 'H' へのであるとすることもで きます これは のためにするこの 2 のである rising_edge(signal s: std_ulogic) でされた ieee.std_logic_1164 エッジをするさまざまなをするときは のをすることがです モデリングのをにれることもですシミュレーションのみかかこれをいくつかのでしましょう タイプ ビットのちがりエッジ DFF signal clock, d, q: bit;... P1: process(clock) if clock = '1' then q <= d; end process P1; には なシミュレーションセマンティクスのから プロセス P1 はちがりエッジトリガ DFF をモデ ルします q <= d りては のにのみされます clock これはのリストがするものですにし clockののは '1' です clock はタイプ ビットであり タイプ ビットは '0' と '1' しかたないので これはビット タイプの のちがりエッジとしてしたものです どんなシミュレーターでもこのモデルをできます 29

35 ロジックシンセサイザーの でするように はしです アクティブ ハイ リセットおよびタイプ ビットをえたちがりエッジDFF たちの DFF にアクティブハイリセットをするために のようなものをすことができます signal clock, reset, d, q: bit;... P2_BOGUS: process(clock, reset) if reset = '1' then q <= '0'; elsif clock = '1' then q <= d; end process P2_BOGUS; しかし これはしません される q <= d てのは clock りエッジ reset = '0' なければなりません しかし 々がモデルしたのは clockまたはresetまたはがされ reset = '0' および clock = '1' これはじではありません clock = '1' '0' に reset が '1' から '0' すると clock ちがりエッジではない にりてがされます のけをりずに VHDL でこれをモデルするはありません P2_OK: process(clock, reset) if reset = '1' then q <= '0'; elsif clock = '1' and clock'event then q <= d; end process P2_OK; clock'event は clock される event です boolean としてされ のフェーズののフェーズで clock されたにのみ true となります これにより プロセス P2_OK はシミュレーションおよびでなものをにモデルするようになりました セマンティクス くのロジックシンセサイザは VHDL モデルのセマンティクスではなく パターンにづいてエッ ジをします いえれば らは VHDL コードがどんなるいをしているのかをえません それらがす べてするパターンの 1 つはのとおりです 30

36 if clock = '1' and clock'event then したがって プロセス P1 のでも すべてのロジックシンセサイザでモデルをできるようにするには それをするがあります signal clock, d, q: bit;... P1_OK: process(clock) if clock = '1' and clock'event then q <= d; end process P1_OK; の and clock'event はリストとにですが シンセサイザーにはそれがなため... アクティブ ハイ リセットとタイプ std_ulogic つちがりエッジ DFF この クロックのちがりエッジやリセットのがになることがあります でしたちがりエッジのをし リセットが '1' または 'H' にアクティブであるとえると モデルはのようになります library ieee; use ieee.std_logic_1164.all;... signal clock, reset, d, q: std_ulogic;... P4: process(clock, reset) if reset = '1' or reset = 'H' then q <= '0'; elsif clock'event and (clock'last_value = '0' or clock'last_value = 'L') and (clock = '1' or clock = 'H') then q <= d; end process P4; 'last_value は のがされるののをすのです ヘルパー VHDL 2008 では に std_ulogic などののの エッジのをするためのいくつかのヘルパがされてい ます std.standard パッケージは bit および boolean の rising_edge および falling_edge をし ieee.std_logic_1164 パッケージは std_ulogic および std_logic でそれらをします のバージョンの VHDL では これらのをするために パッケージのをにするがあるか もしれません eg ieee.numeric_bit in bit のをし ヘルパーをしましょう 31

37 signal clock, d, q: bit;... P1_OK_NEW: process(clock) if rising_edge(clock) then q <= d; end process P1_OK_NEW; signal clock, d, q: bit;... P2_OK_NEW: process(clock, reset) if reset = '1' then q <= '0'; elsif rising_edge(clock) then q <= d; end process P2_OK_NEW; library ieee; use ieee.std_logic_1164.all;... signal clock, reset, d, q: std_ulogic;... P4_NEW: process(clock, reset) if reset = '1' then q <= '0'; elsif rising_edge(clock) then q <= d; end process P4_NEW; こののでは リセットにするテストもしました フローティングでインピーダンスのリセットはにまれで ほとんどの このされたバージョンはシミュレーションとにしています オンラインで D フリップフロップ DFF およびラッチをむ フリップフロップ -dff- およびラッチ 32

38 3: VHDL をったデジタルハードウェア き このトピックでは なデジタルをVHDLでしくするなをします このは グラフィカルブロックとえやすいにづいています ハードウェアをまずえ にVHDLをコードする VHDLをしたデジタルハードウェアのけで のセマンティクスのがられています VHDL をしたデジタルハードウェアは のでもですが るべきながいくつかあります デジタル ハードウェアの VHDL をするツールはロジックシンセサイザです ロジックシンセサイザでされ る VHDL のセマンティクスは リファレンスマニュアル LRM でされているシミュレーションセマ ンティクスとはかなりなります さらにいことに それはされておらず ツールによってなります されたは のためにいくつかのなをする レベルトリガラッチはありません は クロックのちがりエッジでしています リセットまたはセットがありません されたにはのドライブはありません ブロックのは の 3 のうちののもので デジタルハードウェアのをにし デジタルのブロックダイアグラムをするためのいリストのルールをしています このルールは どおりにシミュレートしする VHDL コードへのなをするのにちます コーディングのでは ブロックダイアグラムから VHDL コードへのについてし なデジタルでし ます に John Cooley のデザインコンテストのは されたをデジタルのよりなにするをしています それはまた されたをし それらのいくつかをする Examples ブロック デジタルハードウェアは の 2 のハードウェアプリミティブからされます みわせゲートインバータ および / または xor 1ビット 1ビットマルチプレクサ... これら のゲートは にしてなをし をします の1つがするたびに のがされ のにがにします は デジタルができる すなわちそのクロックにくするため です メモリラッチ Dフリップフロップ RAM... みわせゲートとはに メモリは それらのの 33

39 いずれかのにちにしない それらは データ およびデータをする らは データのにではなく ののみわせにします えば ちがりエッジでトリガされた D フリップフロップ DFF に は クロックとデータがあります クロックのちがりエッジで データがサンプリングされ データにコピーされます データは データがしてもクロックののちがりエッジまでしています デジタルハードウェアは みわせロジックとメモリのみわせです メモリにはいくつかのがあります それらの 1 つは じデータをのしたでできるようにすることです これをするは しばしばとばれる のは ちがりエッジトリガレジスタのおかげで じコンビナトリアルをしてをするのをしています これはブロックののです パイプライニングは メモリののなであり くのマイクロプロセッサアーキテクチャのでもあります なをよりなでし いくつかのしたのをすることによってのクロックをめることをとしています ブロックは デジタルのグラフィックです コーディングするに しいをし のをよくするのにちます これは くのソフトウェアでされるとです なは なくともなではこのをスキップすることがよくあります しかし デジタルハードウェアので デジタルを VHDL でコーディングす るは ブロックダイアグラムをするための 10 のなルールをすれば 1. きなでをんでください これはあなたののです このをるものはすべて ポートまたはポートです VHDLエンティティはこのをする 2. みわせロジックえば いブロックからエッジトリガレジスタえば ブロックをにします VHDL では これらはプロセスにされますが とコンビナトリアルの 2 つのになるがありま す 3. レベルトリガラッチをしないでください ちがりエッジでトリガされたレジスタのみをしてください このはVHDLからのものではなく モデルのラッチににできます のためのなア 34

40 4. ドバイスです ラッチはあまりとされず なくとものでは それらのでけなければならないくのがじます すべてのちがりエッジ トリガ レジスタにじクロックをしてください ここでもまた このはのためです VHDL は マルチクロックシステムをモデルするのににできません クロッ クclockをけます それはからて すべてのいブロックとそれだけのです あなたがむなら をすることさえなくても それはすべてののブロックについてじであり それをのままあなたのにすことができます 5. ブロックのを きのをしてします ブロックのはが はです のブロックには がされます これらのはすべて VHDLエンティティのポートになりますVHDLエンティティのきなま 6. たは VHDL アーキテクチャのをする にはのがありますが いくつかのをつことができます かに もしがいくつかのをっていれば たちはいくつかのドライバで VHDL をります これはにではありませんが をけるため にながです たちはこのようにこれをけます にのがあるは をなだけもフォークします したとしていないをするためにドットをします 7. のは きなのからています これらはエンティティのポートです は あなたのブロックのにすることもできません これは VHDLによってされます エンティティのポートはみみ ですが きむことはできません これはやはりをけるためです 8. いくつかのはにる これらはポートです 2008のVHDLバージョンでは エンティティの ポートはきむことができますが みめません したがって には 1 つのと 1 つののがです にフォークがない はあなたのブロックの 1 つのになることはできません いくつかのブロックのとしてアウトプットをするは しいいブロックをして 2 つのにします 1 つのブロックと なのフォークと しいブロックからるブロックしてにる しいブロックは VHDL の なりてになります なの VHDL 2008のポートもみることができます 9. からりしないはすべてです VHDLアーキテクチャでそれらをすべてします 10. のサイクルは なくとも1つのブロックをまなければならない これはVHDLによるもので はありません これは デジタルハードウェアのにづいています コンビナトリアルループはにけなければならない にまれなをき なをもたらすものではありません そして いブロックのみをむブロックのサイクルは みわせループである のルールをにチェックすることをれないでください のルールとじくらいですが するのがししいかもしれません ラッチ マルチクロック のドライバをつのように しているがになをき 10 のルールにしたのブロックをにするがあります そうでないは VHDL またはロジックシンセサイザではなく な にがあるがあります そして おそらくあなたがむはデジタルハードウェアではないということです のに 10 のルールをすると のようなブロックがられます 35

41 1. のりのきなは VHDL エンティティのポートとポートをす 3 つのでしています 2. ブロックダイアグラムには とリネーミングブロックの2つのラウンドコンビナトリアルブロックと レジスタの1つのスクエアブロックがあります 3. エッジトリガレジスタのみをします 4. というのclockは1つしかなく clockちがりエッジのみをします 5. ブロックダイアグラムには5つのがあり 1つにはフォークがあります これらは2つの 2つのポートと1つのポートにしています 6. すべてのには 2つのりをつSumというのをき 1つのと1つのがあります 7. Data_inとClockは2つのポートです らはたちのブロックのではありません 8. Data_outはポートです 2008のバージョンのVHDLとをたせるために SumとData_outにのめ ブロックをしました したがって Data_outはに1つのと1つのがあります 9. SumとNext_sumは 2つのです 10. グラフにはに1つのサイクルがあり それは1つのブロックをむ たちのブロックダイアグラムは 10 のルールにいます コーディングでは このタイプのブロックダイアグラムを VHDL でどのようにするかをしくします コーディング このは の 3 の 2 のです まだしていないは ブロックダイアグラムのをにおみください 10 のルールブロックダイアグラムのをにったブロックダイアグラムでは VHDL コーディングが になります のきながVHDLエンティティになり のはVHDLになり アーキテクチャでされ すべてのブロックがアーキテクチャのプロセスになり すべてのラウンドブロックがアーキテクチャのコンビナトリアルプロセスになります これをのブロックでしましょう 36

42 のVHDLモデルは 2つのコンパイルでされています のとそのインタフェースポート タイプをするエンティティ これは ブロックダイアグラムののきなをしたものです データがで clockがvhdlタイプのbit 2つののみ '0' と '1' をするとすると のエンティティはのようになります entity sequential_circuit is port( Data_in: in integer; Clock: in bit; Data_out: out integer ); end entity sequential_circuit; のをするアーキテクチャそれがをするか これは がされ すべてのプロセスがインスタンスされるです たちののアーキテクチャーのは architecture ten_rules of sequential_circuit is signal Sum, Next_sum: integer; <...processes...> end architecture ten_rules; アーキテクチャにする 3 つのプロセス 1 つのブロックと 2 つのコンビナトリアルいブロックがあります プロセスはのようになります process(clock) if rising_edge(clock) then o1 <= i1;... ox <= ix; ここで i1, i2,..., ix は のするブロックにるすべてのであり o1,..., ox は のするブロックをするすべてのです もちろん シグナルのをいて もされません もない のキャラクターでもない したがって こののプロセスはのようになります 37

43 process(clock) if rising_edge(clock) then Sum <= Next_sum; これは にすることができます clock がしたにのみ がちがりエッジ '0' から '1' であれば Next_sum のを Sum にりてます コンビナトリアルプロセスはのようになります process(i1, i2,..., ix) variable v1: <type_of_v1>;... variable vy: <type_of_vy>; v1 := <default_value_for_v1>;... vy := <default_value_for_vy>; o1 <= <default_value_for_o1>;... oz <= <default_value_for_oz>; <statements> ここで i1, i2,..., in は ダイアグラムのするラウンドブロックにるすべてのです すべてとそれ たちはどんなもれず リストにもしません v1,..., vy は プロセスのコードをするためになです らはのプログラミングとまったくじをっています なをします らはにすべてがみまれるにりてられるがあります これをしなければ あるプロセスからのプロセスまでののをするメモリのをモデルするので プロセスはもうコンビナトリアルにはなりません これは プロセスのに vi := <default_value_for_vi> ステートメントのです <default_value_for_vi> はでなければならないことにしてください もしそうでなければ それらがであれば ってのをし それをりてるにをみるがあります o1,..., om は ダイアグラムのするいブロックをするすべてのです すべてとそれ これらは プロセスのになくとも 1 はにりてられなければなりません VHDL if... case... はのりてをにに ぐことができるので のめにに <default_value_for_oi> をりてることをくおめします でも このでは if のマスクのりて それはとにかくをしています のする の の <default_value_for_..> および <statements> のをいて この VHDL スケルトンには にもされません のデフォルトのりてをれないでください によってなメモリがいラッチがされ そのがにむものでないは こののでは コンビナトリアルプロセスはのようになります process(sum, Data_in) Next_sum <= 0; Next_sum <= Sum + Data_in; 38

44 これは にすることができる Sum は Data_in またはをらせるために 0 をりてる Next_sum [ りてる Sum + Data_in ののが 0 のに それをきするのがあるため のようにできます process(sum, Data_in) Next_sum <= Sum + Data_in; 2 のみわせプロセスは 2008 の VHDL バージョンにするために のをつにしたラウンドブロックに しています process(sum) Data_out <= 0; Data_out <= Sum; のコンビナトリアルプロセスとじで のようにすることができます process(sum) Data_out <= Sum; のなコードはのとおりです -- File sequential_circuit.vhd entity sequential_circuit is port( Data_in: in integer; Clock: in bit; Data_out: out integer ); end entity sequential_circuit; architecture ten_rules of sequential_circuit is signal Sum, Next_sum: integer; process(clock) if rising_edge(clock) then Sum <= Next_sum; process(sum, Data_in) Next_sum <= Sum + Data_in; 39

45 process(sum) Data_out <= Sum; end architecture ten_rules; 3 つのプロセスをのでくことができます シミュレーションやのにはもわりません これは 3 つ のプロセスがステートメントであり VHDL はそれらがにであるかのようにするためです ジョン クーリーのデザインコンテスト このは SNUG'95Synopsys Users GroupのJohn Cooleyのデザインコンテストからられたものです このコンテストは VHDLとVerilogのデザイナーがじデザインにすることをしていました ジョンがにめていたことはおそらく どのがもであるかをすることでした その 9のVerilogデザイナーのうち8がコンテストをしましたが 5のVHDLデザイナーのもできませんでした うまくいけば されたをって もっといをするでしょう たちのは なな VHDL エンティティおよびアーキテクチャで キャリー ボロー およびパリテ ィをえた のアップ / ダウン 3 ローディングなモジュラス 512 カウンタをすることです カウンタは 9 ビットのなしカウンタであるため 0511 のです カウンタのインターフェイスはのにされて います ビット クロック 1 マスタークロック ; カウンタは CLOCK のちがりエッジでされます DI 9 データバス UP と DOWN がともローのときにカウンタに DI がロードされ ます アップ 1 アップカウント 3 カウントコマンド UP がハイで DOWN がローのとき カウンタは 3 をインクリメントし その 511 をラップし ダウン 1 ダウンカウント 5 コマンド DOWN がハイで UP がローのとき カウンタ は 5 ずつし 0 をラップします CO 1 をす 511 をえてカウントアップするときにのみハイとなり BO 1 をりる は 0 をってカウントアップし う 9 バス カウンタのの UP と DOWN がともハイのとき カウンタはそのを します PO 1 パリティ カウンタののが 1 のをむときにハイ 40

46 をえてカウントアップする またはよりにカウントダウンする カウンタはラップアラウンドします カウンタ カウンターの のCO のBO のPO バツ 00 DI 0 0 パリティDI バツ 11 バツ 0 0 パリティx 0 x x パリティx x x パリティx ブロック これらのにづいて ブロックダイアグラムのをできます にインタフェースをしましょう たちのは 4 つのクロックをむと 4 つのをっています のステップは するレジスタとコンビナトリアルブロックのとのです このなでは 1 つのみわせブロックをカウンタののの およびりしにりてます のせブロックは パリティののをするためにされる カウンタのの キャリーアウトおよびボローアウトはレジスタにされ パリティののはのレジスタにされます はののようになります 41

47 ブロックダイアグラムが 10 のデザインルールにしていることをすると すぐにします 1. たちのインターフェイスは のきなでにされます 2. たちの 2 つのみわせブロックと 2 つのレジスタはにされています 3. ちがりエッジでトリガされたレジスタのみをします 4. たちは 1 つのクロックしかしません 5. 4 つの 4 つのポート および 4 つのポートがあります 6. のどれもいくつかのがありません 3 つのがあります clock ncnt do 7. 4 つののいずれもブロックのではありません 8. 3つのには とがそれぞれ1つずつあります しかし doは2つのがありますとたちのみわせ ブロックの 1 つ これはルール 8 にし 2008 の VHDL バージョンにしたいは しいコンビナト リアルブロックをすることでするがあります 9. たちは まさに5 ってcnt nco nbo ncntとnpo 10. cntとncntによってされるダイアグラムには1サイクルしかありncnt サイクルにはのブロックがあります 2008 の VHDL バージョンでのコーディング ブロックを VHDL でするのはです カウンタのののは bit_vector です bit_vector 9 ビットの bit_vector をしてそれをします のなは じデータにしてビットパリティのなどとをするがあるからです ライブラリ ieee のな numeric_bit パッケージは これをします これは bit_vector とくじをつ unsigned をし に unsigned のをるようにオーバーロードします キャリーアウトとりしをするために 10 ビットの unsigned テンポラリをします ライブラリのとエンティティ 42

48 library ieee; use ieee.numeric_bit.all; entity cooley is port( clock: in bit; up: in bit; down: in bit; di: in bit_vector(8 downto 0); co: out bit; bo: out bit; po: out bit; do: out bit_vector(8 downto 0) ); end entity cooley; アーキテクチャのスケルトンはのとおりです architecture arc1 of cooley is signal cnt: unsigned(8 downto 0); signal ncnt: unsigned(8 downto 0); signal nco: bit; signal nbo: bit; signal npo: bit; <...processes...> end architecture arc1; それぞれの 5 つのブロックはプロセスとしてモデルされています たちの 2 つのレジスタにするプロセスはににコーディングできます コーディングのでされたパターンをするだけです えば パリティ アウト フラグをするレジスタは のようにコードされる poreg: process(clock) if rising_edge(clock) then po <= npo; end process poreg; co bo および cnt をするもう 1 つのレジスタ cobocntreg: process(clock) if rising_edge(clock) then co <= nco; bo <= nbo; cnt <= ncnt; end process cobocntreg; ののみわせプロセスもにです rename: process(cnt) do <= (others => '0'); 43

49 do <= bit_vector(cnt); end process rename; パリティでは となループをできます parity: process(ncnt) variable tmp: bit; tmp := '0'; npo <= '0'; for i in 0 to 8 loop tmp := tmp xor ncnt(i); end loop; npo <= not tmp; end process parity; のコンビナトリアルプロセスはすべてのでもですが されたをにすることでになります u3d5: process(up, down, di, cnt) variable tmp: unsigned(9 downto 0); tmp := (others => '0'); nco <= '0'; nbo <= '0'; ncnt <= (others => '0'); if up = '0' and down = '0' then ncnt <= unsigned(di); elsif up = '1' and down = '1' then ncnt <= cnt; elsif up = '1' and down = '0' then tmp := ('0' & cnt) + 3; ncnt <= tmp(8 downto 0); nco <= tmp(9); elsif up = '0' and down = '1' then tmp := ('0' & cnt) - 5; ncnt <= tmp(8 downto 0); nbo <= tmp(9); end process u3d5; 2 つのプロセスをマージすることもでき みわせプロセスの 1 つをなりてですることができます ライブラリとパッケージのをむなコードとされたはのとおりです library ieee; use ieee.numeric_bit.all; entity cooley is port( clock: in bit; up: in bit; down: in bit; di: in bit_vector(8 downto 0); co: out bit; bo: out bit; po: out bit; do: out bit_vector(8 downto 0) ); 44

50 end entity cooley; architecture arc2 of cooley is signal cnt: unsigned(8 downto 0); signal ncnt: unsigned(8 downto 0); signal nco: bit; signal nbo: bit; signal npo: bit; reg: process(clock) if rising_edge(clock) then co <= nco; bo <= nbo; po <= npo; cnt <= ncnt; end process reg; do <= bit_vector(cnt); parity: process(ncnt) variable tmp: bit; tmp := '0'; npo <= '0'; for i in 0 to 8 loop tmp := tmp xor ncnt(i); end loop; npo <= not tmp; end process parity; u3d5: process(up, down, di, cnt) variable tmp: unsigned(9 downto 0); tmp := (others => '0'); nco <= '0'; nbo <= '0'; ncnt <= (others => '0'); if up = '0' and down = '0' then ncnt <= unsigned(di); elsif up = '1' and down = '1' then ncnt <= cnt; elsif up = '1' and down = '0' then tmp := ('0' & cnt) + 3; ncnt <= tmp(8 downto 0); nco <= tmp(9); elsif up = '0' and down = '1' then tmp := ('0' & cnt) - 5; ncnt <= tmp(8 downto 0); nbo <= tmp(9); end process u3d5; end architecture arc2; もうしく されたはでですが できるいくつかのにしています 45

51 ブロックをスキップする なデザイナーは シンプルなデザインのブロックをスキップすることができます しかし らはまだハードウェアをにえています らはのではなくをくが とかきけている リセットをする リセットまたはセットがデザインのをできるがあります されたは リセットクロックのちがりエッジでされるリセットのみをサポートしています process(clock) if rising_edge(clock) then if reset = '1' then o <= reset_value_for_o; else o <= i; リセットをしたバージョンでは リストにリセットをし もいをえることで テンプレートをします process(clock, reset) if reset = '1' then o <= reset_value_for_o; elsif rising_edge(clock) then o <= i; いくつかのなプロセスをマージする たちはこののですでにこれをしました それらがすべてじクロックをつ いくつかのプロセスをマージすることはです のみわせプロセスを 1 つにまとめることもです ブロックダイアグラムのなにぎません いくつかのみわせプロセスをプロセスとマージすることもできます しかし これをうには ブロックダイアグラムにり 11 のルールをするがあります 11. いくつかのいブロックとそれらのまわりにエンクロージャーをくことによってなくとも1つのブロックをグループします また をむこともできます エンクロージャーのをりしないは がエンクロージャーのをえないようにしてください これがしたら エンクロージャのすべてのをします いずれかがエンクロージャーのいブロックからた またはエンクロージャーのでもある これらのプロセスをプロセスでマージすることはできません それはです 46

52 たとえば カウンタのでは ののいエンクロージャに 2 つのプロセスをグループできませんでした ncnt はエンクロージャのであり そのはラウンドコンビナトリアルブロックであるためです し かしグループすることができます npo はにたなくなり としてじるプロセスはのようになります poreg: process(clock) variable tmp: bit; if rising_edge(clock) then tmp := '0'; for i in 0 to 8 loop tmp := tmp xor ncnt(i); end loop; po <= not tmp; end process poreg; のプロセスとマージすることもできます reg: process(clock) variable tmp: bit; if rising_edge(clock) then co <= nco; bo <= nbo; cnt <= ncnt; tmp := '0'; for i in 0 to 8 loop tmp := tmp xor ncnt(i); end loop; 47

53 po <= not tmp; end process reg; グループすることもできます はるかになアーキテクチャにく architecture arc5 of cooley is signal cnt: unsigned(8 downto 0); process(clock) variable ncnt: unsigned(9 downto 0); variable tmp: bit; if rising_edge(clock) then ncnt := '0' & cnt; co <= '0'; bo <= '0'; if up = '0' and down = '0' then ncnt := unsigned('0' & di); elsif up = '1' and down = '0' then ncnt := ncnt + 3; co <= ncnt(9); elsif up = '0' and down = '1' then ncnt := ncnt - 5; bo <= ncnt(9); tmp := '0'; for i in 0 to 8 loop tmp := tmp xor ncnt(i); end loop; po <= not tmp; cnt <= ncnt(8 downto 0); do <= bit_vector(cnt); end architecture arc5; 2 つのプロセスがあります do シグナルりてはのプロセスのです 1 つのプロセスだけをつソリュー ションは としてされています してください くながじます さらにんでいく 48

54 レベルトリガラッチ ちがりクロックエッジ のクロックおよびクロックドメインの じにするのドライバなどはいことではありません それらはにはです しかし それらをするとするとしをけるをぶことは VHDL をったデジタルハードウェアのこのいをはるかにえています VHDL 2008 でのコーディング VHDL 2008 では コードをさらにするためにできるいくつかのがされました このでは 2 つの がです ポートをみることができます 々はもはやcntをとしません xorをしてパリティをすることができます VHDL 2008 のコードはのとおりです library ieee; use ieee.numeric_bit.all; entity cooley is port( clock: in bit; up: in bit; down: in bit; di: in bit_vector(8 downto 0); co: out bit; bo: out bit; po: out bit; do: out bit_vector(8 downto 0) ); end entity cooley; architecture arc6 of cooley is process(clock) variable ncnt: unsigned(9 downto 0); if rising_edge(clock) then ncnt := unsigned('0' & do); co <= '0'; bo <= '0'; if up = '0' and down = '0' then ncnt := unsigned('0' & di); elsif up = '1' and down = '0' then ncnt := ncnt + 3; co <= ncnt(9); elsif up = '0' and down = '1' then ncnt := ncnt - 5; bo <= ncnt(9); po <= not (xor ncnt(8 downto 0)); do <= bit_vector(ncnt(8 downto 0)); end architecture arc6; 49

55 オンラインで VHDL をったデジタルハードウェアをむ をったデジタルハードウェア 50

56 4: コメント き まともなプログラミングはコメントをサポートしています VHDLでは VHDLコードをすることはでされていてもなことがいため にです Examples のコメント 1 のコメントは 2 つのハイフン -- でまり のわりまできます -- This process models the state register process(clock, aresetn) if aresetn = '0' then -- Active low, asynchronous reset state <= IDLE; elsif rising_edge(clock) then -- Synchronized on the rising edge of the clock state <= next_state; られたコメント VHDL 2008 コメントはのにまたがることがあります のコメントは /* まり */ わります /* This process models the state register. It has an active low, asynchronous reset and is synchronized on the rising edge of the clock. */ process(clock, aresetn) if aresetn = '0' then state <= IDLE; elsif rising_edge(clock) then state <= next_state; られたコメントは 1 でもできます -- Finally, we decided to skip the reset... process(clock/*, aresetn*/) /*if aresetn = '0' then state <= IDLE; els*/if rising_edge(clock) then state <= next_state; 51

57 ネストされたコメント コメントまたはりでしいコメントまたはりをすることはがなく されます -- This is a single-line comment. This second -- has no special meaning. -- This is a single-line comment. This /* has no special meaning. /* This is not a single-line comment. And this -- has no special meaning. */ /* This is not a single-line comment. And this second /* has no special meaning. */ オンラインでコメントをむ コメント 52

58 5: リテラル き これは VHDL でリテラルとばれるをするをっています Examples リテラル 16#A8# -- hex 2#100# -- binary 2#1000_1001_1111_ long number, adding (optional) _ (one or more) for readability decimal されたリテラル type state_t is (START, READING, WRITING); -- user-defined enumerated type オンラインでリテラルをむ リテラル 53

59 6: された の VHDL 1993 では 2 つのプロセスはとしかできませんでした シミュレーションステップのの みをするのシミュレーションセマンティクスのおかげで シミュレーションのはでした プロセスをするためにシミュレーションスケジューラがしたにしませんでした [ には これは 100 ではありません プロセスはファイルをしてすることもできます しかし デ ザイナーがファイルをってをしていたのであれば いではありませんでした ] はこのようにでした をいて な VHDL モデルをすることはほとんどでした VHDL 1993 はをし な VHDL モデルのはにになりました VHDL 2000 では されたタイプと がされたタイプでなければならないというがされました VHDL では されたは オブジェクト OO のオブジェクトののほとんどにています らは データ とそのメソッドのカプセルをしています また データメンバーへのアクセスとアトミックアクセスもします これはをにぐのではなく なくともとアトミックをにします されたタイプは シミュレーションの VHDL モデルをするににです らは OO のいくつかのにいを っています それらをにすると コードをみやすく しやすく できるようになります ノート のシミュレーションツールチェーンは デフォルトでは がされていないタイプのにのみをします いくつかのツールはされたタイプをサポートしていません いくつかのツールには のサポートがられています はハードウェアをモデルするのにできず なしにコードにされているとえることができます しかし のEDAベンダーがマルチポートRAMMulti-Access Random Access Memoryのメ モリプレーンをモデルするようにアドバイスした VHDL パターンは をします したがって のでをすることができます Examples ランダム Peudo-random ジェネレータは シミュレーションをするときによくされます の VHDL パッケー ジは されたをして boolean bit および bit_vector ランダムジェネレータをするをしています それはにして ランダムな std_ulogic_vector signed unsigned することもできます のとなをつラ ンダムなをするようにするのはしですがです パッケージ 54

60 タイプには すべてのパブリック サブプログラム アクセサがされているがあります たちのランダムジェネレータでは 1 つのシードプロシージャと 3 つの bit_vector ながランダムな boolean bit または bit bit_vector ます じパラメータをつなるびしがなるをすがあるため はなものではな いことにしてください -- file rnd_pkg.vhd package rnd_pkg is type rnd_generator is protected procedure init(seed: bit_vector); impure function get_boolean return boolean; impure function get_bit return bit; impure function get_bit_vector(size: positive) return bit_vector; end protected rnd_generator; end package rnd_pkg; パッケージ タイプは データメンバーとサブプログラムをします たちのランダムジェネレータは 4 タップの 128 ビットフィードバックシフトレジスタ LFSR にづいています state は LFSR ののをします プライベート throw は ジェネレータがされるたびに LFSR をシフトします -- file rnd_pkg.vhd package body rnd_pkg is type rnd_generator is protected body constant len: positive := 128; constant default_seed: bit_vector(1 to len) := X"8bf052e898d987c7c31fc71c1fc063bc"; type tap_array is array(natural range <>) of positive range 1 to len; constant taps: tap_array(0 to 3) := (128, 126, 101, 99); variable state: bit_vector(1 to len) := default_seed; procedure throw(n: positive := 1) is variable tmp: bit; for i in 1 to n loop tmp := '1'; for j in taps'range loop tmp := tmp xnor state(taps(j)); end loop; state := tmp & state(1 to len - 1); end loop; end procedure throw; procedure init(seed: bit_vector) is constant n: natural := seed'length; constant tmp: bit_vector(1 to n) := seed; constant m: natural := minimum(n, len); state := (others => '0'); state(1 to m) := tmp(1 to m); end procedure init; impure function get_boolean return boolean is constant res: boolean := state(len) = '1'; 55

61 throw; return res; end function get_boolean; impure function get_bit return bit is constant res: bit := state(len); throw; return res; end function get_bit; impure function get_bit_vector(size: positive) return bit_vector is variable res: bit_vector(1 to size); if size <= len then res := state(len size to len); throw(size); else res(1 to len) := state; throw(len); res(len + 1 to size) := get_bit_vector(size - len); return res; end function get_bit_vector; end protected body rnd_generator; end package body rnd_pkg; ランダムジェネレータは のように OO スタイルでできます -- file rnd_sim.vhd use std.env.all; use std.textio.all; use work.rnd_pkg.all; entity rnd_sim is end entity rnd_sim; architecture sim of rnd_sim is shared variable rnd: rnd_generator; process variable l: line; rnd.init(x"fe39_3d9f_24bb_5bdc_a7d0_2572_cbff_0117"); for i in 1 to 10 loop write(l, rnd.get_boolean); write(l, HT); write(l, rnd.get_bit); write(l, HT); write(l, rnd.get_bit_vector(10)); writeline(output, l); end loop; finish; end architecture sim; $ mkdir gh_work $ ghdl -a --std=08 --workdir=gh_work rnd_pkg.vhd rnd_sim.vhd 56

62 $ ghdl -r --std=08 --workdir=gh_work rnd_sim TRUE FALSE TRUE TRUE FALSE FALSE TRUE TRUE TRUE TRUE simulation オンラインでされたをむ された 57

63 7: き は サブプログラムがをびすプログラミングです いくつかののをでなですることはにです VHDLはをサポートします ほとんどのロジックシンセサイザもそれをサポートしています によっては されたハードウェアはのループベースのよりもれていますよりでじサイズ Examples ベクトルのハミングみの -- loop-based version function hw_loop(v: std_logic_vector) return natural is variable h: natural; h := 0; for i in v'range loop if v(i) = '1' then h := h + 1; end loop; return h; end function hw_loop; -- recursive version function hw_tree(v: std_logic_vector) return natural is constant size: natural := v'length; constant vv: std_logic_vector(size - 1 downto 0) := v; variable h: natural; h := 0; if size = 1 and vv(0) = '1' then h := 1; elsif size > 1 then h := hw_tree(vv(size - 1 downto size / 2)) + hw_tree(vv(size / 2-1 downto 0)); return h; end function hw_tree; オンラインでをむ

cocos2d-x #cocos2d-x

cocos2d-x #cocos2d-x cocos2d-x #cocos2d-x 1 1: cocos2d-x 2 2 Examples 2 Mac OS X 2 2 2 2 Windows 3 3 3 4 8 You can share this PDF with anyone you feel could benefit from it, downloaded the latest version from: cocos2d-x It

More information

wix #wix

wix #wix wix #wix 1 1: wix 2 2 WiX 2 WiX 2 WiX 2 3 Examples 3 3 3 3 4 8 You can share this PDF with anyone you feel could benefit from it, downloaded the latest version from: wix It is an unofficial and free wix

More information

if clear = 1 then Q <= " "; elsif we = 1 then Q <= D; end rtl; regs.vhdl clk 0 1 rst clear we Write Enable we 1 we 0 if clk 1 Q if rst =

if clear = 1 then Q <=  ; elsif we = 1 then Q <= D; end rtl; regs.vhdl clk 0 1 rst clear we Write Enable we 1 we 0 if clk 1 Q if rst = VHDL 2 1 VHDL 1 VHDL FPGA VHDL 2 HDL VHDL 2.1 D 1 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; regs.vhdl entity regs is clk, rst : in std_logic; clear : in std_logic; we

More information

1 1 2 2 2-1 2 2-2 4 2-3 11 2-4 12 2-5 14 3 16 3-1 16 3-2 18 3-3 22 4 35 4-1 VHDL 35 4-2 VHDL 37 4-3 VHDL 37 4-3-1 37 4-3-2 42 i

1 1 2 2 2-1 2 2-2 4 2-3 11 2-4 12 2-5 14 3 16 3-1 16 3-2 18 3-3 22 4 35 4-1 VHDL 35 4-2 VHDL 37 4-3 VHDL 37 4-3-1 37 4-3-2 42 i 1030195 15 2 10 1 1 2 2 2-1 2 2-2 4 2-3 11 2-4 12 2-5 14 3 16 3-1 16 3-2 18 3-3 22 4 35 4-1 VHDL 35 4-2 VHDL 37 4-3 VHDL 37 4-3-1 37 4-3-2 42 i 4-3-3 47 5 52 53 54 55 ii 1 VHDL IC VHDL 5 2 3 IC 4 5 1 2

More information

スライド 1

スライド 1 1 1. 2 2. 3 isplever 4 5 6 7 8 9 VHDL 10 VHDL 4 Decode cnt = "1010" High Low DOUT CLK 25MHz 50MHz clk_inst Cnt[3:0] RST 2 4 1010 11 library ieee; library xp; use xp.components.all; use ieee.std_logic_1164.all;

More information

エンティティ : インタフェースを定義 entity HLFDD is port (, : in std_logic ;, : out std_logic ) ; end HLFDD ; アーキテクチャ : エンティティの実現 architecture RH1 of HLFDD is <= xor

エンティティ : インタフェースを定義 entity HLFDD is port (, : in std_logic ;, : out std_logic ) ; end HLFDD ; アーキテクチャ : エンティティの実現 architecture RH1 of HLFDD is <= xor VHDL を使った PLD 設計のすすめ PLD 利用のメリット 小型化 高集積化 回路の修正が容易 VHDL 設計のメリット 汎用の設計になる ( どこのデバイスにも搭載可能 ) 1/16 2001/7/13 大久保弘崇 http://www.aichi-pu.ac.jp/ist/~ohkubo/ 2/16 設計の再利用が促進 MIL 記号の D での設計との比較 Verilog-HDL などでも別に同じ

More information

Microsoft Word - 実験4_FPGA実験2_2015

Microsoft Word - 実験4_FPGA実験2_2015 FPGA の実験 Ⅱ 1. 目的 (1)FPGA を用いて組合せ回路や順序回路を設計する方法を理解する (2) スイッチや表示器の動作を理解し 入出力信号を正しく扱う 2. スケジュール項目 FPGAの実験 Ⅱ( その1) FPGAの実験 Ⅱ( その2) FPGAの実験 Ⅱ( その3) FPGAの実験 Ⅱ( その4) FPGAの実験 Ⅱ( その5) FPGAの実験 Ⅱ( その6) FPGAの実験 Ⅱ(

More information

Microsoft PowerPoint - 集積回路工学_ ppt[読み取り専用]

Microsoft PowerPoint - 集積回路工学_ ppt[読み取り専用] 2007.11.12 集積回路工学 Matsuzawa Lab 1 集積回路工学 東京工業大学 大学院理工学研究科 電子物理工学専攻 2007.11.12 集積回路工学 Matsuzawa Lab 2 1. 1. ハードウェア記述言語 (VHDL で回路を設計 ) HDL 設計の手順や基本用語を学ぶ RTL とは? Register Transfer Level レジスタ間の転送関係を表現したレベル慣例的に以下のことを行う

More information

VHDL

VHDL VHDL 1030192 15 2 10 1 1 2 2 2.1 2 2.2 5 2.3 11 2.3.1 12 2.3.2 12 2.4 12 2.4.1 12 2.4.2 13 2.5 13 2.5.1 13 2.5.2 14 2.6 15 2.6.1 15 2.6.2 16 3 IC 17 3.1 IC 17 3.2 T T L 17 3.3 C M O S 20 3.4 21 i 3.5 21

More information

フリップフロップ

フリップフロップ 第 3 章フリップ フロップ 大阪大学大学院情報科学研究科 今井正治 imai@ist.osaka-u.ac.jp http://www-ise1.ist.osaka-u.ac.jp/~imai/ 2005/10/17 2006, Masaharu Imai 1 講義内容 フリップ フロップの基本原理 RS フリップ フロップ D ラッチ D フリップ フロップ JK フリップ フロップ T フリップ

More information

デザインパフォーマンス向上のためのHDLコーディング法

デザインパフォーマンス向上のためのHDLコーディング法 WP231 (1.1) 2006 1 6 HDL FPGA TL TL 100MHz 400MHz HDL FPGA FPGA 2005 2006 Xilinx, Inc. All rights reserved. XILINX, the Xilinx logo, and other designated brands included herein are trademarks of Xilinx,

More information

Microsoft PowerPoint LC_15.ppt

Microsoft PowerPoint LC_15.ppt ( 第 15 回 ) 鹿間信介摂南大学理工学部電気電子工学科 特別講義 : 言語を使った設計 (2) 2.1 HDL 設計入門 2.2 FPGA ボードの設計デモ配布資料 VHDL の言語構造と基本文法 2.1 HDL 設計入門 EDAツール : メンター社製品が有名 FPGAベンダーのSW 1 1 仕様設計 にも簡易機能あり 2 3 2 HDLコード記述 3 論理シミュレーション 4 4 論理合成

More information

Unconventional HDL Programming ( version) 1

Unconventional HDL Programming ( version) 1 Unconventional HDL Programming (20090425 version) 1 1 Introduction HDL HDL Hadware Description Language printf printf (C ) HDL 1 HDL HDL HDL HDL HDL HDL 1 2 2 2.1 VHDL 1 library ieee; 2 use ieee.std_logic_1164.all;

More information

Server Backup Manager 5.0 Debian および Ubuntu システムへの Server Backup Free のインストール 1. APT-GET をしてServer Backup Free をインストールする 2. Server Backup Free のインストール

Server Backup Manager 5.0 Debian および Ubuntu システムへの Server Backup Free のインストール 1. APT-GET をしてServer Backup Free をインストールする 2. Server Backup Free のインストール Debian および Ubuntu システムへの Server Backup Free のインストール 1. APT-GET をしてServer Backup Free をインストールする 2. Server Backup Free のインストール (DPKG でのインストール ) 3. Server Backup のWeb ベースユーザーインターフェイスをしてする 4. Linux Server

More information

問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN

問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN 第 8 回中間試験前の演習 問.VHDL ソースコードを読む () 次の VHDL のソースコードが記述しているゲート回路の回路図を示せ. use IEEE.STD_LOGIC_64.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Logic is port ( A : in std_logic_vector(3

More information

回路 7 レジスタ ( 同期イネーブル及び非同期リセット付 ) 入力データを保持するのに用いる記憶素子 使用用途として, マイクロプロセッサ内部で演算や実行状態の保持に用いられる Fig4-2 のレジスタは, クロック信号の立ち上がり時かつ 信号が 1 のときに外部からの 1 ビットデータ R をレ

回路 7 レジスタ ( 同期イネーブル及び非同期リセット付 ) 入力データを保持するのに用いる記憶素子 使用用途として, マイクロプロセッサ内部で演算や実行状態の保持に用いられる Fig4-2 のレジスタは, クロック信号の立ち上がり時かつ 信号が 1 のときに外部からの 1 ビットデータ R をレ 第 4 回 VHDL 演習 2 プロセス文とステートマシン プロセス文を用いるステートマシンの記述について学ぶ 回路 6 バイナリカウンタ (Fig.4-1) バイナリカウンタを設計し, クロック信号に同期して動作する同期式回路の動作を学ぶ ⅰ) リスト 4-1 のコードを理解してから, コンパイル, ダウンロードする ⅱ) 実験基板上のディップスイッチを用いて, 発生するクロック周波数を 1Hz

More information

Microsoft Word - Win-Outlook.docx

Microsoft Word - Win-Outlook.docx Microsoft Office Outlook での設定方法 (IMAP および POP 編 ) How to set up with Microsoft Office Outlook (IMAP and POP) 0. 事前に https://office365.iii.kyushu-u.ac.jp/login からサインインし 以下の手順で自分の基本アドレスをメモしておいてください Sign

More information

AN 100: ISPを使用するためのガイドライン

AN 100: ISPを使用するためのガイドライン ISP AN 100: In-System Programmability Guidelines 1998 8 ver.1.01 Application Note 100 ISP Altera Corporation Page 1 A-AN-100-01.01/J VCCINT VCCINT VCCINT Page 2 Altera Corporation IEEE Std. 1149.1 TCK

More information

スライド 1

スライド 1 isplever CLASIC 1.2 Startup Manual for MACH4000 Rev.1.0 isplever_ CLASIC Startup_for_MACH4000_Rev01.ppt Page: 1 1. Page 3 2. Lattice isplever Design Flow Page 4 3. Page 5 3-1 Page 6 3-2 Page 7 3-3 Page

More information

How to read the marks and remarks used in this parts book. Section 1 : Explanation of Code Use In MRK Column OO : Interchangeable between the new part

How to read the marks and remarks used in this parts book. Section 1 : Explanation of Code Use In MRK Column OO : Interchangeable between the new part Reservdelskatalog MIKASA MVB-85 rullvibrator EPOX Maskin AB Postadress Besöksadress Telefon Fax e-post Hemsida Version Box 6060 Landsvägen 1 08-754 71 60 08-754 81 00 info@epox.se www.epox.se 1,0 192 06

More information

How to read the marks and remarks used in this parts book. Section 1 : Explanation of Code Use In MRK Column OO : Interchangeable between the new part

How to read the marks and remarks used in this parts book. Section 1 : Explanation of Code Use In MRK Column OO : Interchangeable between the new part Reservdelskatalog MIKASA MT65H vibratorstamp EPOX Maskin AB Postadress Besöksadress Telefon Fax e-post Hemsida Version Box 6060 Landsvägen 1 08-754 71 60 08-754 81 00 info@epox.se www.epox.se 1,0 192 06

More information

How to read the marks and remarks used in this parts book. Section 1 : Explanation of Code Use In MRK Column OO : Interchangeable between the new part

How to read the marks and remarks used in this parts book. Section 1 : Explanation of Code Use In MRK Column OO : Interchangeable between the new part Reservdelskatalog MIKASA MVC-50 vibratorplatta EPOX Maskin AB Postadress Besöksadress Telefon Fax e-post Hemsida Version Box 6060 Landsvägen 1 08-754 71 60 08-754 81 00 info@epox.se www.epox.se 1,0 192

More information

Verilog HDL による回路設計記述

Verilog HDL による回路設計記述 Verilog HDL 3 2019 4 1 / 24 ( ) (RTL) (HDL) RTL HDL アルゴリズム 動作合成 論理合成 論理回路 配置 配線 ハードウェア記述言語 シミュレーション レイアウト 2 / 24 HDL VHDL: IEEE Std 1076-1987 Ada IEEE Std 1164-1991 Verilog HDL: 1984 IEEE Std 1364-1995

More information

How to read the marks and remarks used in this parts book. Section 1 : Explanation of Code Use In MRK Column OO : Interchangeable between the new part

How to read the marks and remarks used in this parts book. Section 1 : Explanation of Code Use In MRK Column OO : Interchangeable between the new part Reservdelskatalog MIKASA MCD-L14 asfalt- och betongsåg EPOX Maskin AB Postadress Besöksadress Telefon Fax e-post Hemsida Version Box 6060 Landsvägen 1 08-754 71 60 08-754 81 00 info@epox.se www.epox.se

More information

はじめに このドキュメントではftServerに関する障害調査を行う際に 必要となるログ データの取得方法を説明しています ログ データの取得には 初期解析用のデータの取得方法と 詳細な調査を行うときのデータ取得方法があります 特別な理由でOS 側のログが必要となった場合には RHELログの取得につ

はじめに このドキュメントではftServerに関する障害調査を行う際に 必要となるログ データの取得方法を説明しています ログ データの取得には 初期解析用のデータの取得方法と 詳細な調査を行うときのデータ取得方法があります 特別な理由でOS 側のログが必要となった場合には RHELログの取得につ ftserver におけるログ取得手順 (Linux 編 ) Rev 0.5: 2017/06/08 1 はじめに このドキュメントではftServerに関する障害調査を行う際に 必要となるログ データの取得方法を説明しています ログ データの取得には 初期解析用のデータの取得方法と 詳細な調査を行うときのデータ取得方法があります 特別な理由でOS 側のログが必要となった場合には RHELログの取得について

More information

pthreads #pthreads

pthreads #pthreads pthreads #pthreads 1 1: pthreads 2 2 Examples 2 2 pthreads "Hello World" 2 2 3 2: pthreads 5 5 Examples 5 2T1T2 5 3: 8 8 8 Examples 9 / 9 11 You can share this PDF with anyone you feel could benefit from

More information

VBI VBI FM FM FM FM FM DARC DARC

VBI VBI FM FM FM FM FM DARC DARC 14 2 7 2.1 2.1.1 2.1.2 2.1.3 2.1.3.1 VBI 2.1.3.2 VBI 2.1.4 2.1.5 2.1.6 10 2.FM 11 2.2.1 FM 11 2.2.2 FM 11 2.2.3FM 13 2.2.4 FM DARC 14 2.2.4.1 DARC 14 2.2.4.2 DARC 14 17 3.1 17 3.1.1 parity 17 3.1.2 18

More information

How to read the marks and remarks used in this parts book. Section 1 : Explanation of Code Use In MRK Column OO : Interchangeable between the new part

How to read the marks and remarks used in this parts book. Section 1 : Explanation of Code Use In MRK Column OO : Interchangeable between the new part Reservdelskatalog MIKASA MVC-88 vibratorplatta EPOX Maskin AB Postadress Besöksadress Telefon Fax e-post Hemsida Version Box 6060 Landsvägen 1 08-754 71 60 08-754 81 00 info@epox.se www.epox.se 1,0 192

More information

2ALU 以下はデータ幅 4ビットの ALU の例 加算, 減算,AND,OR の4つの演算を実行する 実際のプロセッサの ALU は, もっと多種類の演算が可能 リスト 7-2 ALU の VHDL 記述 M use IEEE.STD_LOGIC_1164.ALL; 00 : 加算 use IEE

2ALU 以下はデータ幅 4ビットの ALU の例 加算, 減算,AND,OR の4つの演算を実行する 実際のプロセッサの ALU は, もっと多種類の演算が可能 リスト 7-2 ALU の VHDL 記述 M use IEEE.STD_LOGIC_1164.ALL; 00 : 加算 use IEE 差し替え版 第 7 回マイクロプロセッサの VHDL 記述 マイクロプロセッサ全体および主要な内部ユニットの,VHDL 記述の例を示す. 1)MPU(Micro Processor Uit) Module 1MPU のエンティティ記述とコントローラの例以下は, 簡単な MPU の VHDL 記述の例である ただし, アーキテクチャ部分は, 命令読み込みと実行の状態遷移のみを実現したステートマシンである

More information

TECH_I Vol.25 改訂新版PCIデバイス設計入門

TECH_I Vol.25 改訂新版PCIデバイス設計入門 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity n is port( ); end entity n; architecture RTL of nis begin when : process begin end process :process begin end process

More information

LC304_manual.ai

LC304_manual.ai Stick Type Electronic Calculator English INDEX Stick Type Electronic Calculator Instruction manual INDEX Disposal of Old Electrical & Electronic Equipment (Applicable in the European Union

More information

ModelSim-Altera - RTL シミュレーションの方法

ModelSim-Altera - RTL シミュレーションの方法 ALTIMA Corp. ModelSim-Altera RTL シミュレーションの方法 ver.15.1 2016 年 5 月 Rev.1 ELSENA,Inc. 目次 1. 2. 3. はじめに...3 RTL シミュレーションの手順...4 RTL シミュレーションの実施...5 3-1. 3-2. 新規プロジェクトの作成... 5 ファイルの作成と登録... 7 3-2-1. 新規ファイルの作成...

More information

Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for

Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for embedded systems that use microcontrollers (MCUs)

More information

MIDI_IO.book

MIDI_IO.book MIDI I/O t Copyright This guide is copyrighted 2002 by Digidesign, a division of Avid Technology, Inc. (hereafter Digidesign ), with all rights reserved. Under copyright laws, this guide may not be duplicated

More information

論理設計の基礎

論理設計の基礎 . ( ) IC (Programmable Logic Device, PLD) VHDL 2. IC PLD 2.. PLD PLD PLD SIC PLD PLD CPLD(Complex PLD) FPG(Field Programmable Gate rray) 2.2. PLD PLD PLD I/O I/O : PLD D PLD Cp D / Q 3. VHDL 3.. HDL (Hardware

More information

25 II :30 16:00 (1),. Do not open this problem booklet until the start of the examination is announced. (2) 3.. Answer the following 3 proble

25 II :30 16:00 (1),. Do not open this problem booklet until the start of the examination is announced. (2) 3.. Answer the following 3 proble 25 II 25 2 6 13:30 16:00 (1),. Do not open this problem boolet until the start of the examination is announced. (2) 3.. Answer the following 3 problems. Use the designated answer sheet for each problem.

More information

fx-9860G Manager PLUS_J

fx-9860G Manager PLUS_J fx-9860g J fx-9860g Manager PLUS http://edu.casio.jp k 1 k III 2 3 1. 2. 4 3. 4. 5 1. 2. 3. 4. 5. 1. 6 7 k 8 k 9 k 10 k 11 k k k 12 k k k 1 2 3 4 5 6 1 2 3 4 5 6 13 k 1 2 3 1 2 3 1 2 3 1 2 3 14 k a j.+-(),m1

More information

xslt #xslt

xslt #xslt xslt #xslt 1 1: xslt 2 2 2 Examples 2 2 XSLT 3 2: xslt 7 Examples 7 XSLT 7 8 You can share this PDF with anyone you feel could benefit from it, downloaded the latest version from: xslt It is an unofficial

More information

はじめに

はじめに IT 1 NPO (IPEC) 55.7 29.5 Web TOEIC Nice to meet you. How are you doing? 1 type (2002 5 )66 15 1 IT Java (IZUMA, Tsuyuki) James Robinson James James James Oh, YOU are Tsuyuki! Finally, huh? What's going

More information

untitled

untitled Large-Scale Power Conditioning System for Grid Storage Battery System with Redox Flow Battery Having World s Highest Capacity Class of 60 MWh MONAI,Toshiharu SUZAKI,Hisaharu YANO,Keiji は,から,の レドックスフロー

More information

浜松医科大学紀要

浜松医科大学紀要 On the Statistical Bias Found in the Horse Racing Data (1) Akio NODA Mathematics Abstract: The purpose of the present paper is to report what type of statistical bias the author has found in the horse

More information

5 11 3 1....1 2. 5...4 (1)...5...6...7...17...22 (2)...70...71...72...77...82 (3)...85...86...87...92...97 (4)...101...102...103...112...117 (5)...121...122...123...125...128 1. 10 Web Web WG 5 4 5 ²

More information

Sharing the Development Database

Sharing the Development Database 開発データベースを共有する 目次 1 Prerequisites 準備... 2 2 Type of database データベースのタイプ... 2 3 Select the preferred database 希望のデータベースを選択する... 2 4 Start the database viewer データベース ビューワーを起動する... 3 5 Execute queries クエリを実行する...

More information

untitled

untitled Verilog HDL Verilog HDL VerilogHDL veriloghdl / CPLD , 1bit 2 MUX 5 D,E) always) module MUX(out, a, b, sel); output out; input a, b, sel; A) IF module MUX(out, a, b, sel); output out; input a, b, sel;

More information

i5 Catalyst Case Instructions JP

i5 Catalyst Case Instructions JP Catalyst iphone iphone iphone ON/OFF O O Touch ID Page 01 iphone O O O O O Page 02 ( ) O OK O O O 30 30 min Page 03 ( ) 30 O iphone iphone iphone iphone iphone iphoneiphone Catalyst ON/OFF iphone iphone

More information

エレクトーンのお客様向けiPhone/iPad接続マニュアル

エレクトーンのお客様向けiPhone/iPad接続マニュアル / JA 1 2 3 4 USB TO DEVICE USB TO DEVICE USB TO DEVICE 5 USB TO HOST USB TO HOST USB TO HOST i-ux1 6 7 i-ux1 USB TO HOST i-mx1 OUT IN IN OUT OUT IN OUT IN i-mx1 OUT IN IN OUT OUT IN OUT IN USB TO DEVICE

More information

L3 Japanese (90570) 2008

L3 Japanese (90570) 2008 90570-CDT-08-L3Japanese page 1 of 15 NCEA LEVEL 3: Japanese CD TRANSCRIPT 2008 90570: Listen to and understand complex spoken Japanese in less familiar contexts New Zealand Qualifications Authority: NCEA

More information

AtCoder Regular Contest 073 Editorial Kohei Morita(yosupo) A: Shiritori if python3 a, b, c = input().split() if a[len(a)-1] == b[0] and b[len(

AtCoder Regular Contest 073 Editorial Kohei Morita(yosupo) A: Shiritori if python3 a, b, c = input().split() if a[len(a)-1] == b[0] and b[len( AtCoder Regular Contest 073 Editorial Kohei Morita(yosupo) 29 4 29 A: Shiritori if python3 a, b, c = input().split() if a[len(a)-1] == b[0] and b[len(b)-1] == c[0]: print( YES ) else: print( NO ) 1 B:

More information

NSR-500 Installation Guide

NSR-500 Installation Guide NSR Installation Guide This information has been prepared for the professional installers not for the end users. Please handle the information with care. Overview This document describes HDD installation

More information

Introduction Purpose This training course describes the configuration and session features of the High-performance Embedded Workshop (HEW), a key tool

Introduction Purpose This training course describes the configuration and session features of the High-performance Embedded Workshop (HEW), a key tool Introduction Purpose This training course describes the configuration and session features of the High-performance Embedded Workshop (HEW), a key tool for developing software for embedded systems that

More information

REDCap_EULA_FAQ

REDCap_EULA_FAQ 米国ヴァンダービルト大学との End User License Agreementと 大阪市立大学における REDCap 外部提供 (SaaS) 契約について 2017 年 6 月 1 日 Japan REDCap Consortium 注意事項 この資料の著作権は 大阪市立大学 REDCap グループに帰属します 私的使用を除き 本資料の全部又は一部を承諾なしに公表又は第三者に伝達する事はできません

More information

syspro-0405.ppt

syspro-0405.ppt 3 4, 5 1 UNIX csh 2.1 bash X Window 2 grep l POSIX * more POSIX 3 UNIX. 4 first.sh #!bin/sh #first.sh #This file looks through all the files in the current #directory for the string yamada, and then prints

More information

What s your name? Help me carry the baggage, please. politeness What s your name? Help me carry the baggage, please. iii

What s your name? Help me carry the baggage, please. politeness What s your name? Help me carry the baggage, please. iii What s your name? Help me carry the baggage, please. politeness What s your name? Help me carry the baggage, please. iii p. vi 2 50 2 2016 7 14 London, Russell Square iv iii vi Part 1 1 Part 2 13 Unit

More information

インターネット接続ガイド v110

インターネット接続ガイド v110 1 2 1 2 3 3 4 5 6 4 7 8 5 1 2 3 6 4 5 6 7 7 8 8 9 9 10 11 12 10 13 14 11 1 2 12 3 4 13 5 6 7 8 14 1 2 3 4 < > 15 5 6 16 7 8 9 10 17 18 1 2 3 19 1 2 3 4 20 U.R.G., Pro Audio & Digital Musical Instrument

More information

1 # include < stdio.h> 2 # include < string.h> 3 4 int main (){ 5 char str [222]; 6 scanf ("%s", str ); 7 int n= strlen ( str ); 8 for ( int i=n -2; i

1 # include < stdio.h> 2 # include < string.h> 3 4 int main (){ 5 char str [222]; 6 scanf (%s, str ); 7 int n= strlen ( str ); 8 for ( int i=n -2; i ABC066 / ARC077 writer: nuip 2017 7 1 For International Readers: English editorial starts from page 8. A : ringring a + b b + c a + c a, b, c a + b + c 1 # include < stdio.h> 2 3 int main (){ 4 int a,

More information

- VHDL 演習 ( 組み合せ論理回路 ) 回路 半加算器 (half adder,fig.-) 全加算器を構成する要素である半加算器を作成する i) リスト - のコードを理解してから, コンパイル, ダウンロードする ii) 実験基板上のスイッチ W, が, の入力,LED, が, の出力とな

- VHDL 演習 ( 組み合せ論理回路 ) 回路 半加算器 (half adder,fig.-) 全加算器を構成する要素である半加算器を作成する i) リスト - のコードを理解してから, コンパイル, ダウンロードする ii) 実験基板上のスイッチ W, が, の入力,LED, が, の出力とな 第 回 VHDL 演習組み合せ論理回路 VHDL に関する演習を行う 今回は, 組み合せ論理回路の記述について学ぶ - 論理回路の VHDL 記述の基本 同時処理文を並べることで記述できる 部品の接続関係を記述 順番は関係ない process 文の内部では, 順次処理文を使う process 文 つで, つの同時処理文になる順次処理文は, 回路の動作を 逐次処理的 に ( 手続き処理型プログラム言語のように

More information

FPGA と LUPO その1

FPGA と LUPO その1 FPGA Lecture for LUPO and GTO Vol. 1 2010, 31 August (revised 2013, 19 November) H. Baba Contents FPGA の概要 LUPO の基本的な使い方 New Project Read and Write 基本的な Behavioral VHDL simulation Firmware のダウンロード FPGA

More information

Page 1 of 6 B (The World of Mathematics) November 20, 2006 Final Exam 2006 Division: ID#: Name: 1. p, q, r (Let p, q, r are propositions. ) (10pts) (a

Page 1 of 6 B (The World of Mathematics) November 20, 2006 Final Exam 2006 Division: ID#: Name: 1. p, q, r (Let p, q, r are propositions. ) (10pts) (a Page 1 of 6 B (The World of Mathematics) November 0, 006 Final Exam 006 Division: ID#: Name: 1. p, q, r (Let p, q, r are propositions. ) (a) (Decide whether the following holds by completing the truth

More information

DDR3 SDRAMメモリ・インタフェースのレベリング手法の活用

DDR3 SDRAMメモリ・インタフェースのレベリング手法の活用 WP-01034-1.0/JP DLL (PVT compensation) 90 PLL PVT compensated FPGA fabric 90 Stratix III I/O block Read Dynamic OC T FPGA Write Memory Run Time Configurable Run Time Configurable Set at Compile dq0 dq1

More information

iPhone/iPad接続マニュアル

iPhone/iPad接続マニュアル / JA 2 3 USB 4 USB USB i-ux1 USB i-ux1 5 6 i-mx1 THRU i-mx1 THRU 7 USB THRU 1 2 3 4 1 2 3 4 5 8 1 1 9 2 1 2 10 1 2 2 6 7 11 1 2 3 4 5 6 7 8 12 1 2 3 4 5 6 13 14 15 WPA Supplicant Copyright 2003-2009, Jouni

More information

Ver.1 1/17/2003 2

Ver.1 1/17/2003 2 Ver.1 1/17/2003 1 Ver.1 1/17/2003 2 Ver.1 1/17/2003 3 Ver.1 1/17/2003 4 Ver.1 1/17/2003 5 Ver.1 1/17/2003 6 Ver.1 1/17/2003 MALTAB M GUI figure >> guide GUI GUI OK 7 Ver.1 1/17/2003 8 Ver.1 1/17/2003 Callback

More information

ディジタル電子回路 設計演習課題

ディジタル電子回路 設計演習課題 Arch 研究室スキルアップ講座 NEXYS4 による 24 時間時計 仕様書および設計例 1 実験ボード (NEXYS4) 外観 ダウンロード (USB) ケーブル接続端子 FPGA:Xilinx 社製 Artix7 XC7A100T-CSG324 7 セグメント LED8 個 LED16 個 リセット SW スライドスイッチ (16 個 ) 押しボタンスイッチ (5 個 ) 2 実験ボードブロック図

More information

h23w1.dvi

h23w1.dvi 24 I 24 2 8 10:00 12:30 1),. Do not open this problem booklet until the start of the examination is announced. 2) 3.. Answer the following 3 problems. Use the designated answer sheet for each problem.

More information

elemmay09.pub

elemmay09.pub Elementary Activity Bank Activity Bank Activity Bank Activity Bank Activity Bank Activity Bank Activity Bank Activity Bank Activity Bank Activity Bank Activity Bank Activity Bank Number Challenge Time:

More information

ShikenPASS あなたは認証を取得するのを助ける人気認定試験向け関連勉強資料の提供者 ShikenPASS

ShikenPASS   あなたは認証を取得するのを助ける人気認定試験向け関連勉強資料の提供者 ShikenPASS ShikenPASS http://www.shikenpass.com あなたは認証を取得するのを助ける人気認定試験向け関連勉強資料の提供者 ShikenPASS Exam : 1z0-533-JPN Title : Oracle Hyperion Planning 11 Essentials Vendor : Oracle Version : DEMO Get Latest & Valid 1Z0-533-JPN

More information

Microsoft PowerPoint - NxLec-2010-11-01.ppt

Microsoft PowerPoint - NxLec-2010-11-01.ppt 2010 年 後 学 期 レポート 問 題 計 算 機 アーキテクチャ 第 二 (O) 4. シングルサイクルプロセッサの 実 装 とパイプライン 処 理 大 学 院 情 報 理 工 学 研 究 科 計 算 工 学 専 攻 吉 瀬 謙 二 kise _at_ cs.titech.ac.jp S321 講 義 室 月 曜 日 5,6 時 限 13:20-14:50 1 1. 1から100までの 加 算

More information

VHDL

VHDL VHDL 4 4 3 3 6 6 6 9 4 8 5 9 5 5 6 9 3 3 3 35 36 37 38 FIRIIR A/D D/A NOSCOS LSI FIR IIR x a x a a ; ; H a H T j e T j e T j T a j T a T j T a e a H e H T j sin cos sin cos T j I T j R T a e H T a e H

More information

HARK Designer Documentation 0.5.0 HARK support team 2013 08 13 Contents 1 3 2 5 2.1.......................................... 5 2.2.............................................. 5 2.3 1: HARK Designer.................................

More information

™…

™… Review The Secret to Healthy Long Life Decrease in Oxidative and Mental Stress My motto is Health is not all. But nothing can be done without health. Health is the most important requisite for all human

More information

ScanFront300/300P セットアップガイド

ScanFront300/300P セットアップガイド libtiff Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby

More information

オンチップ・メモリ クイック・ガイド for Cyclone III

オンチップ・メモリ クイック・ガイド for Cyclone III ver.9.1 2010 年 1 月 1. はじめに アルテラ社製 FPGA デバイスにおいてオンチップ メモリ (FPGA 内部で RAM や ROM などを構成 ) を実現するには Memory Compiler メガファンクションを使用します Memory Compiler メガファンクションは Cyclone シリーズ, Arria シリーズ, Stratix シリーズ, HardCopy

More information

平成29年度英語力調査結果(中学3年生)の概要

平成29年度英語力調査結果(中学3年生)の概要 1 2 3 1 そう思う 2 どちらかといえば そう思う 3 どちらかといえば そう思わない 4 そう思わない 4 5 楽しめるようになりたい 6 1 そう思う 2 どちらかといえば そう思う 3 どちらかといえば そう思わない 4 そう思わない 7 1 そう思う 2 どちらかといえば そう思う 3 どちらかといえば そう思わない 4 そう思わない 8 1 そう思う 2 どちらかといえば そう思う

More information

81-2 ron-3→2.indd

81-2 ron-3→2.indd Vol.81 No.2 2008 ( こはなわあきひこ ) ( はせがわまさみ ),やプラントでながいでおり のへがまっている のには,( リスク )の,の, プラントのセキュリティ, システムのデータの などながである, やシステムのでをするしいが, やとしてにされてきている では,のやシステムにりれられてきているしいのをするとともに, のへのみをする では,にするやを するがくされてきた これをに

More information

4.1 % 7.5 %

4.1 % 7.5 % 2018 (412837) 4.1 % 7.5 % Abstract Recently, various methods for improving computial performance have been proposed. One of these various methods is Multi-core. Multi-core can execute processes in parallel

More information

listings-ext

listings-ext (6) Python (2) ( ) ohsaki@kwansei.ac.jp 5 Python (2) 1 5.1 (statement)........................... 1 5.2 (scope)......................... 11 5.3 (subroutine).................... 14 5 Python (2) Python 5.1

More information

untitled

untitled SUBJECT: Applied Biosystems Data Collection Software v2.0 v3.0 Windows 2000 OS : 30 45 Cancel Data Collection - Applied Biosystems Sequencing Analysis Software v5.2 - Applied Biosystems SeqScape Software

More information

Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Using con

Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Using con IIS で SSL(https) を設定する方法 Copyright (C) 2008 NonSoft. All Rights Reserved. IIS でセキュアサーバを構築する方法として OpenSSL を使用した方法を実際の手順に沿って記述します 1. はじめに IIS で SSL(https) を設定する方法を以下の手順で記述します (1) 必要ソフトのダウンロード / インストールする

More information

L1 What Can You Blood Type Tell Us? Part 1 Can you guess/ my blood type? Well,/ you re very serious person/ so/ I think/ your blood type is A. Wow!/ G

L1 What Can You Blood Type Tell Us? Part 1 Can you guess/ my blood type? Well,/ you re very serious person/ so/ I think/ your blood type is A. Wow!/ G L1 What Can You Blood Type Tell Us? Part 1 Can you guess/ my blood type? 当ててみて / 私の血液型を Well,/ you re very serious person/ so/ I think/ your blood type is A. えーと / あなたはとっても真面目な人 / だから / 私は ~ と思います / あなたの血液型は

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション ループ ループとは? ある条件を満たすまで 指定の命令を繰り返す Do... Loop For Next For Each Next While WEnd ループの種類 Do Loop Do While 条件 ステートメント Loop Do ステートメント Loop While 条件 Do Until 条件 ステートメント Loop Do ステートメント Until Loop 条件 Do Loop

More information

Report Template

Report Template MachXO2 EFB(Embedded Function Block) 1 目次 1 このドキュメントの概要 3 2 EFB の構成 4 3 EFB とハードマクロの生成と注意事項 5 3.1 EFB Enables タブの設定... 5 3.2 I2C タブの設定... 6 3.3 SPI タブの設定... 7 3.4 Timer/Counter タブの設定... 9 4 Wishbone から

More information

TH-47LFX60 / TH-47LFX6N

TH-47LFX60 / TH-47LFX6N TH-47LFX60J TH-47LFX6NJ 1 2 3 4 - + - + DVI-D IN PC IN SERIAL IN AUDIO IN (DVI-D / PC) LAN, DIGITAL LINK AV IN AUDIO OUT 1 11 2 12 3 13 4 14 5 6 15 7 16 8 17 9 18 10 19 19 3 1 18 4 2 HDMI AV OUT

More information

一 先 行 研 究 と 問 題 の 所 在 19

一 先 行 研 究 と 問 題 の 所 在 19 Title 太 宰 治 葉 桜 と 魔 笛 論 : 反 転 する 美 談 / 姉 妹 のエ クリチュール Author(s) 川 那 邉, 依 奈 Citation 待 兼 山 論 叢. 文 学 篇. 48 P.19-P.37 Issue 2014-12-25 Date Text Version publisher URL http://hdl.handle.net/11094/56609 DOI

More information

PowerPoint Presentation

PowerPoint Presentation AI Programming data mining ( Plug in Weka to Eclipse) Review of Identification Tree Run bouncing ball in Weka Run bouncing ball in Eclipse How about color? weight? rubber? Please write down their formulae.

More information

ヒント $basearch はYum であり いえればベースアーキテクチャです(32ビット 64ビットなど) 3. ファイルにがきまれたかをするには のコマンドをします cat /etc/yum.repos.d/r1soft.repo 1.2 パッケージをインストールする 1. インストールされてい

ヒント $basearch はYum であり いえればベースアーキテクチャです(32ビット 64ビットなど) 3. ファイルにがきまれたかをするには のコマンドをします cat /etc/yum.repos.d/r1soft.repo 1.2 パッケージをインストールする 1. インストールされてい CentOS RHE および Fedora システムへのEnterprise Backup Manager のインストール 1. YUMをしてサーバーをインストールする 2. サーバーをでインストールする(RPM でのインストール) 3. バックアップマネージャのWeb ベースユーザーインターフェイスをしてする のステップ 1. YUMをしてサーバーをインストールする 1.1 YUM リポジトリをする

More information

ScanFront 220/220P 取扱説明書

ScanFront 220/220P 取扱説明書 libtiff Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby

More information

ScanFront 220/220P セットアップガイド

ScanFront 220/220P セットアップガイド libtiff Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby

More information

------------------------------------------------------------------------------------------------------- 1 --------------------------------------------

------------------------------------------------------------------------------------------------------- 1 -------------------------------------------- ------------------------------------------------------------------------------------------------------- 1 -------------------------------------------------------------------------- 2 -----------------------------------------------------------------------------

More information

Introduction Purpose This course explains how to use Mapview, a utility program for the Highperformance Embedded Workshop (HEW) development environmen

Introduction Purpose This course explains how to use Mapview, a utility program for the Highperformance Embedded Workshop (HEW) development environmen Introduction Purpose This course explains how to use Mapview, a utility program for the Highperformance Embedded Workshop (HEW) development environment for microcontrollers (MCUs) from Renesas Technology

More information

べリンガーB-CONTROL

べリンガーB-CONTROL B-CONTROL B-CONTROL B-CONTROL NATIVE INSTRUMENTS as well as the name of companies, institutions or publications pictured or mentioned and their respective logos are registered trademarks of their respective

More information

A5 PDF.pwd

A5 PDF.pwd DV DV DV DV DV DV 67 1 2016 5 383 DV DV DV DV DV DV DV DV DV 384 67 1 2016 5 DV DV DV NPO DV NPO NPO 67 1 2016 5 385 DV DV DV 386 67 1 2016 5 DV DV DV DV DV WHO Edleson, J. L. 1999. The overlap between

More information

「プログラミング言語」 SICP 第4章 ~超言語的抽象~ その6

「プログラミング言語」  SICP 第4章   ~超言語的抽象~   その6 SICP 4 6 igarashi@kuis.kyoto-u.ac.jp July 21, 2015 ( ) SICP 4 ( 6) July 21, 2015 1 / 30 4.3: Variations on a Scheme Non-deterministic Computing 4.3.1: amb 4.3.2: 4.3.3: amb ( ) SICP 4 ( 6) July 21, 2015

More information

Consuming a simple Web Service

Consuming a simple Web Service Consume a Simple Web Service シンプルな Web サービスを利用する 目次 1 Introduction はじめに... 2 2 Importing a WSDL WSDL をインポートする... 3 3 Creating Logic to Call the Web Service Web サービスを呼び出すロジックを作成する... 5 4 Related Content

More information

\615L\625\761\621\745\615\750\617\743\623\6075\614\616\615\606.PS

\615L\625\761\621\745\615\750\617\743\623\6075\614\616\615\606.PS osakikamijima HIGH SCHOOL REPORT Hello everyone! I hope you are enjoying spring and all of the fun activities that come with warmer weather! Similar to Judy, my time here on Osakikamijima is

More information

JOURNAL OF THE JAPANESE ASSOCIATION FOR PETROLEUM TECHNOLOGY VOL. 66, NO. 6 (Nov., 2001) (Received August 10, 2001; accepted November 9, 2001) Alterna

JOURNAL OF THE JAPANESE ASSOCIATION FOR PETROLEUM TECHNOLOGY VOL. 66, NO. 6 (Nov., 2001) (Received August 10, 2001; accepted November 9, 2001) Alterna JOURNAL OF THE JAPANESE ASSOCIATION FOR PETROLEUM TECHNOLOGY VOL. 66, NO. 6 (Nov., 2001) (Received August 10, 2001; accepted November 9, 2001) Alternative approach using the Monte Carlo simulation to evaluate

More information

Kyushu Communication Studies 第2号

Kyushu Communication Studies 第2号 Kyushu Communication Studies. 2004. 2:1-11 2004 How College Students Use and Perceive Pictographs in Cell Phone E-mail Messages IGARASHI Noriko (Niigata University of Health and Welfare) ITOI Emi (Bunkyo

More information

Technische Beschreibung P82R SMD

Technische Beschreibung P82R SMD P26 halstrup-walcher GmbH http://www.krone.co.jp/ Stegener Straße 10 D-79199 Kirchzarten, Germany 124-0023 2-22-1 TEL:03-3695-5431 FAX:03-3695-5698 E-MAIL:sales-tokyo@krone.co.jp 530-0054 2-2-9F TEL:06-6361-4831

More information

2

2 2011 8 6 2011 5 7 [1] 1 2 i ii iii i 3 [2] 4 5 ii 6 7 iii 8 [3] 9 10 11 cf. Abstracts in English In terms of democracy, the patience and the kindness Tohoku people have shown will be dealt with as an exception.

More information

VLD Kazutoshi Kobayashi

VLD Kazutoshi Kobayashi VLD Kazutoshi Kobayashi (kobayasi@kuee.kyoto-u.ac.jp) 2005 8 26-29 1, Verilog-HDL, Verilog-HDL. Verilog-HDL,, FPGA,, HDL,. 1.1, 1. (a) (b) (c) FPGA (d). 2. 10,, Verilog-HDL, FPGA,. 1.2,,,, html. % netscape

More information

RX600 & RX200シリーズ アプリケーションノート RX用仮想EEPROM

RX600 & RX200シリーズ アプリケーションノート RX用仮想EEPROM R01AN0724JU0170 Rev.1.70 MCU EEPROM RX MCU 1 RX MCU EEPROM VEE VEE API MCU MCU API RX621 RX62N RX62T RX62G RX630 RX631 RX63N RX63T RX210 R01AN0724JU0170 Rev.1.70 Page 1 of 33 1.... 3 1.1... 3 1.2... 3

More information