FPGA内にCPUを配置した場合、CPUからLogic内のレジスタにアクセスする時のC言語記述についてです。 CPUからレジスタにリード/ライトする場合、C言語の予約語「volatile」が重要になります。 volatileは、C言語ソースをコンパイルする時の「最適化を抑止」します。 と、よく書かれていますが、最初はピンとこなかったです。 コンパイラの最適化とは、論理合成みたいなイメージだと思っています。 冗長なものは削除したり、処理の順番を変更したりします。 ※極力プログラム量(.text領域)を小さくしようとします。 なので、論理回路エンジニア(HDL記述者)がC言語を使って組み込みソフト…