Sim's blog

電子工作はじめてみました

トラ技12月号

2008-11-11 23:55:24 | FPGA
今月号の特集は「作りながら学ぶマイクロコンピュータ」ということで、ALTERAのCPLD上でPIC12F508を実現してしまうという企画です。xilinx派の私としては、ALTERAには手を出さんとか思っていたのですが、おもしろそうなので、ついついボードを買ってしまいました(共同購入の世話役をされたhamayanさん、ありがとうございます)。とか言いつつ、以前1chip MSXを買っていたので2台目です。

運の悪いことに、ちょうどALTERAが論理合成ツールQuartusのバージョンをあげたばかりなので、誌面で説明しているのと多少食い違いができています。新しい8.1では、8.0以前に必要だったライセンスファイルが不要になっています。

RTLはトラ技のページからダウンロードできます。プロジェクトごと入っているので、適当なフォルダーにコピーするだけで合成したり、ダウンロードしたりできます。まだ全部試したわけじゃないですが、モノによって7.0のプロジェクトだったり、8.0のプロジェクトだったりとバージョンの違うプロジェクトが混ざっています。7.0のものは互換性がないらしく、変換するというダイアログがでます。

Releaseというフォルダーにはいっているプロジェクトは7.0のものです。508Emu.map.summaryというファイルを覗いてみるとLEの数は1023になっています。8.1で論理合成しなおすと1070と47LEだけ増えています。

いつものVeritakでシミュレーションしてみました。ModelSimというフォルダーにはいっているのが、シミュレーション用で、MAXII固有の機能を使っていません。テストベンチもはいっています(tb_M508Emu.v)。

一箇所だけエラーが出ました。508Emu.vの47行の
mTimer0 tmr0(reset,fosc,Q,opt[3:0],wr_tmr,db_out,tim_out);
です。ポート数が一致しませんというエラーです。一つ足りないみたいなので、最後に「,」をつけてエラーを取りました。
mTimer0 tmr0(reset,fosc,Q,opt[3:0],wr_tmr,db_out,tim_out,);
修正後はtim_outの後に「,」がついています。出力ポートに何も書かないと単に出力先がなくなるだけです。ModelSimではエラーにならないのでしょうか?

きれいに1クロック1命令になっていて清清しいです。

とりあえず書いてみたLEDチカチカです(<が全角になってます)。
//`defaultnettype none
module main(
    output reg [7:0] led = 8'h00,
    input clk);

    reg [20:0] ctr = 0;

    wire ctr_en = ctr == 0;

    always @(posedge clk)
        ctr <= ctr + 21'h1;

    always @(posedge clk)
        if(ctr_en) led <= led + 8'h1;

endmodule

Quartusって、`defaultnettypeが書けないのでしょうか。エラーが出ます。

11/28追記 エラーが出て当たり前です。正しくは`default_nettypeです。間に「_」が入ります。

やってみたいのは、Xilinx系への移植です。といってもVeritakでシミュレーションできたから、余裕でできそうです。

やっぱり、Verilog好きです。

来月号の特集は「ディジ/アナ混載IC活用研究」というタイトルで、PSoCの特集です。
500kHzサンプリングUSBオシロスコープの製作というのもおもしろそうです。最大8個のAVRを2μsずつずらして動作させる、と書いてあります。

って、CPLDの記事以外、全然見てません。
- PSpice活用ワンランク・アップ!が最終回です。
- 後閑さんのMP3プレーヤ作成記事が出てます。VS1011eを使っています。

昨日、トラ技を買ってきたのに、遊ぶのに手一杯で、書くのは今日になってしまいまた。

Fの日

2008-11-11 23:17:04 | その他
今日、11/11はFの日です(1111は16進でFというオチです)。

ちなみに10進と2進のどちらでも読める日は9日あって

0101
0110
0111
1001
1010
1011
1101
1110
1111

になります。


こんなことを考えているのは自分だけかと思っていたら、他の方も考えておられたようです。
11月11日はバイナリデー、スラッシュドットで謎の祝賀メッセージが多数掲載