VHDLの記述がトリッキーだったりすると、Vivadoなどの論理合成ツールでうまく合成されないことがあります。特にROMやRAMの記述を間違えると、回路規模が爆発的に増え、FPGAに入りきらなくなるので注意が必要です。
●悪い記述例(ROM)
リスト4-04は前章までのROMの記述です。1層目の重み行列は784行あるのでROMDATA(0〜783)まで初期化しています。
しかしこの記述でVivadoで論理合成するとROMには割り当てられません。LUTに割り当てられ、DF/Fとマルチプレクサのお化けのような回路になってしまいました。
また、CS_Nが1のときにDATAを全ビット0にする記述がありますが、この部分はなくても動作します。 |