Tchスタッフの奮闘記

   For STEP 一歩先の自分へ


 

WELLCOME

 株式会社テクニカとは>>

SDRAMコントローラ(1)

2010年11月19日 | FPGAって美味しい?

今となっては、古いメモリー規格なんでしょうかねぇ
SDRAMのコントローラを FPGAで構築してみたいと思います。

今までNios2でも使用してきたDE1ボードをターゲットにして話すすめます。
と、言ってもいきなりボード上でデバッグするわけにも行かないので、
最初はシミュレータで記述したロジックがあってるかなーって確認しながら進めて行きたいと。。。

シミュレータは、ModelSIM AEとかでもいいんだろうけど、Veritakをなぜか所有しているのでこちらを使用していきます。

MegaWizerdで生成したPLLを使用するとVeritakのシミュレータがおかしな動き(時間単位がfsになっちゃう)になるので、
とりあえずPLLは使用しないことに。

今回は、とりあえず初期化の部分を記述してシミュレーションしてみた。

メインとなるステートマシーンの部分はたぶんこんな感じになるんだろうか??

case (r_main_status)
   p_main_poweron_rst : begin
                                     
r_main_status <= p_main_200us_wait ;
                                 
end

   p_main_200us_wait   : begin
                                      if (r_200us_end) begin
                                         r_main_status <= p_main_pall ;
                                     
end
                                      else begin
                                         r_main_status <= p_main_200us_wait ;
                                      end
                                   end
    
   p_main_pall              : begin
                                       r_main_status <= p_main_trp ;
                                    end
    
   
p_main_trp              : begin
                                      if (r_trp_end) begin
                                         r_main_status <= p_main_autoref8 ;
                                      end
                                      else begin
                                         r_main_status <= p_main_trp ;
                                      end
                                   end
 
  
p_main_autoref8        : begin
                                       if (r_autoref8_end) begin
                                           r_main_status <= p_main_trc ;
                                       end
                                       else begin
                                           r_main_status <= p_main_autoref8 ;
                                        end
                                     end
 
   p_main_trc               : begin
                                     if (r_trc_end) begin
                                        r_main_status <= p_main_mrs ;
                                     end
                                     else begin
                                        r_main_status <= p_main_trc ;
                                     end
                                   end
 
   p_main_mrs              : begin
                                     r_main_status <= p_main_tmrd ;
                                  end
 
   p_main_tmrd            : begin
                                    if (r_tmrd_end) begin
                                       r_main_status <= p_main_idle ;
                                    end
                                    else begin
                                       r_main_status <= p_main_tmrd ;
                                    end
                                  end

   p_main_idle             : begin
                                    r_main_status <= p_main_idle ;
                                 end
endcase

シミュレーションするとこんな感じになった。おおむね予定通り?


次回は、ライト・リードに挑戦??
では、今回はこの辺で。。。



基板設計・FPGA開発は、テクニカにお任せ下さい!!
にほんブログ村 海外生活ブログ ベトナム情報へブログランキング・にほんブログ村へ


Nios2を試してみる4

2010年11月19日 | FPGAって美味しい?
前回は、Nios2のC言語ソースプログラムを一から
記述して、7セグLEDをぐるぐるさせることが出来た
ところで終了してました。

前回のプログラムを見直して一つ修正というか改善
したい部分があるみたい。
前回は、7セグLEDの各桁毎にFor文を重ねていってましたが、
そもそもFor文を何段も重ねるのは、良くないみたいです。
で、ちょっとFor文を見直してみました。


