進藤/ARRAY PROJECT
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
//研究室限定
[[PROGRAPEによる科学計算]]
*ARRAY PROJECT〜進藤 佐藤(由) 小原 前田(仮?) [#w174b2b2]
-各自自由に編集してください。
**お知らせ [#q9b7f3b0]
締切は6/13です。~
11,12,13日中、由香さんはいません。~
12日は進藤がいません。~
13日は小原がいません。~
つまり、11日までに終わらせます。~
お楽しみに~
**チームの目標 [#u93a553a]
-マトリックス演算を高速に動作させるアレイプロセッサの開発。
**指針 [#a968b020]
-チームとしての研究活動、向上
--…何を書いていいのやら…
-今後進みそうな方向
--a) 2Dでアンロールするときの式を立てつつ、実験を進める。
--b) FPGAではなく、ASICで設計して実験したり。
--c) FPGAで効率よく実装するには、っていう結論に持っていく
**仕様 [#s8cbdb72]
-
**やることリスト [#mc3deda1]
-PEを詰め込んだ時の性能はどうなる?
(外からシリアライズして入れる。)
-テストベンチ実行時のPower estimation(パワー消費量)
--もしくは行列を4x4に拡張
***進藤 [#mf62e7b4]
-アレイ配線及びIOモジュール周辺の作成
--今日中か、明日午前にはFin...
-後、オバマに合流、最適化をかけ始める(予定)
***佐藤(由) [#z8f85376]
-
***小原 [#t58d208c]
-
***前田 [#j89a8e6c]
-
**現状 [#k5fe467b]
***6月10日の現状まとめ。~ [#ad0c1f87]
Matrix ALU~
PE単体での結果。
DSPの数: 16~
LUTの数: 724~
速度: fmax:298MHz restrict:295MHz~
data bit width: 16x4=64~
ALUの中では2x2のマトリクス乗算を行う回路
~
高速クロック~
PE2x2での結果。~
ALUの中は、3段パイプライン乗算器と積を行う回路~
(乗算器が3段パイプラインな他にパイプラインレジスタが2段あるので~
全体として5段パイプラインのALUです。)~
DSPの数: 8~
LUTの数: 704~
速度: fmax:538MHz restrict:500MHz~
data bit width: 16~
~
注意事項:critical warning (タイミング系)~
~
***6月14日の現状まとめ。~ [#ad0c1f87]
Matrix ALU~
8x8配列の結果(配線直したver. 6/15)
Family:Stratix III~
Device:EP3SE110F152C4L(DSP数考慮)~
DSPの数: 512(57%)~
LUTの数: 39703(47%)~
速度: fmax:107.93MHz(no tuning)~
data bit width: 16x4=64~
ALUの中では2x2のマトリクス乗算を行う回路~
~
考えられる可能性:~
9x9は入らない(配線量概算から)~
シフトレジスタ周辺、最適化がかかっているかも?~
shift のセレクタが論理を動かさない、という警告が出ている。~
また適当な値を加算してごまかしてやらねばならないのか…?~
***イメージ画像 [#e384a686]
-HighSpeedClockPart1
#ref(http://zxp044.u-aizu.ac.jp/aslwiki/index.php?plugin=attach&pcmd=open&file=HSClockPart1.JPG&refer=%BF%CA%C6%A3%2FARRAY%20PROJECT)
-HSClockPart2
#ref(http://zxp044.u-aizu.ac.jp/aslwiki/index.php?plugin=attach&pcmd=open&file=HSClockPart2.JPG&refer=%BF%CA%C6%A3%2FARRAY%20PROJECT)
-MatArray
#ref(http://zxp044.u-aizu.ac.jp/aslwiki/index.php?plugin=attach&pcmd=open&file=MatArray.JPG&refer=%BF%CA%C6%A3%2FARRAY%20PROJECT)
***進藤 [#e0dc3aab]
-PEを2x2で並べた配線(IO含む)終了
--とりあえずただ並べただけ正確には、シフトレジスタが不完全のため、終了ではない。
--インプットレジスタの記述が悪いのか、最適化のせいなのか。
Fmax 114Mhz~
LUT ~
DSP 32~
~
一番大きいデバイスに入れるとすると、どうやら10x10は入る様子。~
あとは前田君のスクリプトを信じて、82本自力で配線するだけ。~
シフトレジスタは…記述が悪いのか何なのか、本当に悔しい…。~
単体で合成させるとLUT 1 という謎の合成結果。~
…間に合うのだろうか。とりあえず今日は光速(!?)に乗って帰ってきます。~
~
-というわけで戻ってくる。
--小原のシミュレーションの続きをやろうとするがmfを呼び出してくれない。
--mf(fma)さえ動けば動作はするらしいので、後回しにすることにする。
--小原さんへ。せめてreadmeファイルだけは完成させてほしかったwww
~
-10x10に挑む
--配線リソースが足りず撃沈。
~
-配線の見積もりを出して、8x8に挑む。
--恐らく足りている。
--まだ途中。
--こまごました配線ミスの確認、最適化されすぎた部分の確認が必要。
--早く終われ―。
--自信なのか眩暈なのかわからなかった。
--言語処理系にバグが出始める。
--結局付焼刃的な感じが否めない。
--自分の知識のなさと情けなさに失望。
~
-8x8終了
--予想通り入りきった。ほぼ計算通りのリソース(48%使用)使用
--もし学校を出なければならない場合、いかにREADMEを置いておきます。
--\\Zxw007\public\matarray\mat_array@080614_8x8array(まだないよ)
--もしなんかあれば、夜に戻ってきますので、学籍番号にメールください。
~
-必死の抵抗も空しく、多数の配線ミス確認。
--何とか修正。再び論理合成。
--神よ…俺を祝福しろ!と心の中で念じてstart をクリックする。
~
-計算スピード比較
--単体PE19x19 vs 2x2MATALU 8x8
--最小公倍数N=304で計算開始
--前者 389.12x10^-6(sec)←合成終わってないけど、200MHzとして計算
--後者 512.82243x10^-6(sec) 107MHz(0.9v)
---MATALUが単体を追い抜くためには、最低141MHz以上必要
---どこに原因があるのか…PEのレジスタ?=>PEのOUTに一枚かませる
---…OUTPUT用シフトレジスタ??…そんな気がしてきた…。
---MAT_FMAの筋も怪しくなってきた。。。。どこも怪しく見える(´・ω・`)
~
***佐藤(由) [#l2a7847c]
- (元)高速クロック行列演算機担当
|時|やったこと|結果の回路|佐藤(由)|
|2008/06/25:0am|●POD: A Parallel-On-Die Architectureを読む。|回路なんてないよ!!!!|明日、最後の就活で東京へ飛びます。&br;今日も・・て・・・・哲哉・・・?|
|2008/06/13:3am|●NxNのPEとI/O_ifを自動生成するスクリプトの作成&br;(ス!スパゲッティーだぁぁ!人に見せられるようにしなきゃ。)&br;●10x10のPEを作成、DeviceをEP3SE260に変更して合成。&br;|PE10x10&br;Fmax: 258MHz Restricted Fmax: 258MHz&br;ALUTs: 13,777, DSP 200&br;PE2x2でEP3SE260だと335MHzくらい。|この大学好き。&br;|
|2008/06/11:0am|●PE2x2をQuartusII ver8.0で合成をかけてもらう|PE2x2&br; Fmax:538MHz Restricted Fmax:500MHz&br;By QuartusII ver8.0により。|一人雷が起きる人は飛蚊症の恐れあり。&br;帰宅。|
|2008/06/10:11am|●2x2のPEを手で作成。&br;学部生のときの記憶がよみがえる。&br;|PE2x2&br;Fmax: 509MHz, Restricted Fmax: 375MHz&br;おそらく近隣PEとの接続のスイッチのところがクリティカル?&br;レジスタかませてみようかな、というとこです。|眠い。溶けるかもしれない。|
|2008/06/10:10am|●PEの作成。&br;●DeviceはEP3SE50、1.1Vで合成。&br;|PE単体&br;Fmax: 552MHz, Restricted Fmax: 375MHz&br;・・・こげに早くなると、なんか不安。&br;同じEバージョンで1.1Vデバイスでも、&br;EP3SE50とEP3SE220ではだいぶ性能が変わります。&br;EP3SE50のほうが、早い。|ふつう|
|2008/06/09:6am|●ALUだけで実験。&br;●DeviceをEP3SE50に変更、Voltageを1.1Vに変更。&br;|ALU単体&br;Fmax: 552 MHz, Restricted Fmax: 480 MHz&br;すいません、550MHz越したってことは少し怪しい?|ふつう|
|2006/06/09:6pm|●3段パイプラインの乗算器を使ってPEを作成。&br;●DeviceはEP3SE260&br;|PE単体&br;335MHz.&br;クリティカルパスはDSPの中。ん?&br;何で?最高550MHzで動くってあなた言ったじゃない!&br;もうちょいいけるハズ。と格闘中。|臭くなくなる。|
-これ面白くっていろいろ更新してます。~
頑張ろうー!オー。
以上~
***小原 [#e2081d1f]
シフトレジスタ2通りくらい殺ってみる。~
( Y:\matarray\shiftreg\shift_in_oba ) ~
(参考:デジタル集積回路の設計と詩作 49ぺーじ)~
3ステートバッファがたくさん並んでカッコイぃ・・・~
じゃなくて、レジスタ数260くらいで (fmax 1579 restrict 500)~
ALUTは0。~
~
-メガハンクショウン以外の部分が確実に動いているのを確認した。~
fmax 125Mhz(低い)~
ALUT 654~
reg 102 ~
pin 312 ~
DSP 16~
今考えられること。~
--megafunction qts2ver7.2 とmegafunction qts2ver8.0で互換性があるのか?~
--megafunctionはゲートレベルでないとしみゅできない?(RTLではだめ?)~
--一度qts2ver8.0で作り直してみればいいのだろうか?~
~
modelsimにてシミュレーションを行い、ALU内の乗算回路が動いてない。~
最新のモジュールに入れ替えれば動くかもしれないので試すこと。~
メガファンクションのシミュレーションの仕方を確認しなければならない。~
最悪の場合、簡易的な乗算演算子で代用か。~
ずっと頭の中で悲鳴が聞こえている。本当にごめんなさい。。~
~
-warning:を修正して安全性を向上させたい。
思っていた以上にひどかった。~
が、~
-現状ではPE単体で0.9vデバイスで約213MHz、1.1vで約244MHz。
--最適化技術をbalanceにすればautoのチェックはつけてもつけずとも~
約268MHz(1.1v)で動作。
FPGA開発テクニック、チューニングの心得(自分用メモ)~
http://monoist.atmarkit.co.jp/fembedded/index/fpgatuning.html
***前田 [#o0a7346d]
**締め切り [#uaeafb55]
6月11日に終了が理想的。~
**[[進藤/ARRAY TEAM提案掲示板]] [#h000abb0]
終了行:
//研究室限定
[[PROGRAPEによる科学計算]]
*ARRAY PROJECT〜進藤 佐藤(由) 小原 前田(仮?) [#w174b2b2]
-各自自由に編集してください。
**お知らせ [#q9b7f3b0]
締切は6/13です。~
11,12,13日中、由香さんはいません。~
12日は進藤がいません。~
13日は小原がいません。~
つまり、11日までに終わらせます。~
お楽しみに~
**チームの目標 [#u93a553a]
-マトリックス演算を高速に動作させるアレイプロセッサの開発。
**指針 [#a968b020]
-チームとしての研究活動、向上
--…何を書いていいのやら…
-今後進みそうな方向
--a) 2Dでアンロールするときの式を立てつつ、実験を進める。
--b) FPGAではなく、ASICで設計して実験したり。
--c) FPGAで効率よく実装するには、っていう結論に持っていく
**仕様 [#s8cbdb72]
-
**やることリスト [#mc3deda1]
-PEを詰め込んだ時の性能はどうなる?
(外からシリアライズして入れる。)
-テストベンチ実行時のPower estimation(パワー消費量)
--もしくは行列を4x4に拡張
***進藤 [#mf62e7b4]
-アレイ配線及びIOモジュール周辺の作成
--今日中か、明日午前にはFin...
-後、オバマに合流、最適化をかけ始める(予定)
***佐藤(由) [#z8f85376]
-
***小原 [#t58d208c]
-
***前田 [#j89a8e6c]
-
**現状 [#k5fe467b]
***6月10日の現状まとめ。~ [#ad0c1f87]
Matrix ALU~
PE単体での結果。
DSPの数: 16~
LUTの数: 724~
速度: fmax:298MHz restrict:295MHz~
data bit width: 16x4=64~
ALUの中では2x2のマトリクス乗算を行う回路
~
高速クロック~
PE2x2での結果。~
ALUの中は、3段パイプライン乗算器と積を行う回路~
(乗算器が3段パイプラインな他にパイプラインレジスタが2段あるので~
全体として5段パイプラインのALUです。)~
DSPの数: 8~
LUTの数: 704~
速度: fmax:538MHz restrict:500MHz~
data bit width: 16~
~
注意事項:critical warning (タイミング系)~
~
***6月14日の現状まとめ。~ [#ad0c1f87]
Matrix ALU~
8x8配列の結果(配線直したver. 6/15)
Family:Stratix III~
Device:EP3SE110F152C4L(DSP数考慮)~
DSPの数: 512(57%)~
LUTの数: 39703(47%)~
速度: fmax:107.93MHz(no tuning)~
data bit width: 16x4=64~
ALUの中では2x2のマトリクス乗算を行う回路~
~
考えられる可能性:~
9x9は入らない(配線量概算から)~
シフトレジスタ周辺、最適化がかかっているかも?~
shift のセレクタが論理を動かさない、という警告が出ている。~
また適当な値を加算してごまかしてやらねばならないのか…?~
***イメージ画像 [#e384a686]
-HighSpeedClockPart1
#ref(http://zxp044.u-aizu.ac.jp/aslwiki/index.php?plugin=attach&pcmd=open&file=HSClockPart1.JPG&refer=%BF%CA%C6%A3%2FARRAY%20PROJECT)
-HSClockPart2
#ref(http://zxp044.u-aizu.ac.jp/aslwiki/index.php?plugin=attach&pcmd=open&file=HSClockPart2.JPG&refer=%BF%CA%C6%A3%2FARRAY%20PROJECT)
-MatArray
#ref(http://zxp044.u-aizu.ac.jp/aslwiki/index.php?plugin=attach&pcmd=open&file=MatArray.JPG&refer=%BF%CA%C6%A3%2FARRAY%20PROJECT)
***進藤 [#e0dc3aab]
-PEを2x2で並べた配線(IO含む)終了
--とりあえずただ並べただけ正確には、シフトレジスタが不完全のため、終了ではない。
--インプットレジスタの記述が悪いのか、最適化のせいなのか。
Fmax 114Mhz~
LUT ~
DSP 32~
~
一番大きいデバイスに入れるとすると、どうやら10x10は入る様子。~
あとは前田君のスクリプトを信じて、82本自力で配線するだけ。~
シフトレジスタは…記述が悪いのか何なのか、本当に悔しい…。~
単体で合成させるとLUT 1 という謎の合成結果。~
…間に合うのだろうか。とりあえず今日は光速(!?)に乗って帰ってきます。~
~
-というわけで戻ってくる。
--小原のシミュレーションの続きをやろうとするがmfを呼び出してくれない。
--mf(fma)さえ動けば動作はするらしいので、後回しにすることにする。
--小原さんへ。せめてreadmeファイルだけは完成させてほしかったwww
~
-10x10に挑む
--配線リソースが足りず撃沈。
~
-配線の見積もりを出して、8x8に挑む。
--恐らく足りている。
--まだ途中。
--こまごました配線ミスの確認、最適化されすぎた部分の確認が必要。
--早く終われ―。
--自信なのか眩暈なのかわからなかった。
--言語処理系にバグが出始める。
--結局付焼刃的な感じが否めない。
--自分の知識のなさと情けなさに失望。
~
-8x8終了
--予想通り入りきった。ほぼ計算通りのリソース(48%使用)使用
--もし学校を出なければならない場合、いかにREADMEを置いておきます。
--\\Zxw007\public\matarray\mat_array@080614_8x8array(まだないよ)
--もしなんかあれば、夜に戻ってきますので、学籍番号にメールください。
~
-必死の抵抗も空しく、多数の配線ミス確認。
--何とか修正。再び論理合成。
--神よ…俺を祝福しろ!と心の中で念じてstart をクリックする。
~
-計算スピード比較
--単体PE19x19 vs 2x2MATALU 8x8
--最小公倍数N=304で計算開始
--前者 389.12x10^-6(sec)←合成終わってないけど、200MHzとして計算
--後者 512.82243x10^-6(sec) 107MHz(0.9v)
---MATALUが単体を追い抜くためには、最低141MHz以上必要
---どこに原因があるのか…PEのレジスタ?=>PEのOUTに一枚かませる
---…OUTPUT用シフトレジスタ??…そんな気がしてきた…。
---MAT_FMAの筋も怪しくなってきた。。。。どこも怪しく見える(´・ω・`)
~
***佐藤(由) [#l2a7847c]
- (元)高速クロック行列演算機担当
|時|やったこと|結果の回路|佐藤(由)|
|2008/06/25:0am|●POD: A Parallel-On-Die Architectureを読む。|回路なんてないよ!!!!|明日、最後の就活で東京へ飛びます。&br;今日も・・て・・・・哲哉・・・?|
|2008/06/13:3am|●NxNのPEとI/O_ifを自動生成するスクリプトの作成&br;(ス!スパゲッティーだぁぁ!人に見せられるようにしなきゃ。)&br;●10x10のPEを作成、DeviceをEP3SE260に変更して合成。&br;|PE10x10&br;Fmax: 258MHz Restricted Fmax: 258MHz&br;ALUTs: 13,777, DSP 200&br;PE2x2でEP3SE260だと335MHzくらい。|この大学好き。&br;|
|2008/06/11:0am|●PE2x2をQuartusII ver8.0で合成をかけてもらう|PE2x2&br; Fmax:538MHz Restricted Fmax:500MHz&br;By QuartusII ver8.0により。|一人雷が起きる人は飛蚊症の恐れあり。&br;帰宅。|
|2008/06/10:11am|●2x2のPEを手で作成。&br;学部生のときの記憶がよみがえる。&br;|PE2x2&br;Fmax: 509MHz, Restricted Fmax: 375MHz&br;おそらく近隣PEとの接続のスイッチのところがクリティカル?&br;レジスタかませてみようかな、というとこです。|眠い。溶けるかもしれない。|
|2008/06/10:10am|●PEの作成。&br;●DeviceはEP3SE50、1.1Vで合成。&br;|PE単体&br;Fmax: 552MHz, Restricted Fmax: 375MHz&br;・・・こげに早くなると、なんか不安。&br;同じEバージョンで1.1Vデバイスでも、&br;EP3SE50とEP3SE220ではだいぶ性能が変わります。&br;EP3SE50のほうが、早い。|ふつう|
|2008/06/09:6am|●ALUだけで実験。&br;●DeviceをEP3SE50に変更、Voltageを1.1Vに変更。&br;|ALU単体&br;Fmax: 552 MHz, Restricted Fmax: 480 MHz&br;すいません、550MHz越したってことは少し怪しい?|ふつう|
|2006/06/09:6pm|●3段パイプラインの乗算器を使ってPEを作成。&br;●DeviceはEP3SE260&br;|PE単体&br;335MHz.&br;クリティカルパスはDSPの中。ん?&br;何で?最高550MHzで動くってあなた言ったじゃない!&br;もうちょいいけるハズ。と格闘中。|臭くなくなる。|
-これ面白くっていろいろ更新してます。~
頑張ろうー!オー。
以上~
***小原 [#e2081d1f]
シフトレジスタ2通りくらい殺ってみる。~
( Y:\matarray\shiftreg\shift_in_oba ) ~
(参考:デジタル集積回路の設計と詩作 49ぺーじ)~
3ステートバッファがたくさん並んでカッコイぃ・・・~
じゃなくて、レジスタ数260くらいで (fmax 1579 restrict 500)~
ALUTは0。~
~
-メガハンクショウン以外の部分が確実に動いているのを確認した。~
fmax 125Mhz(低い)~
ALUT 654~
reg 102 ~
pin 312 ~
DSP 16~
今考えられること。~
--megafunction qts2ver7.2 とmegafunction qts2ver8.0で互換性があるのか?~
--megafunctionはゲートレベルでないとしみゅできない?(RTLではだめ?)~
--一度qts2ver8.0で作り直してみればいいのだろうか?~
~
modelsimにてシミュレーションを行い、ALU内の乗算回路が動いてない。~
最新のモジュールに入れ替えれば動くかもしれないので試すこと。~
メガファンクションのシミュレーションの仕方を確認しなければならない。~
最悪の場合、簡易的な乗算演算子で代用か。~
ずっと頭の中で悲鳴が聞こえている。本当にごめんなさい。。~
~
-warning:を修正して安全性を向上させたい。
思っていた以上にひどかった。~
が、~
-現状ではPE単体で0.9vデバイスで約213MHz、1.1vで約244MHz。
--最適化技術をbalanceにすればautoのチェックはつけてもつけずとも~
約268MHz(1.1v)で動作。
FPGA開発テクニック、チューニングの心得(自分用メモ)~
http://monoist.atmarkit.co.jp/fembedded/index/fpgatuning.html
***前田 [#o0a7346d]
**締め切り [#uaeafb55]
6月11日に終了が理想的。~
**[[進藤/ARRAY TEAM提案掲示板]] [#h000abb0]
ページ名: