<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/takenote/">
    <title>takenote @ ウィキ</title>
    <link>http://w.atwiki.jp/takenote/</link>
    <atom:link href="https://w.atwiki.jp/takenote/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>takenote @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2013-05-19T13:12:04+09:00</dc:date>
    <utime>1368936724</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/takenote/pages/24.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/takenote/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/takenote/pages/23.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/takenote/pages/21.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/takenote/pages/1.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/takenote/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/takenote/pages/17.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/takenote/pages/20.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/takenote/pages/22.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/takenote/pages/15.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/takenote/pages/24.html">
    <title>HLS</title>
    <link>https://w.atwiki.jp/takenote/pages/24.html</link>
    <description>
      copy from ment book

設計および検証プロセスの削減
高抽象度での作業は、記述に必要な詳細が少なくなる。
例えば、機能レベルでは、エンジニアは階層やプロセス、クロック、テクノロジといった実装の詳細を気にする必要がなくなる。
エンジニアは、。実現しようとしている動作のみに注目すればよい。これによって、コード記述がずっと楽になる。
コードの行数も減り、エラーのリスクも減少し、また、ソース内で津とを必要とする項目も少なくなるため、モデルの検証も格段に簡単になる。

高位モデルの記述と検証の後は、。HLSがRTL実装プロセスを自動化してくれる。
しかし、HLSツールが手動作業の介入やエラーを排除しても、エンジニアリング介入はなくならない。-&gt; 判断と決定
高位合成では、エンジニアがコントロール権を持ち意思決定を行うが、実装を行うはHLSツールである。
これは単に、HLSツールのほうが効率よく実装を行えるからである。
例えば、設計者は最適アーキテクチャの並列性の適切なレベルを決定し、それにあわせたHLSツールの制約を行う。
逆に、必要とされるハードウェアリソースのアロケーションおよびスケジューリングや、完全に機能的で最適化された実装を作成するためのデータパスおよび制御構造の構築はツールが行う。HLSでは正しいRTLをより早く取得するため、作成フェーズの短縮につながる。すなわち。デバックのオーバーヘッドが低下し、検証にかかるストレスが軽減されることとなる。


再利用の効率化
高抽象度での作業には、他にも利点がある。
デザインのソースは完全に一般化されるため、多用途なものとなる。
過去には、IPと再利用がデザインの複雑性を解消するための手法として推奨されてきた。
しかし、こういった方法には限界がある。
RTLでは2つのクロックエッジ間に起こる動作を記述する。これは、定義によって特定のテクノロジとクロック周波数に結び付けられる。
従来のRTLをリターゲットすることが可能であれば、多くの場合それは電力やパフォーマンス、面積を犠牲にする可能性がある。
また、既存のIPに小さな変更を加えて派生版を作成すると、またたく間にプロジェクトが予想以上に大きくなることもある。
反対に、真に機能的な仕様で作業を行っていると、ソースにはクロックやテクノロジ、マイクロアーキテクチャといった詳細は存在しない。
これは高位合成のプロセスにて自動的に追加される情報となる。
そして新たな機能がIPに加えられたとしても、変更は抽象化されたソースでより簡単に作成/検証され、パイプラインを壊したりステートマシンを書き直したりという心配はない。??
HLSでは、機能IPの再利用とリターゲットはより簡単なものとなる。


高位合成の基礎
C++からハードウェアを合成する際によくある誤解のひとつは、
アルゴリズムを記述するのにどのようなスタイルのC++コーディングを使ってもよい、というものである。
高位C++合成を使う設計では、C++でハードウェアを記述しているという点を忘れてはならず、
また、下手な記述が最適とは呼べないRTL実装につながる可能性に注意しなければならない。
C++でコーディングを行うときに、デザインの内部メモリアーキテクチャを考慮に入れるだけでなく、
C++合成に推奨されるコーディングスタイルを遵守することもユーザの責任となる。

トップレベルデザインモジュール
HLSえは、RTL設計と同様に、どこがデザインのトップなのかを、
ユーザが指定する必要がある。
これは、デザインと外界とのインターフェースであり、
ポート定義、方向、ビット幅、そしてC++の場合はデータ型といったものから構成されている。

//----------- verilog ----------------------------