これでも、厳密に言えば各桁を出力するときに計算が入るので、
タイミングずれるんだろうなー。でも、明らかに簡潔、見やすい。
初心者的な視点でいうと、"if (++i > 9999){"の部分がなんとなく
気持ち悪い。
"++i; //(i = i + 1;)
if (i > 9999){"
って感じにしたい。"++i"っていうのもなんとなく慣れそうにない・・・
こういう記述ってVerilogHDLにもあったっけ??

Nios2プログラミングは、この辺にしてまた、FPGAプログラミングに
戻そうかなと・・・・
Nios2では、なんとなく意識せずに使用できているSDRAMですが、FPGAで
回路を構成してアクセスとなると、結構大変そう。
その辺をやってみようかなと考えていたりします。

「SDRAMの使い方」 このあたりの資料が参考になりそうです。

では、また次回。




基板設計・FPGA開発は、テクニカにお任せ下さい!!


にほんブログ村 海外生活ブログ ベトナム情報へブログランキング・にほんブログ村へ

創意工夫

2010年11月18日 | ベトナム散歩

 揚げフォー?を食べさせてくれるお店がある!という事で行ってきました。
まず写真、これが揚げフォーです。




 フォーを平たくし、カリカリに揚げています。日本で言う「おこげ」に似た料理です。
スープは餡かけになっており、スープの中でカリカリのフォーを砕き、スープと絡めて
食べます。



 同店のメニューには、もう一つ日本で言う「かた焼きそば」があったので、注文!
こちらは、フォーを焼いたものに、餡かけスープが掛けてありました。




どちらも、ンゴン!


さまざま麺の形状や調理方法で「米」を楽しませてくれるベトナム!
次は一体どんな「米」を楽しませてくれるのか!!







基板設計・FPGA開発は、テクニカにお任せ下さい!!


にほんブログ村 海外生活ブログ ベトナム情報へブログランキング・にほんブログ村へ

大型書店へ散歩

2010年11月16日 | ベトナム散歩
 ホアンキエム湖に近い、チャンティエン通りには大小様々な書店が点在している。
私の目的は、ベトナム語の学習教材探し!


 日本にあるベトナム語の本では、日本語の解説は正しいが、ベトナム語が
正しくない、もしくはあまり使われない表現…という事がある様なので、
書かれているベトナム語が読めても、通じない、意味が大きく異なる場合が
あります。
 多少日本語が多少おかしくても、日本語の間違いは修正出来ます。
そこで正しいベトナム語が書かれている本が欲しかった。




このお店の他にも数店舗探した所ありました!



「日本人の為にベトナム語… 1冊、2冊」
 …1冊?2冊??まぁ間違いではないですが別の表現でも…
と、タイトルや表紙からも不安になりますが、高価な辞書でも間違いがあるので…
製作はベトナム人で日本語の監修に日本人といった求めている仕様です!
CDもついていて聞きながら発音も出来て、日本語解説付です。

 時間も有るし、教科書も買ったし、あとは勉強する意欲だけ…











基板設計・FPGA開発は、テクニカにお任せ下さい!!


にほんブログ村 海外生活ブログ ベトナム情報へブログランキング・にほんブログ村へ

東村山市のニュー双葉湯へ入湯?

2010年11月12日 | 八十八ヶ所巡礼

八十八ヶ所巡礼を目指して、の第7回です。
今回は、以前何度か行った事のある東村山市の“ニュー双葉湯”さんを
紹介しようと思います。

道順は恒例の新宿方面から青梅方面に向う、新青梅街道から紹介します。
新青梅街道と府中街道の交わる交差点、野口橋を左折します。

目印として、左折手前に洋服の青山があります。


左折したら約300m直進、歩道橋のある八坂小前の交差点(東村山市立八坂小学校)を右折すると、


そこに今回紹介する、ニュー双葉湯さんが、あれ ~ 取り壊されてるぅぅぅ。
煙突があるので、確かにこの場所にありました。
重機が入り込んで、撤去作業の真っ最中のようです。
建築計画が見当たらないので、復活するのか見当つきません。ショックです。


そして後日行ってみると、すっかり面影も無く、駐車場になっていました。


後継者問題なのか、銭湯を継続するより駐車場の方が、採算が合う判断だったのか、
いずれの理由にせよ、東京から1つ銭湯が廃業した事は残念です。
銭湯が減少しつつある現実を、感じる瞬間でした。

駐車場になってしまった場所を見つめつつ、営業していた頃の事を、想い出しました。
岩造りの露天風呂は、多くの草木に囲まれていて、癒されスポットでした。
外の自転車置き場には屋根があって、雨の日には重宝していたのですが。

今回のレポは、残念な結果に終わってしまいました。
ただ、これも現実問題として受け止め、気を取り直して、次回より心機一転頑張ります。

………10月10日は、銭湯の日でしたので、タオルを頂きました。

かわいいデザインです。
これから1年間、去年のタオルと交互に使おうと思います。
いろんな場所の銭湯に行くと、銭湯タオルを使っている方は結構います。
名前を書いておかないと。

では、不完全燃焼ですが、第7回レポートを終わります。

 

基板設計・FPGA開発は、テクニカにお任せ下さい!!にほんブログ村 海外生活ブログ ベトナム情報へブログランキング・にほんブログ村へ