LLVM-IRの言語マニュアルと実際にLLVMが吐くコードを眺めているんだけど、CソースをFPGAするにあたって、いろいろ気付く点がある。 NEONやSSEのコードの周辺なんか見てると、「なるほどなぁ〜」ってな具合で・・・
http://llvm.org/docs/LangRef.html
進捗:ステージング処理実装(70%)
だいたい、ステージ処理を分けることが出来た。
レジスタとワイヤー分けの部分、ようするにalwaysとassignに分けたい部分はほぼ完了。 ここができれは、regとwire、alwaysとassign宣言に信号名を割り振ることができる。
今、検討しているのはステートマシンのところ。処理方針は決まっているんだけど、ここをどう表現していくか、検討している。ここの表現次第で、デバッグのやりやすさが変わってくると思う。
浮動小数点の対応は、後回しにするとしてひとまず、CソースからVerilog HDLに変換できるところまで、7月いっぱいで作りこむ予定。 その後、細かい調整をして、夏コミ前ぐらいには第一次実装完としたい。