module top (
	clk,
	narst,
	din,
	dout
);

input          clk;
input          narst;
input   [31:0] din;
output  [31:0] dout;


//----- register -----//
reg [31:0] dout;

//----- process  -----//
	always @ (posedge clk or negedge narst) begin
		if (~narst) dout &lt;= 0;
		else        dout &lt;= din;
	end

endmodule

//------------------------------------------------
//-----------　C++　------------------------------

void top (
	int  din,
	int&amp; dout
){
	dout = din;
};

//------------------------------------------------


出力のレジスタ化
高位合成では、デフォルトで同期デザインを実装する。
これは、トップレベルデザインのすべての出力は、他のデザインと接続したときに
タイミングが合うことを保証するためにレジスタ化されることを意味する。
より小さい組み合わせブロックを実装する機構もあるが、一般的にデザインは同期となる。

制御ポート
C++コードにはタイミングの概念が無いので、クロックやイネーブル、リセットは
ソースに記述されない。その代わりに、合成ツールによって信号が加えられる。
極性やリセットの種類などは、デザイン制約を設定することによって制御することになる。

ポート幅
簡単なケースでは(合成でのインターフェース制約がごく少ない場合)、
クロックおよびリセットを除くトップレベルポートのビット幅はデータ型によって暗黙的に決まる。

上記のデザイン例では、データ型が「int」であるため、32bitということになる。
任意のビット幅を記述するには、ビットアキュレートデータ型を使用する。

入力ポート
インターフェース変数が読み込みのみの場合は、入力ポートとみなされる。

出力ポート
出力ポートには２つのケースがある。
１つは、トップレベル関数が値を返す場合。
引数に対し書き込みのみが行われている場合は、参照もしくはポインタとして宣言する必要がある。

双方向ポート
同一デザイン内でインターフェース変数に読み込みと書き込みの両方を行っている場合は、
双方向ポートとして扱われる。
このためには、その変数は参照またはポインタとして宣言される必要がある。    </description>
    <dc:date>2013-05-19T13:12:04+09:00</dc:date>
    <utime>1368936724</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/takenote/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/takenote/pages/2.html</link>
    <description>
      **メニュー
-[[トップページ]]
-[[メニュー]]
-[[android]]
-[[verilogHDL(HDL関連)]]
-[[SystemC(C, C++)]]
-[[HLS]]
-[[openCV]]
-[[pc or mac]]
-[[バイク]]
-[[ドラム]]
-[[色々]]
-[[英語]]
-[[カメラ]]
-[[Help!]]

-[[プラグイン紹介&gt;プラグイン]]
-[[まとめサイト作成支援ツール]]
----

