ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

今日FPGAで学んだこと(7)NIOSについて

2013-08-01 20:45:21 | トピックス
今日じゃなくって、昨日だけど、学んだこと。
昨日とはぜんぜん違う話。
ソフトコア・プロセッサ、NIOSをつかいます。
バージョンが9.1なので、SOPCビルダーをつかいます(最近のバージョンはQSys)




■SOPCとQSYS
・Quartus9.1などの場合につかう。
 バスのavalonが、マスタースレーブ

・QSYS
 12.1から登場、13.0では、こちらしかない?
 バスが、マルチマスター

外部とのやり取り:JTAG




■NIOSを利用したプログラムを作る手順

(1)QuartusⅡで、トップモジュールを作成する。
  verilogと、ピン配置もやっておく
  下位モジュールは、コメントにしておく

(2)SOPC Builderで、NIOSなど、いろいろ取り揃える
・QuartusⅡのTools→SOPC Builderで起動
・いろいろモジュールを組み込む
   RAM
   NIOS
   JTAG
   SystemID
   入出力(GPIO)
・アドレス設定
  SOPC Builder→System→AutoAssignBaseAddresses
・保存して、生成(Generateボタンクリック)

(3)QuartusⅡで、トップモジュールを完成、転送
・(1)でコメントにしておいた、下位モジュールとのつなぎの
 部分のコメントをはずして、コンパイル
  →あらかじめ、ピン配置をしておくこと

・この時点で、Programmerを使って、FPGAに書き出す
  →QuartusⅡの作業はここでおしまい

(4)NIOSⅡSoftware Build Tool for Eclipseで
   (C言語)プログラムを作成

  File→New→NIOSⅡApplicationTemplate
   (2)で作ったscopeinfoを選択
   プロジェクト名をいれ、
    templateにblankProject(空のプロジェクト)を選択
   プロジェクトにbspと付いているものと、いないものができる

  Cプログラム作成
    bsdが付いて「いない」ほうのフォルダ=プロジェクト名を右クリック
    new→SourceFileを選択
    ファイル名(なんとか.C)をいれて、Cのソースを書いて保存

  BSPエディタを起動
   bspフォルダを右クリック
     settingでC++をはずしたり(settingタブenableC_Plus_plus)
     commonで、enable_reduce_device_driverやenable_small_c_libraryに
     チェックを入れたりいろいろして
     保存後、一番下にあるGenerateボタンをクリック

  public.mkを修正
   bspフォルダを右クリック
    ALT_LDFLAGSのしたに
    LT_CFLAGS += -DSMALL_C_LIB
   をつけたしてみたり、しなかったりで、保存です
   →この作業をやる前に、上記のBSPエディタをGenerateし、終了しておくこと
    そうしないと、public.mkはひらかない。
    終了してもひらかなかったらF5キー(リフレッシュ)

  プロジェクトのビルド
    bsdが付いて「いない」ほうのフォルダ=プロジェクト名を右クリック
    Build Project
    最後にビルドがコンプリートしたよとでる

  転送、実行(FPGAが動いていて、USBブラスターが繋がっていること)
    bsdが付いて「いない」ほうのフォルダ=プロジェクト名を右クリック
    RunAs→NiosⅡHardwareを実行
    画面が出てくるので、Runをクリック

これで、実行できる

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

人間力は、もういいんじゃないか・・・デジドカ業界では・・

2013-08-01 17:37:20 | Weblog
ある新入社員に、今年受けてきた新入社員研修内容を聞いてみた。
いちおう、コンピューター業界(プログラマ、SE対象)の研修なんだけど、
どうも、「社長講話」、「挨拶の仕方」、「電話の取り方」など、
人間力を磨く研修ばかり受けてきて、
技術的な話はさっぱりだったらしい・・・
SQLのお話より、掃除の時間のほうが長い・・・みたいな・・・




最近は、コンピューター業界も、人間力重視なのでしょうね。

そういえば、大学入試も、人間力になるらしいし・・

文科相 人間力判断する入試を
http://www.slashnews.biz/archives/29931514.html

大学も、社会も人間力まず重視ということになるのでしょうか・・




でも、デジドカの場合、

人間力を重視して、リア重の人のように、
世間をうまくやっていける能力って、そんなに要らないと思うんですよ。

むしろ、死なないで済むには、プログラムを書けたりするほうがいいと
思うんですよね。




もちろん、企業は、個人なんていうのはどうでもよく、
何人うつ病になっても、まったく感知せず、
発注会社に押し込みやすい「人間力」を磨き、
実は作業効率を下げるフレームワークを無理やり使わせて
技術をやらないからデスマーチになってうつ病になったら、
使い捨てて、生き血を吸って、会社は大きくなる・・・

・・・っていう、その構造は理解してます。

理解してますが、いくらなんでも、最近の人間力重視(=技術軽視、学力軽視)は
限度を超している気がします。

人間力は、もういいんじゃないか・・・デジドカ業界では・・

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ハードでもTDD、いけるんじゃないか?FPGAなら・・

2013-08-01 15:27:19 | Weblog
ソフトだと、JUnitを使って、TDD(テスト駆動型設計)は可能だけど、
ハードでTDDという話は聞かない。

が、FPGAで、ModelSimとか使って検証する場合だと、
ハードでも、TDDで、できることになるんじゃないか?

1.まず、動作させるユースケースを記述する
2.ユースケースにあった、テストベンチをverilogで書く
3.それを呼び出す下位モジュールを、インターフェースだけ書く
4.とりあえず、コンパイル、テストベンチに通す
5.3,4、を繰り返し、中身を詳細に書いていく

というようなかんじ。

こうなると、ソフトウェア、ハードウェアそろって、ユースケースを
考えることができ、インターフェースを先に確定することができる
ので、ハードだけで考えるより、良い気がするのだが、どうだろう・・・


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする