1read 100read
2013年05月電気・電子158: 【EP3】DE0で始めるVerilog HDL【C16】 (222) TOP カテ一覧 スレ一覧 2ch元 削除依頼
高周波電源 (208)
電波時計-JJYについてあれこれ語るスレ (302)
LEDでこんなもの作ってみた (320)
水晶振動子&水晶発振器を鋭く語るスレ 3 (711)
工具総合スレッド2 (271)
PIC専用のスレ Part44 (266)

【EP3】DE0で始めるVerilog HDL【C16】


1 :2011/07/11 〜 最終レス :2013/04/19

CQ出版から2011年7月22日に発売された書籍と、
ALTERA FPGAの載ったボード「DE0」について語るスレです。
ハードウェア記述言語HDLの学習はとにかく使ってみることが大切です。
HDLの初心者,HDL解説書を読んだが思うように理解が進まなかった人、
何かというとスグに「米国本社の英語マニュアル嫁!」で困っているFPGAソフト屋さん、
組み込みマイコンをやってみたいけど、家事と育児に追われて時間のない人、
新型デバイスが発表されても、ちっとも出回らなくて辟易している人、
VHDLはなんでソースがあんなに長いんだ?と思っている人、
渦子ちゃんを触ってみたいチェリーな人、
みんな み〜んな大集合! 楽しく情報交換して、DE0でいろんなもの作りましょう。
  さぁキミも、レッツ F・P・G・A〜ぇぃ !!
CQ出版 DE0の本のページ
http://shop.cqpub.co.jp/hanbai/books/I/I000030.htm
DE0のメーカーのページ
http://www.terasic.com.tw/en/
ソリトンウェーブ
http://solitonwave.shop-pro.jp/?mode=cate&cbid=547287&csid=0
DigiKey
http://www.digikey.jp/
アルテラ
http://www.altera.co.jp/

2 :

 もしかして
   俺って、 2ゲット?

3 :
おぉ、丁度触り始めた所です。
色々教えて欲しいっすw
ときに、スケマしたののシンボル吐かせようとすっとファイル生成に失敗するのウチだけ?

4 :
もう少し詳しく教えて!

5 :
回路図を入力してbdfファイルを作成ののち、bsfファイルを作りたいので
File→Create/Update→Create Symbol Files for Current File
で、"Can't open read-onry file C:/Proj/xxx.bsf" って出て何もしない。
試しに、xxx.bsfのファイルを先に作っておいて上書きすると成功します。
Win7の問題だろうか?

6 :
DE0、アカデミックでソリトンから買ってしまったわ
CQのアカデミックのほうが別々に買うよりお買い得だったな・・・

7 :
でも、CQで両方買うと、結構な金額になりそうだね

8 :
今週末発売なのに、書き込み増えないね。
人気ないのかな?