**リンク
-[[@wiki&gt;&gt;http://atwiki.jp]]
-[[@wikiご利用ガイド&gt;&gt;http://atwiki.jp/guide/]]


// リンクを張るには &quot;[&quot; 2つで文字列を括ります。
// &quot;&gt;&quot; の左側に文字、右側にURLを記述するとリンクになります


//**更新履歴
//#recent(20)

&amp;link_editmenu(text=ここを編集)    </description>
    <dc:date>2013-05-18T20:05:14+09:00</dc:date>
    <utime>1368875114</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/takenote/pages/23.html">
    <title>android</title>
    <link>https://w.atwiki.jp/takenote/pages/23.html</link>
    <description>
      **11/05/08

***android 環境整備メモ for mac
+1 Android SDK install

http://developer.android.com/sdk/index.html

.profileへ
export PATH=$PATH:~/android-sdk-mac/tools
追加

SDKコンポーネントのダウンロード（Android SDK2.0以降）
ターミナルから
./android-sdk-mac/tools/android
実行

サイドメニュー&quot;Settings&quot;
&quot;Force https://...sources to be fetched using http://...&quot; 
にチェック
Save &amp; Apply

サイドメニュー&quot;Available Packages&quot;
ダウンロード対象をチェック
&quot;Android Repository&quot;
&quot;Third party Add-ons&quot;
必要なところにチェックを入れて、&quot;Install Selected&quot;
android-sdk-mac/platform に保存される

ADT(Android Development Tools)のインストール
ADT:Eclipse用のAndroidカスタムプラグイン
Eclipse起動
[Help]-[Install New Software]
Add ボタンを押す
&quot;Location&quot;に https://dl-ssl.google.com/android/eclipse/ 入力
OK ボタンを押す
追加するツールのリストが表示されるので、
インストール対象にチェックマークをつけて
Nextボタンを押す
Install Details ウィンドウ　-&gt; Next -&gt; ライセンス承諾 -&gt; Finish


+2 Eclipse install

http://www.eclipse.org/downloads/

[Eclipse] -&gt; [環境設定]
&quot;Android&quot; 選択
&quot;SDK Location&quot; にSDKルートディレクトリのパス指定
Apply -&gt; OK    </description>
    <dc:date>2011-05-08T23:08:50+09:00</dc:date>
    <utime>1304863730</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/takenote/pages/21.html">
    <title>英語</title>
    <link>https://w.atwiki.jp/takenote/pages/21.html</link>
    <description>
      **09/12/15　編集

strength   -&gt; 長所　って意味もあり
aspects of -&gt; 側面とか分野とかそんなニュアンス
call on    -&gt; 頼む(当てにする？)　(頭を)働かせる　とか言うニュアンスもあるっぽい
aquired by -&gt; 習得した　とか　獲得した　とか　そんな感じ
meet the demand of -&gt; 要求を満たす　とか

**09/12/10　編集

とりあえず自身に必要な単語帳作成から    </description>
    <dc:date>2009-12-15T01:21:02+09:00</dc:date>
    <utime>1260807662</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/takenote/pages/1.html">
    <title>トップページ</title>
    <link>https://w.atwiki.jp/takenote/pages/1.html</link>
    <description>
      **覚えてんだか忘れてんだかわからなくなってきたので
**メモ感覚で不定期に書き足していく予定(09/12/09～)
-verilogHDL(HDL関連)
-SystemC(C, C++)
-openCV
-pc or mac
-バイク
-ドラム
-色々
-英語
-あと、カメラ
-とりあえずの予定項目。CUDAも調べてみたいな　でも時間がなぁ    </description>
    <dc:date>2009-12-10T01:37:32+09:00</dc:date>
    <utime>1260376652</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/takenote/pages/19.html">
    <title>ドラム</title>
    <link>https://w.atwiki.jp/takenote/pages/19.html</link>
    <description>
      **09/12/10　編集

機材、何持ってるんだっけか
-スネア
  14x6.5 Carbonply Maple (Pearl)
  14x5.5 HiLite (Sonor)
-シンバル
  イスタンブール Crash ride ??? inch
  PAISTE splash ??? inch
-フットペダル
  DW 5000TD single chain (Twin pedal)
-その他
  SPD-S
  カホン(ARCO SW60)    </description>
    <dc:date>2009-12-10T01:09:05+09:00</dc:date>
    <utime>1260374945</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/takenote/pages/17.html">
    <title>pc or mac</title>
    <link>https://w.atwiki.jp/takenote/pages/17.html</link>
    <description>
      **09/12/10　編集

たぶん愚痴集    </description>
    <dc:date>2009-12-10T01:07:57+09:00</dc:date>
    <utime>1260374877</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/takenote/pages/20.html">
    <title>色々</title>
    <link>https://w.atwiki.jp/takenote/pages/20.html</link>
    <description>
      **09/12/10　編集

色のこととか
あとはなににしよう

そういえば、toeのCD発売日過ぎてるし
買わねば
良い曲多いといいな    </description>
    <dc:date>2009-12-10T01:04:22+09:00</dc:date>
    <utime>1260374662</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/takenote/pages/22.html">
    <title>カメラ</title>
    <link>https://w.atwiki.jp/takenote/pages/22.html</link>
    <description>
      **09/12/10　編集

Nikon D60 レンズキット
タムロンのレンズがほしい    </description>
    <dc:date>2009-12-10T00:58:57+09:00</dc:date>
    <utime>1260374337</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/takenote/pages/15.html">
    <title>SystemC(C, C++)</title>
    <link>https://w.atwiki.jp/takenote/pages/15.html</link>
    <description>
      **09/12/10　編集

とりあえず、よく忘れるとこから    </description>
    <dc:date>2009-12-10T00:55:56+09:00</dc:date>
    <utime>1260374156</utime>
  </item>
  </rdf:RDF>
