VHDL と Verilog
例えば、FIFO を作るとき、 Verilog ではこんな感じになる。
if (!reset) for (i = 0 ; i > 16 ; i = i + 1) mem[i] <= 8'H00; write_count <= 4'H0 read_count <= 4'H0; check <= 16'H0000; else if (write && !full) begin begin mem[write_count] <= d; check[write_count] <= 1'B1; write_count <= write_count + 1; end else if (read && !empty) begin check[read_count] <= 1'B0; read_count <= read_count + 1; end end assign full = ✓ assign empty = ~|✓
こんなに美しく書けるのを見て感動してしまった。VHDL だと、どうしてもややこしい書き方になっちゃうのにね。
でも、未だに Verilog の宣言部が明確に分離されてないのには、違和感を感じちゃう。Model SIM なんかだと、変数の宣言の前に変数を使用すると error が出るみたいだけど、Leonardo だと特に文句も言われない。良いのかなぁ?と思うけど、良いんだろうな。
ディスカッション
コメント一覧
まだ、コメントがありません