http://verilog.blog.shinobi.jp/impulsec/impulsec-codeveloper%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B%20-7-ImpulseC/CoDeveloperを使ってみる (7)
『【実践】C言語による組込みプログラミングスタートブック』の続きを読んでいます。
6章の24時間時計のCソースはザイリンクス用のオプションをつけないと合成できないそうで、
Cyclone Iiスターターキットでは動かすのに手直しが必要そうなので、読むだけにしています。
興味のある部分は、186ページに書かれている「どのようなメカニズムでCのソースからハード
ウェアに合成しているか」です。
他の動作合成ツールはどうか分かりませんが、CoDevelopeでは
Block化と
Stage化という
2つの概念が大切になります。
Block化とは、Cのソースを制御文と制御文の間で分割することです。
C言語のソースをパースし、制御文ごとに最適化単位に設定しています。
Stage化とはBlock化で決めた最適化単位を最小のクロックで処理できるように最適化する
ことです。
1クロックでの処理対象がStageということになります。
動作合成での最適化の手順は、CoDeveloperのヘルプにでも書いてあるんでしょうか?
とても興味があるところなので、この本の6章を読み終えたら探してみようと思います。
[0回]
PR