忍者ブログ
日記です.自分用のメモ代わりに書くことが多いです.
1 2 3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

 こないだde0-nano買ったけど、何が作れるだろうか。。

外部I/FがA/Dコンバータくらいしかないし。。小さいから組み込みシステム用なのかな?

de0-nano使うなら、PCとの通信をどうするか。。FTDIのUSB-UART変換モジュール(orこれ)買うかなー。

まずはちょっと古いけどde1ボード使うか。

SDカードとか読めるし、VGAもAudioも出力できるし。



後輩に借りたSTマイクロのマイコン評価キットもちょっとずつ触りたいな。

せっかく借りたのにまだ何もやれてない。。
PR
pythonでもTcl/Tkを介してGUIプログラミングできるから,

NESでも移植しよっかな?って思ったけど,とてもではないが無理っぽい.

なんか具体的なアプリ一つ作ってpythonは終わりにしようかな.

追記

そういえばTclってQuartus IIのピンセットに使うよね.



参考

PythonによるNESエミュレータ開発5
python,ruby,perl,シェルスクリプトなど.

触りだけしかやるつもりないけど

まずはpythonから.

・python-modeの導入

http://python-mode.sourceforge.net/
からダウンロードし,.emacsに記述を追加.

あとはpymacsってのがあって,emacsでpythonのコードを書くなら便利そう.

Pymacs



ちょっとしか書いてないけど,感

複文({や},begin endなど)がないのにびっくり

j = 0
for i in [1, 2, 3, 4]:
    j += i
    print j



j = 0
for i in [1, 2, 3, 4]:
    j += i
print j

で動作が違うからね.自分でインデント位置を揃える必要があってちょっとめんどくさいかも.

ちなみにインデント位置は.emacs内でpy-indent-offset変数を変更すれば調整可能.デフォは4.
#define VERSION "0.1015b" // 現在のバージョン

今日はあんまりやっていない.

こういうのは気分が乗らないと効率悪いんだよなぁ.良い時と悪い時の差が激しいっていうのか.

以下今日やったこと.

変数名がわけわかめなヤツが多すぎるので読みやすいように適宜変更.

似たような処理やってるとこを関数化してみたり.

思ったんだが,一つの大域変数を複数のファイルの中で自由にアクセス(参照・変更など)しててカオスな状態になってる希ガス.

こういうのはオブジェクト指向的に言うと,カプセル化?して関数呼んだらそれに対応した処理やって結果を返す,って感じにしたほうがいいよな.

よし,後でやろう☆

あと,SystemVerilogの説明をWikipediaで読んだけど,SystemVerilogすげーな!

列挙データ型(enum)とか構造体,共用体が使えるばかりかオブジェクト指向までサポートしてるとは!

処理系作るほうは大変そうだがw

SFLもこっち方面の拡張やってみるか.

名前はSystemSFL!ちょっとかっこいいかもwww
#define VERSION "0.1015a" // 現在のバージョン

とりあえず数多くdefineで宣言してある定数群をenumを用いて整理することで,

コンパイラの型チェック機能を利用するように変更.これはつまりこういう事↓.

int main()
{
enum { OFF = 0, ON = 1 } hoge;

hoge = 1;

return 0;
}

としたとき,コンパイラにhoge = 1;の部分で

「intを型~~(この場合は無名enum)に変換できません」って言われる.

キャストすればおkだけど.その場合はenumに名前が必要で
enum aho { OFF = 0, ON = 1 } hoge;
hoge = (enum aho)1;
みたいな感じで書けばいい.

enumにはtypdefも利用できるからこれを使えばさらに便利.

補足:enumの中では値の指定もできるが(OFF = 0みたいに),これは省略しても大丈夫.

省略した場合は順に0, 1, 2, …となる.俺はなんか気持ち悪いからいつも明示的に指定してるけど.

enumは複数のdefineを同時に宣言してるようなものだから使えばけっこう便利.(行数削減にもなる)



追記

enum型の変数は基本int型だが,ANDやORなどのビット演算をした場合,強制的にint型と見なされるようだ.

というか,元々Cの仕様がそうだったような気がする.

type |= INPUT;

とするとエラーが出たが,

type = (TYPE)(type | INPUT);

とすると通った.ちょっとめんどくさいがこのくらいは我慢するしかないか.
プロフィール
HN:
まさぽん
性別:
男性
職業:
会社員
最新記事
(08/22)
(08/16)
(08/08)
(08/01)
(07/30)
カウンター
ブログ内検索
最新コメント
[03/18 ひぐ]
[03/10 まさぽん]
[03/09 ボンボ-ン]
[03/07 まさぽん]
[03/07 まさぽん]
クリック募金
なかのひと
アクセス解析
忍者ブログ [PR]
HOME NEXT≫