仕様が決まった去年の8月あたりから書き始めたのでほぼ半年分だな.
bench/BENCH_ATAN2_NG.vhd | 191 ++ bench/BENCH_CAS_NG.vhd | 176 ++ bench/BENCH_CSAV_R.vhd | 133 + bench/BENCH_MASR_R.vhd | 91 + bench/BENCH_PFMA.vhd | 2215 ++++++++++++++++++++++++++ bench/BENCH_PFMA_V5DUAL.vhd | 1922 ++++++++++++++++++++++ vhdl/ABS2SR_C.vhd | 340 ++++ vhdl/ADDSR_CC.vhd | 150 + vhdl/ADDSR_RR.vhd | 244 ++ vhdl/ADDSR_UU.vhd | 262 +++ vhdl/AFIFO.vhd | 527 ++++++ vhdl/AGC_CA.vhd | 204 ++ vhdl/AGC_DC.vhd | 412 ++++ vhdl/AGC_FA.vhd | 284 +++ vhdl/AGC_STM.vhd | 524 ++++++ vhdl/ATAN2_NG.vhd | 310 +++ vhdl/CAS_NG.vhd | 324 +++ vhdl/CLTUNE.vhd | 321 +++ vhdl/CORRM_DET.vhd | 313 +++ vhdl/CORRM_DIAG.vhd | 279 +++ vhdl/CORRM_INV.vhd | 375 ++++ vhdl/CORRM_NDIAG.vhd | 301 +++ vhdl/CORRV_POST.vhd | 229 ++ vhdl/CORRV_PRE.vhd | 304 +++ vhdl/CSAV_R.vhd | 403 ++++ vhdl/DIVSR_CR.vhd | 184 ++ vhdl/DIVSR_RR.vhd | 378 ++++ vhdl/DIV_SS.vhd | 254 ++ vhdl/DIV_UU.vhd | 211 ++ vhdl/EDGE_DELAY.vhd | 163 + vhdl/EXTRACT_HT.vhd | 300 +++ vhdl/FORGET_C.vhd | 215 ++ vhdl/FORGET_U.vhd | 196 ++ vhdl/GRLB.vhd | 117 + vhdl/GTSAT.vhd | 167 + vhdl/LP_AFC.vhd | 614 +++++++ vhdl/LP_MF.vhd | 523 ++++++ vhdl/LP_STD.vhd | 448 +++++ vhdl/LT_TIMER.vhd | 170 ++ vhdl/MASR_C.vhd | 162 + vhdl/MASR_R.vhd | 395 ++++ vhdl/MASR_U.vhd | 377 ++++ vhdl/MULSR_CC.vhd | 436 +++++ vhdl/MULSR_CR.vhd | 348 ++++ vhdl/MULSR_CRCONST.vhd | 152 + vhdl/MULSR_RR.vhd | 244 ++ vhdl/MULSR_RRCONST.vhd | 239 ++ vhdl/MULSR_UU.vhd | 246 ++ vhdl/PFMA.vhd | 653 +++++++ vhdl/PFMA_AGC.vhd | 970 +++++++++++ vhdl/PFMA_CE.vhd | 1489 +++++++++++++++++ vhdl/PFMA_CORRM.vhd | 1568 ++++++++++++++++++ vhdl/PFMA_CORRV.vhd | 1338 +++++++++++++++ vhdl/PFMA_DMF.vhd | 523 ++++++ vhdl/PFMA_V5DUAL_FEBE.vhd | 1518 +++++++++++++++++ vhdl/PFMA_V5DUAL_U101.vhd | 1725 ++++++++++++++++++++ vhdl/PFMA_V5DUAL_U102.vhd | 3735 ++++++++++++++++++++++++++++++++++++++++++++ vhdl/PFMA_WCAL.vhd | 403 ++++ vhdl/PFMA_WFMA.vhd | 632 +++++++ vhdl/PWRC.vhd | 281 +++ vhdl/Pth_MEM.vhd | 159 + vhdl/ROUND.vhd | 195 ++ vhdl/RSSIC.vhd | 224 ++ vhdl/R_MEM.vhd | 145 + vhdl/Rh_MEM.vhd | 152 + vhdl/Rt_MEM.vhd | 152 + vhdl/Rth_MEM.vhd | 177 ++ vhdl/RttINV_MEM.vhd | 158 + vhdl/Rtt_DIAG_MEM.vhd | 141 + vhdl/Rtt_NDIAG_MEM.vhd | 141 + vhdl/SB_MASTER.vhd | 783 +++++++++ vhdl/SB_SLAVE.vhd | 384 ++++ vhdl/SFIFO.vhd | 306 +++ vhdl/SP_AFC.vhd | 682 ++++++++ vhdl/SP_MF.vhd | 472 +++++ vhdl/VLTUNE.vhd | 221 ++ vhdl/WCAL.vhd | 330 +++ vhdl/WFMA.vhd | 222 ++ vhdl/WSX_LFSR.vhd | 412 ++++ vhdl/W_MEM.vhd | 154 + vhdl/XDPRAM.vhd | 204 ++ vhdl/detRtt_MEM.vhd | 125 + 82 files changed, 38147 insertions(+)以前のオレオレ設計資産も流用しているが38kSLOC強,結構小さい.
今回は再帰的にブツを計算するトコロが我ながらエレガントに書けた. :DDD
当初,x[j+1] = f(x[j], ...), x[0] = const.な計算はFPGAには向かんと思ってたんだが,そうでも無かった.
それから,やっぱ逆行列は固定小数点演算だとメンドイ.
VHDL-2008でNew synthesizable fixed and floating point arithmetic packagesっつー話もあるので,この手の苦労話も過去の遺物と化して「昔は大変だったんだよ!!1」的なネタになるかもしれぬ.
今後はしばらくブツのサポート.
その後は,ボスに「ゴニョゴニョしたいなぁ」と言ったら「やりましょう」的な返事を貰ったので好き勝手出来るとオモロいのだが,巧く行くだろうか? :9