9 :
verilogで
reg [3:0]count;
always@(posedge clk)begin
count <= count+1;
end
assign led = (count==4'b10x0); ←不定のxって使えないんですかね? bit1を無視したいんですが
コンパイルは通るけどRTL VIEWERで見ると何も無いので、
完全に無視されてるんですが。

10 :
スレ分散させてどうすんだろうと思いつつ。
>9
count のbit1 が不定 ... つまり 0 だか 1 だか分からない時 (0 でも 1 でも良いという意味ではない)
に "==" が成立する、という動作になってんだろ。無視はされてない。
実機では 0 だか 1 だか分からないってことはないから "==" が成立することはなく、
assign 文ごと消えると。

11 :
そうでしたか、助かりました。ありがとうございます。

12 :
>>10
横からすみません。教えてください。
>0 だか 1 だか分からない時 (0 でも 1 でも良いという意味ではない)
これは、どういう事なのでしょうか?
xだと「1でも成立、2でも成立」ということでは無いんでしょうか?

13 :
Digikeyのが届いたけど、いい匂いだな
書籍5kはちと高い・・・。PDF版単体で売ってほしいわ。

14 :
>12
x が「0 でも 1 でもオケ」になるのは caR 文の時だけ。


15 :
>>14
ありがとうございました。そうなんですか。
xをドンとケアは使えるところと使えないところがあるんですね。
ありがとうございました。
STARCの本を買って勉強します。
ありがとうございました。


16 :
なるほど、なるほど

17 :
>ドンとケア
ワロリン

18 :
CQからDE0+CD-ROM買うのと、デジキーからDE0だけ買うのとでは、
どっちがおいしいでしょうか。

19 :
いよいよ明日ですね

20 :
VHDLだったら即買いするんだけど、VerilogみたいなのでNIOS IIの記事を読んで考える。

21 :
5kの価値あるのかな

22 :
>>20
自分もVHDLなら即買いだったかな。NiosII部分の記事を読んで決めようと思ってる。

23 :
HDLを始めようと考えているのですが、VHDLはそんなにいいんですか?
たまたま仕事でやっているから、慣れてるというだけではないのですか?
記述量は多いし。

24 :
テストベンチ使いこなしたいならVerilog
VHDLは下位モジュールの信号を引っ張り出すのが面倒

25 :
ありがとうございます
そうするとますますVerilogが良いように思えます。

26 :
QuartusIIって両エッジを受ける記述通らんのですかね?
always@(posedge hoge or negedge hoge) みたいなの

27 :
むしろそういうことができるFPGAってあるっけ?
ないならQuartusIIでも無理なのは自明
シミュレーションなら可能だろうけど

28 :
やっぱりceのflipflopがどちらか片方っぽいので構造的に無理そうですね、
高周波か遅延回路使ってエッジ検出するしかないですか・・・

29 :
5,000円もするのか〜初学者には高く感じるだろうな

30 :
森氏には不評っぽ
http://twitter.com/#!/hmori/status/94388772225024000

31 :
>>24
そんなことしているの?
ModelSimのマニュアルを読めば幸せなのに。
>>23
> 記述量は多いし。
Verilog派の人はそれを良く言うね。
でもVHDLはAdaに由来し、その言語仕様は大規模プロジェクトでバグを作り込まないための、長年の言語工学の研究の成果によるもの。
系譜としてはAlgol→Algol68→Ada→VHDLだけど、AdaはN.Wirth教授の功績が大であると指摘しておく。
Algol68からブランチした中に、N.Wirth教授による実験的言語Modulaがあるが、これはモジュール構造を仕様に持ち込んだもの。
モジュール構造とは、上位から下位までを階層を成し、名前空間のスコープを制限するもの。
これにより、大規模プロジェクトで知らぬ間に他人が作った同名の関数名とか、変数にリンクするのを防ぐ事が出来る。
知らない間にリンクしてしまうと、それを見つけるのは厄介だからね。
VHDLの記述量は多いのは、ここら辺に由来する。
その分、コンパイラさえ通ってしまえば、残るは論理的バグのみ。
Verilogと違い、その安全面とデバッグしやすさは、記述するだけで得られる面は大きい。
実際、Verilogはその後SystemVerilogが作られたが、SystemVHDLは作られていない。
これは元々VHDLがSystemVerilogの改良点を含んでおり、作る必要がないため。
それだけ言語仕様としては先進だったのさ。

32 :
ちなみに、
> 知らない間にリンクしてしまうと、それを見つけるのは厄介だからね。
この保護機構が無いVerilogは、
>>24
> テストベンチ使いこなしたいならVerilog
な荒技が出来てしまう。怖い怖い。

33 :
なんでそんなにVHDLに詳しいのか知らないが
ModelSimでもVerilogの$readmemhとか$writememhとかみたいな便利なものは無い
まあ大規模なものがVerilogで記述されてる実績を見ても
そんなに心配することでもなかろうに

34 :
std_logic_vectorとか、いろいろ長くてイヤw

35 :
          _______
        /\ ⌒ヽ≡≡≡≡\
       / ((   |A D A|;;;;;∵. ... \ 
     /◇\/ ̄ ̄ ̄ ̄ ̄\/◇.\  
    /   \ \____|| | | ||____//     \
  /  /// ̄/ ̄ ̄V ̄ ̄ \ ̄\//   \
   ̄ ̄ ̄    \ ≡||□||≡ /     ̄ ̄ ̄

36 :
目次読んだときはワクワクしてたのに、内容が薄すぎて10分で読み終わった。
書いたのソリトンウェーブの中の人っぽいから工業高校あたりの教科書になるの決まってるんじゃない?

37 :
>>31
だけど、タイプ量多いよね
しかも、なぜかstdは、standardとフルで打たないんだよね


38 :
>>36
だからこんなに高いのか

39 :
>>36
>内容が薄すぎて
先輩風ビュービューの、少しだけできるから天狗になっている、そんなお前には
そう感じるかも知れない。が、初心者は、それを読み解くのに3ヶ月とかかかるんだ。
お前にだって、そういう時期があっただろう。黙って見てろ。

40 :
スレチ スマソ
>>34 >>37
std_logic_vectorは、言語仕様でなくてライブラリなんだけど…。
Ada/VHDLはタイプオーバーロード出来るからね。
嫌ならライブラリを直せばslvとか、短く出来るよ。
その他タイプ量が多いのは事実だけど、あれ、Adaが英文として自然な方向に設計された為。
ウロ覚えだけど、電話でコードをしゃべるテストをして、プログラミング言語の中で一番正しく伝わったのがAdaだった逸話があるんだって。
それだけ、Adaは英語圏の人には自然な文法になってるんだってさ。

41 :
電話で伝えるためのbegin endだったか。
もういいかげん{}にしてくれよ…

42 :
激しく同意
Verilogの、//や/*のコメント表記は、柔軟性があって好きだ

43 :
>>41
> もういいかげん{}にしてくれよ…
それ、初期のAlgol系からブランチした言語群のふる〜い仕様。
Cとかもそうで、未だにひきずってるw

44 :
Cのどこにbegin endがあるんだ?
一度自分の知識が根拠のない神話にどれだけ染められてるか確認したほうがいいと思う。

45 :
>>44
お前はCより日本語を勉強したほうがいいと思う。

46 :
>>44
C言語は系統的にAlgol60→CPL→BCPL→B→Cなんだけど、begin〜endと{}とは同じブロック文。
BCPLでは「$( 〜 $)」だった。
CPLは文献が失われて知らない。
Algol60では「begin 〜 end」。
こんな訳で、元を辿れば「begin 〜 end」のブロック文。
俺が言うことより、大学のせんせいの言うことを信じるかな?
ttp://www.edu.cc.uec.ac.jp/ee/ip/c_lang/pas-c-ex.html

47 :
そんな訳でbegin endや{}はブロック文を示すもの。
 C : if (…) {…} else {…}
でも、比較的新しい研究成果を元にしているAda/VHDLは
 VHDL : if … then … else … end
と、ブロック文である事を明示的に示さなくても良い様に改良されている。
でも古いところから分岐したVerilogは、
 Verilog: if (…) begin … end else begin … end
と、ブロック文が残っている(← Verilogの話しに戻したw)
それと、俺は>>45ではないから。

48 :
CQの販売ページを見ると、18600円?のタイプは、在庫僅少になってる。
俺は5040円のを買ったけど、18600円のフルセットを買った人はいないのか?

49 :
>>46
授業資料に書いてある「歴史」なんてのはたいていあやしい。
きちんとした考察を読め。
http://www.lbm.go.jp/toda/comp/corigin.html

50 :
>>49
例えば、B言語やC言語の顕著な特徴である「視覚的表現」が、これに該当する。 典型的なのは、ブロックの区切りに「begin」「end」というキーワードではなく、 括弧記号「{ }」を用いたことであろう。

51 :
>>49
つうことで、ブロック文であることがここにも書かれているが?
ところでいい加減スレチだから、よそに行けよ。

52 :
DE0にサウンド出力とSRAMさえ載ってればもっと色々できるのに。
あ、それDE1だわ
SRAM→内部BlockRAM、サウンド→1bitΔΣ出力で我慢するか…

53 :
それで充分じゃんか。

54 :
nanoの俺はどうすればいい?

55 :
>>52
少し高いけどDE1の方がいいかもね
>>54
nanoはmicroSDスロットを何故付けなかったし

56 :
本買った。実際にDE0で試して見た。NIOS IIも本の通りやってみた。確かに動いた。
けど、NIOS IIについての記述がもっと欲しい。FLASHに書き込む方法とか、デバッグの方法とか。
何か良い本は無いでしょうか?
明日、町の本屋まで行くので、ぜひ買ってきたいです。
わかったことは、SOPCビルダーで機能を選んだら、FPGAによるマイコンが完成し、
あとはマイコンソフトをゴリゴリ作るということ。
ただし、マイコンソフトのコンパイルが、とても長くて、やってられないこと。
PCが止まってしまったかと思うくらい長時間。

57 :
>マイコンソフトのコンパイルが、とても長くて
論理合成とC言語のコンパイルどちらでしょう
論理合成なら一回キリですし長くても耐えられそうですけど、
C言語のコンパイルが長かったりしたら問題ですね。

58 :
JTAG-UARTってどれくらいの速度出るんだろう
シリアルが230Kbpsとしたら1Mbpsくらい出るかな?
SOPC Builderで作れるかな

59 :
スケマライブラリのmuxplus2にある21muxって
セレクト端子が1のときAで0のときBという変態仕様なんでしょうか?

60 :
自己解決。
一生懸命リファレンスを探していたけど、
OpenDesignFileで等価回路を参照できたのね

61 :
FPGAのRAM上に転送して実行させ、電源を切れば忘れてしまうファイルは、
xxx.sof (SRAM Object File)だと思いますが、FlashROMの中に書き込んで、
電源off後でも、起動できるファイルは、どのような拡張子でしょうか?
xxx.mcsとかを探したのですが、見つかりません。xxx.bitファイルも見つかりま
せんでした。
あと、ASCデバイスとは、何でしょうか? ALTERA Sxxxx Cxxx の略でしょうか。
よろしくお願いします。

62 :
拡張子はjic
ファイルメニューのconvertprogramfileでsofを入れ込んで作るんだけど、
ここらへんは公式HPのビデオ見るのが早いかな。

63 :
>>61
pofとかjitとか、色々あるよ。

64 :
http://www.altera.co.jp/literature/manual/intro_to_quartus2_j.pdf
のP183辺りですかね。

65 :
ありがとうございます。さっきからずっと、pofを探しているのですが、
一向にに見つかりません。ALTERAのページには、sofと同時にpofも生成される、
とあるので、フルコンパイル(CTRL+L)を実行しているのですが。
Programmerで、modeをASにすると「何かが足りないから、このモードはできないよ」
と言われます。
DE0にはEPCS4というconfig ROMが載っているので、それに書き込めば、
電源起動時に読んでくれると思うのです。
>>62, 63, 64
ありがとうございます。明日、試してみます。
ファイルの拡張子がたくさんあって、覚えきれません。
jamとかは、まるでプリンターのjamのよう。

66 :
連投すみません。
CQの本で勉強していますが、RAM上で動かす方法だけしか書かれていないように思います。
RUN←→PROG SWは、常にRUN側にして置いてください、って書かれています。
PROG側にしないとASモードは使えないと思うです。
Programmerについては、Xのほうがわかりやすいと思うのですが、どうでしょう。

67 :
そこらへんは構成と利便性の兼ね合いだから何とも言えない
DE0ではコンフィギュROMがJTAGに繋がっていないので、
デバイス経由での書き込みになってるからややこしい。

68 :
>>66
> CQの本で勉強していますが、
それでは…。
Alteraは意外に日本語ドキュメントを用意しているから、そっちを見たほうが早いよ。

69 :
Alteraは日本語音声とスライドのオンライントレーニングもあるてら

70 :
Nios II Software Tools for Eclipseって
QuartusIIをインストールしただけじゃ使えないんですか?
Nios II エンベデッド・デザイン・スイート(EDS)も
インストールする必要があるとか

71 :
名前的にスイートの方を入れるべきだな

72 :
Nios II エンベデッド・デザイン・スイート(EDS)インストールしたら
Nios II Software Tools for Eclipseが使えるようになりました。

73 :
>>65,66
pof自体は生成されていますか?
私もあまり自信がないのですが、cpnfigDeviceの中のUse configuration devceを
EPCS4にすると、pofが生成できるようですが。

74 :
初心者にとっては開発環境を整備するだけでも難しく感じるね。最近de0-nanoを試したくてPCに
開発ツールをインストールしたのだけど、ちょっと悩んだところを書いとく。
インストールするべきソフトは「QuartusII」と「NiosII_EDS」、それぞれ別々にインストールする
必要がある。解説によっては「NiosII_EDS」の代わりに「NiosII_IDE」で説明されていることもあるけど
前者は後者の後継にあたる新しいバージョン、NiosII_EDSをインストールするとNiosII_IDEも同時に
インストールされる。もしIDEの方を使いたいという場合はウィンドウズのスタートメニューから起動する
必要がある。QuartusIIとNiosII_EDSはデフォルトのインストールでデスクトップにアイコンができたかな。
開発には他に「SOPC Builder」と「Programmer」を使うことになるけどこれらはQuartusIIをインストールすると
同時にセットアップされる。de0-nano買ったばかりだけどde0の方がよかったかな?

75 :
>>74
同士よ〜
nanoはスイッチが直接操作できないのが面倒でならんw

76 :
FPGAでもmbedみたいな開発環境がクラウドになっているのがあれば面白いのにね。
チップ限定でも良いから

77 :
>開発環境がクラウド
それらしき物を発見
ttp://zone.ni.com/devzone/cda/tut/p/id/11917

78 :
あんまり盛り上がってないみたいだね

79 :
何気に>>56氏が「何か良い本は無いでしょうか?」と、総評を書いてしまっているしな。
本屋で本を手にとってないけど、>>56を読んで買う程の本ではなさそうとオモタ。
ソリトンシステムとDE0を販売しているソリトンウェーブって、関係ないのかな?
ソリトンシステムの林氏がディジタルデザインテクノロジ誌に寄稿した、FMラジオの記事。
あれのDE0移植版のハードでも提供されれば面白かっただろうに。
とりあえず、本を一通りやったらZet processorで遊ぶのがいいよ。
 Zet processor
  ttp://zet.aluzina.org/index.php/Zet_processor
  Zet processor is an open implementation of the so widely used IA-32 architecture (generally called x86).
v1.2からDE0をサポートしたし、ただのFPGA基板がクラッシックなパソコンに変身するのも面白いし。

80 :
どういうレベルのひとがDE0とかスレタイの本とか買うのだろう?
始めてFPGAにさわる初心者ならかって損はなさそうかなとは思う。アマゾンにも
カスタマーレビューが一件アップされてるね。
しかしFPGAって面白いのにマイコンに比べて情報が少ないな。開発ツールに依存する
部分も多くて古い記事ではこれから始める初心者にはあんまり役に立たなかったり。
NiosIIのソフトウェアのコンパイル時間は自分のパソコン環境では最初のビルドでは
1分くらい、2度目からは20秒くらいかな。汎用マイコンのに比べれば遅いね。

81 :
全角でべたべた書き殴ったあげくに上げんなゴキブリ野郎。ぶちRぞ

82 :
こっちにも落ち武者現れたかwww
Rばいいのに。

83 :
>>67
いやマニュアル通りにやれば問題ないと思うけど。 どこがややこしいのか判らん。
コンフィグROMに直接書けないと嫌だというだけなんだろうか?


84 :
コンフィギュに直接書けないからXに比べて直感的でなくなってる罠

85 :
アルテラの開発ツールについての質問です。
.sofファイルと.elfファイルをツールを起動せずにターゲットにダウンロードするための
バッチファイルを作りたい。ファイル名はtest.sofとtest.elfでc:\の下にコピーされています。
@path c:\altera\10.1sp1\quartus\bin;
@echo off
@ set SOPC_BUILDER_PATH=%SOPC_KIT_NIOS2%+%SOPC_BUILDER_PATH%
@ quartus_pgm -m jtag -c USB-Blaster[USB-0] -o "p;test.sof"
バッチファイル内にこのような記述をすると.sofファイルはダウンロードできます。
.elfをダウンロードするにはどのように記述すればいいのでしょう?
Nios2インストールフォルダにあるNios II Command Shell gcc3.batを実行してその中で
nios2-download c:/test.elf -g -r
と入力するとダウンロードできるのは確認できています。
これをバッチファイルで処理したいと言うことです。

86 :
いちいち上げるな知障

87 :
上げときますね♪

88 :
僕も上げときます。

89 :
教えてくれるまでage

90 :
age

91 :
シュミレーションは、やった方がよいでしょうか

92 :
しなくともよい。
ただ、問題が発生してすることになるだろうけどw

93 :
それと、シュミレーションではなくシミュレーションな。

94 :
了解しました。
ISim使ってみます。ありがとうございました。

95 :
DE0のフラッシュROMに書き込む方法、
というか、電源onで自起動するようにしたいのですが、
どのようにすれはよいのでしょうか。
先日発売のCQの本には、最後が端折ってあって、わからないです

96 :
わたしもまだやったことないんだけど、想像では
スイッチをPROGにして、de0の電源入れて、asモードで
書き込めばいいような気がするんだけど、あってますか?


97 :
あってないような気がするんだけど、あってますか?

98 :
やってみればわかるだろ

99 :
どうせならみんなでCPUとか作ってみよーぜ

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
自作回路でUSB EndPoint4 (467)
3Dプリンター 個人向け その3 (616)
実体顕微鏡 (429)
1.5Vで電子工作 (817)
【学部】電気工学系学生の就職【研究】 (283)
スイッチング電源 5台目 (496)
--log9.info------------------
運動音痴がナメられないための努力 (216)
運動音痴を克服るには?part1 (336)
運動できる奴は勝ち組、文武両道な奴はもっと勝ち組 (703)
運動音痴はクラスの中心になれない。 (571)
男で運動ができないってとことん悲惨 (211)
なぜ運痴はモテない? (895)
運動音痴な漫画・アニメ・ゲームのキャラ (216)
運動音痴がいかに自分が運痴かを自慢するスレ (366)
球技音痴集合!!! (558)
運動音痴だから、TVゲームも運動音痴 (285)
運動音痴界の救世主『剣道』 (367)
運動音痴の有名人 (692)
バレーのコツ教えて (314)
体育の評価が保体だけで決まれば絶対トップだった (266)
勉強もできない僕は (218)
運動音痴だけでバスケをするスレ (518)
--log55.com------------------
【生物学的疑問】豚の鼻穴はなぜ大きいの?【キッズ】
思考盗聴器を開発せよ
初心者質問スレ 138
三菱電機社員自殺・無能はR・有能でも金は出さん
オシロスコープ総合スッドレ! part25
RISC-VマイコンK210搭載『Sipeed MAix』『M5StickV』
3Dプリンター個人向け@電気・電子板 その58
使える100均ショップのグッズin電気電子板 30軒目