【Verilog】 記述言語で論理設計Project15 【VHDL】 [無断転載禁止]©2ch.net
HDLの処理系も、それを実際に動かすシミュレータ・評価基板も、
安価で入手できるようになってきました。
このスレが目に入ったお嬢さん! HDLで何か作って遊んでみませんか。
日曜工作のHDL書き、学生さん、プロの方、主婦の方、カキコお待ちしております。
関連情報は >2-10 あたり。
入れ食いキーワード
・Nios、MicroBraze
・Artix-7、Kintex-7、Virtex-7、ハードコアCPU内蔵 Zynq-7000
※前スレ
【Verilog】 記述言語で論理設計Project14 【VHDL】
http://rio2016.2ch.net/test/read.cgi/denki/1470611688/ ・FPGA
Xilinx ttp://japan.xilinx.com/
ALTERA ttp://www.altera.co.jp/
Lattice ttp://www.latticesemi.co.jp/
Actel ttp://www.actel.com/intl/japan/
QuickLogic ttp://www.quicklogic.com/
・ASICベンダ推奨ツール類 (高価)
Synopsys ttp://www.synopsys.co.jp/
Cadence ttp://www.cadence.co.jp/
Mentor ttp://www.mentorg.co.jp/
Synplicity ttp://www.synplicity.jp/
・Verilogシミュレーター (無料)
Icarus Verilog
ttp://iverilog.icarus.com/
ttp://ryusai-hp.web.infoseek.co.jp/icarus.htm (解説)
ttp://www.ice.gunma-ct.ac.jp/~kimsyn/verilog/FreeSim/iverilog/iverilog.html (解説)
IVI
ttp://ivi.sourceforge.net/
ttp://www.kumikomi.net/archives/2005/06/10icarus.php (解説)
・VCDフォーマットの波形表示 (無料)
GTKWave
ttp://gtkwave.sourceforge.net/
ttp://ryusai-hp.web.infoseek.co.jp/gtkwave.htm (解説)
・関連書籍
STARC ttp://www.starc.jp/
CQ出版 ttp://www.cqpub.co.jp/
Interface ttp://interface.cqpub.co.jp/
Design Wave Magazine (休刊) ttp://www.cqpub.co.jp/dwm/
ディジタル・デザイン・テクノロジ (旧DWM) ttp://digital-design.cqpub.co.jp/
・解説サイト
やるおと学ぶ Verilog-HDL ttp://hirokinakaharaoboe.net/yaruo_verilog/
・関連スレ
【FPGA/CPLD】 XILINX/ALTERA/Lattice/Actel #24
http://rio2016.2ch.net/test/read.cgi/denki/1475205631/
【EP3】DE0で始めるVerilog HDL【C16】
http://rio2016.2ch.net/test/read.cgi/denki/1310362001/ )())()))))(()((()(((()))((()()))()))))()(((()))(()((()()()())((((()()())(())
))()())(()()(((())(()((((()))((((()(())((()))(((((()()))))(())())))()))())))
((()()()()((()())(((())())(()(()))())()(())))))()(((()()())((())))))(((())()
)(((()))(((()())()(()()(()(())(()()()()()())(()))(())()))()()))())()))(()(((
(())())))((()())())(()))((())()(((((())()()()((()))((()))(()))()()((()))))((
)))((()))()(())((())))((((((()())((())()(()()))())())))()()((())()())(())(((
)(())()(((()()())(((()())))((()((()))()())()())())(()))(()()))))()()((()()((
()()((((()(((()(()))()))()())))())(()()(()((()))(())()()((((())()))))(()))()
)())())))(())(())))(((()(((()((())()(()))(())))(((())((()()))()))(((()))(()(
)())((((()(())(()((()))))())))()))()())()(((()(((())(()))((()()(())()())(())
)()((()(()())()))())((()())))))())()((((()())))()(()(((()())(())())(())(()((
))(())(()((())))(())(()(())((((((((())()()))(())))())((())(()()()())(())()))
()(((((())()())(((((())())((((())(()(())(())((()()))))())))(()()())())()))))
())()(()))))(())))((()(((((()(((())())()))())()((()(())))()(()()(((()))()())
))(((()))(()())(((()((())))((())()((())(()))(((())))))(()())()))(()()()(()()
)())))(())((())((()((((())(())(((())))(())))((()()()()()(()())(())()()(())))
)()()())(((((()))()(())))()))())))()()()))(()(())(())((((((()))(()()((())()(
(((())((()))()))())())()))()())))()(()))())(())))(((((()())(((())(()(()()(((
())))())(())((())((())())()))(()()(()))()())(()(()(())()((())(())())())(((((
))))))((()))(((((((()))))()())())()()(()((()())()))))()(()((())(((((())))(((
)())))))())()))(()())))()(()))()(((((((()((((())()(())(()(()(()))())()(())((
(((()((()(())(()()())((())))(())())))()()()((((())()()()()))(()))())((()()))
())()())(((()(((()())()(())()))(())(()(((())()()())(()((()))())())(())()()))
)(()((()())()(()()(()())()((())())()))((()()())((())((()(())(()(())()())))))
())))((()))(()()())()(()((()(())()()())(())()(((())))(()))((()()((()))())(()
)()))(((()))))))(()((()))((()))()(()()(()(()())(((((()(()(())))()())(((())))
)())((()(()(())))(())()()(()(((()))()((()(((()((()(()))(()))))))))((())())()
))(()()()()(())())))))())())()(()))()((()))(()())(()(()((())((()(()((()(())(
))())((((((())))(((()()()(()))))((((())())(()()))(((()))(()(((())))))(()))()
)()((()()((()()))()(()()()))())((())(())())())(((())((())(()()))(()(()))(())
())(()((()))))()))())()))()(((((()(()((()))()()((()))())(()()((()))()))()(((
)))()(()()((()(()()((()(())()(((())()(()((()))))((()()()((())()())())))())))
))())()()))(())((())()((()()(((())(())()))(()()))()((())(()(())()()(()(()())
)()()))()(())(()))()))(())()())()())(()(())(((((()(()()())(()))(())()((())((
()))(())()()())())())()(()()))(()())))(()(()(())(((()()())())(())(())(()((((
)((())))(()))())(()))))((())(()(()((()()(()()))(((()()))()())()())(()))(((((
((()()))())()))((()((()()((()()))()))())(()))((()))))((((((())))((((()()))()
()()()(())())))()()))())((((()))()()))(()))))()((((()())()((((())()((())()((
))((())(())(())))))((())))()())()(()))()(()()))(()(())(((()())()(((()(())(((
(())()()()((()))))(())()(((()))((()))()())()))()(()(((()())(())((()))())()((
)((((()))(()))))()))))())())))((((()())())))))(())((((((((((())(()))((()(()(
()))))()(()(()(((())())((())((((())(((()()())())()())()))))))()()((())()()((
))((()(()())()))(()()((()(()())))(())())))()))((()(())(()((()()))(())(())(((
())))())())()(()(()(()(())(()(())))((()(()()(())(()(())((())()()()(()()))())
)()(((()()()((()())(()())()(()(()((((())))(()(()))())(())()))()))()))())((()
(()))(()))())()((()()())(()(((()()(()((()))(())())())(()()()))(()))()(())()(
)))())(())())((()))()((())))())))(()(()))(()()()(())(((()((()(()))(())()((((
))()(())(((())))()(((()())))))())))(()(((()(()())))())((((()()((()))))((()((
()((()()))(())())(())())(())())((()()(()(())((()())()(()(((())(())()))())())
))))()()()((())())((((((())))()(((()))((()(((()))()(())))()(()()(())())))(() 30umのLSI設計はそろそろ飽きたので、28ナノチンコのFPGAに再度挑戦したい >>5
新しいハードウェア記述言語。わかりやすく言うとHDLだぉ (((((((((((((())(())))))(())((((((((((((((
(((((((((((((())(())))))(())((((((((((((((
(())))))))))(())))))(())(())(())))))))))((
(())))))))))(())))))(())(())(())))))))))((
(())(((((())(())))))))(((())(())(((((())((
(())(((((())(())))))))(((())(())(((((())((
(())(((((())(())))))(())(())(())(((((())((
(())(((((())(())))))(())(())(())(((((())((
(())(((((())(())))(())(((())(())(((((())((
(())(((((())(())))(())(((())(())(((((())((
(())))))))))(())))(((())))))(())))))))))((
(())))))))))(())))(((())))))(())))))))))((
(((((((((((((())(())(())(())((((((((((((((
(((((((((((((())(())(())(())((((((((((((((
))))))))))))))))(())))))))))))))))))))))))
))))))))))))))))(())))))))))))))))))))))))
(((())(((())(())))))(((())))(())))))))))((
(((())(((())(())))))(((())))(())))))))))((
))))))(((())))(((())))))(((())))(((((())))
))))))(((())))(((())))))(((())))(((((())))
))(((())(((((())))))(((((((((((())))((((((
))(((())(((((())))))(((((((((((())))((((((
))))))(())))))(())(((((((())))(())))(())((
))))))(())))))(())(((((((())))(())))(())((
(())))(((((((((((((((())))(((())(())))))((
(())))(((((((((((((((())))(((())(())))))((
))))))))))))))))(((((())(((())))(())(())((
))))))))))))))))(((((())(((())))(())(())((
(((((((((((((())))(())(((((((())(())))))))
(((((((((((((())))(())(((((((())(())))))))
(())))))))))(())))(())))(((((((())((((((((
(())))))))))(())))(())))(((((((())((((((((
(())(((((())(())(((())))(((((())(((())(())
(())(((((())(())(((())))(((((())(((())(())
(())(((((())(())(())(((((((())))))(())))))
(())(((((())(())(())(((((((())))))(())))))
(())(((((())(())))(((())(((())))(())((((((
(())(((((())(())))(((())(((())))(())((((((
(())))))))))(())(((())))(())(())))((((((((
(())))))))))(())(((())))(())(())))((((((((
(((((((((((((())(())(())))(())))))))))))))
(((((((((((((())(())(())))(()))))))))))))) V3SっていうVisualStudioのアドインでコーディングしてみようと思うんだけど、使ったことある人いる? MAX10 4004 の高くて分厚い本が、半導体屋のプロがFPGAを書いた本として読むと非常に良く出来てる。
FPGA 中級者ー上級者 からステップアップしたい人にはオヌヌメ >>14
2相クロックだし、多分非同期設計だからFPGAへの実装は面倒くさそう。 >>15
単層クロックで、φ1とφ2の4通りをenable扱いにして動くように作り替えればいいだけ。 >>8
ほかのスレでも時々見るけど、これって2次元バーコードか何かなの? >>475
「上市」は一般の辞書には収載されていないが、「じょうし」と読み、
「新製品を市場に投入すること。新製品を売り出すこと」を意味する。
英語で表現すれば「launch」。医薬品業界、自動車業界などを担当するアナリストが多用する言葉だが、
医薬品業界では「承認された新薬を市販すること」の意で使用される。
ということで、いわゆる業界用語(造語)の類なので
知っているからどうこう言う言葉でもないようだ。
中国語とはたまたま同じような意味合いになっただけみたい。 久しぶりにVerilog1ソースの改造をしました。
モジュール接続を変えるだけなので簡単に思っていましたが、とても手間取り、未だにやっています。
なんでこんなに分かりにくいのか考えてみると、電気回路図のように上下左右に伸びて記述すべきものを、
上から下への1次元で表現するからだと気が付きました。
top階層はブロック図で書いて、ブロックの内部をVerilogモジュールで記述するほうが
分かりやすいと思いますが、みなさん そんなことは内でしょうか? 最上位層をスケマティックで書いて、中身をVerilogで・・・ということなら、
PSoCなんかでは昔から普通にやってる。 ASICなのかな?
FPGAもトップはIPコアを配置してブロック図で配線する。HDLは自動生成されるから楽チンだよ。 トップってピン(I/O)に実際に繋がる層ってこと? 3階層くらいまではブロック図で書いてその下がVerilogだな。でも追加とか出ると
Verilogでやってブロック図にフィードバックができなくなって、うやむやで終わり。
結局最後に信頼できるのはHDLだけだな。 >22
PSOCってそんなに沢山ゲートがないだろ。 >>26
見通しを良くするためだから、規模には関係ないっしょ。 >>24について私も気になるのですが、どなたかご回答いただけないでしょうか?
>トップという言葉の意味 >>24
そう。
>>28
ザイリンクスの場合のトップはこんな感じ。
http://i.imgur.com/xBE4F0O.jpg
青い箱はIPコア。中身はHDL。 >>29
早速のご回答どうもありがとうございます。
また例まで提示いただきイメージがつかめました。
ありがとうございます。 Spartan6までしか使わないんですが、VivadoでSpartan6はできますか?
上に書かれたブロック図を見たら、ISEからVivadoに乗り換えてもいいな、と思えてきました >>31
6はVivadoだけよ
ISEはもう新製品をサポートしてない >>32
しばらくXilinxから離れているのだけど、Spartan6はISEではないの? >>33
ごめんなさい普通にレス間違えてました
他の方が言ってるように、6はISE、7以降はVivadoです
Vivadoだと6はサポートしてないです ヴィヴァドゥ
つーかなんで平仮名の「う」の点々はないの? >>37
そんなことより、Spartan6がVivadoで出来ナインだってね。 そう、できないんだ。
なんでだろう。
もうSpartnシリーズはやめなのかな。
好きなんだけど S6はコストが安いから、多少の需要はあって案件もある
でも実際にはVivadoの方が案件が多いので全部Vivadoに移行して欲しいのが正直なところ
元請けより 古いデバイスはISEでしかサポートしない。
ISEについてはもう更新しないと言ってる。OSがどんどん変わっていっても更新しないつもりなんかな。
手を施さずに放置して、Spartan6(を含む)以前のデバイスの自然死を待つみたいな感じだ。 新しいOSに対応しないのは、あんまり大した問題じゃないと思うよ
VMwareとかVirtualBox使ってもいいし、XPとか7入れたPC置いとけばいい
もっとも、ISE14.7はWindows10でも動いてるけど ちょっと前までは、ISEが正式に対応OSとしていない新しいOSで、使おうとして叩かれる人もいたのに。
もう7も入手できなくなるし、10にこの前のCreators Updateみたいな大きいアップデートが定期的に入るようになったら、やがて使えなくなりそう。
パソコン体験も含めて新しくこの世界に入ってくる人がXilinxの旧デバイスを使えなくなるのもそうそう先ではなかろうね。 >>43
将来のことは別にして、今のところWindows10でISE14.7動いてるよね?
そして「新しくこの世界に入ってくる人」が「旧デバイスを使える」って
ことが、そんなに重要なことなのかは疑問だな
あなたも「この世界に入った時」は、「旧デバイスを使う」ことじゃなくて
「最新のデバイスを使う」ことに魅力を感じてたと思うんだけど
どうしても旧デバイス使うために、古いOS使いたいって考える人は
(合法かどうかは別にして)色々方法あるわけで、そんなの若い人は
当然承知だろうから、あなたが心配することじゃないかも >>44
最新デバイスは BGA だし魅力を感じない。 そうそう、パッケージがイヤだ。
QFPも入れておかないと、仕事で使えない。(コストが高くなる)
世の中の仕事で、BGAチップでなくて、QFPで済む仕事が半分以上なのに。 >あなたも「この世界に入った時」は、「旧デバイスを使う」ことじゃなくて
>「最新のデバイスを使う」ことに魅力を感じてたと思うんだけど
そうでもなかったな… まあ、それは分かるし自分でも過去プロジェクトのメンテ用として
VirtualBox にXPとISE7とか10を入れてあるけど
開発してた当時の環境よりも逆に快適だったりする >>45-46
俺もそんな感じ。
Xilinxはそういう客層との関わりから離れようとしてるんじゃないかな。
集中と選択、だろね。 >>47
最新のデバイスのultrascale使ってるやつとかいるのか疑問。
そろそろintelに移行するかな。 >>44
動いてそうなのと、何かあったときに文句が言えるのとは違う LED : out std_logic_vector(17 downto 10, 7 downto 0);
みたいな定義をしたいんだけど、何かうまい方法ある? >>52
基本的にはできない。
意図によってそれに変わる手段はあるかもしれない。
ほかの言語でも↓見たいな配列ってできないものがほとんどでしょ。
int a[17..10,7..0];
ただ、これも目的によってそれに変わる手段があったりもする。 歯抜けの配列作って何か便利なの?
255の次は1024になるかと思ってもそうはならないし。 使わないビットは繋がなきゃいいだけだと思うのだが、
あえて、定義をしないってのがな。 合成レポートに警告出るのがいやなのでは?
レジスタとかを実装するときにword単位でreg定義するとそんな感じにできるといいなあと思うことがある。 8bitのデータ幅じゃないROMやRAMのアドレス出すとき最下位をA0じゃなく、
A1やA2にしたいときはあるな。
ROM側のデータシートもA0以外から始まってることも多いので、
Asic側の信号名と整合取りたくなる。
そういう場合は普通に最上位階層から使わないA0等も出力しちゃって、
合成のときに使わない信号をVirtualPin指定してる。 A0も使っておかないとデバッグの時x2してとかになると煩わしい。こともある。 >>60
[26:2] は別にいいんじゃね?
[17..10,7..0] は気持ち悪い。 最近ちょっとしたプロジェクトをSystemVerilogに書き換えてるんだけど、
interface機能いいわ。ポートまわりめっちゃスッキリする。
あとenumもModelSimが値を名前で表示してくれるからデバッグ捗る。 家で不労所得的に稼げる方法など
参考までに、
⇒ 『武藤のムロイエウレ』 というHPで見ることができるらしいです。
グーグル検索⇒『武藤のムロイエウレ』"
K9OCPSVO8P 東芝情報システム が 車載半導体技術者を募集しています なう そういえば南武線の沿線にトヨタがしこたま求人広告出してたって話があったな 定石の記述テクニック的なことを紹介している書籍ってあまりないよねぇ
たとえば、VHDLで条件コンパイルってできないよなぁ
generateとかは使えるところに制約あるし
無理やりC用のプリプロセッサを通して使ってたこともある
型変換のリファレンスとか諸々まとまった書籍ないかな VHDLで型変換とかアタマのオカシイ奴が沸いてきた テーブル作ろうと思って reg & initial で書いたら
initial は合成しないからねっ!て警告された。
ISE は出来たのに。dc のバカっ。 design compiler(Synopsys)。
結局のところ、FPGAの回路設計とASICの回路設計は似て非なるもの、
と考えるのが良いんじゃないかな 結局、wire にして generate で書いたけど。
FPGA は ROM を使ってくるからテーブル使いやすいけど
ASIC だと BIST の問題もあるし、ROM は使いにくいからね。
ゲートに落とすと 1clock は厳しい。 >>73
しないよ
リセット線が無いとどうしていいかわからないし
initial分かかれたものをどう半導体レイアウトにするんだ そもそも、論理合成する時点でinitial使っている時点でおかしいと思わないのか
FPGAですら 普通ROMなんかプリミティブ使うだろ
ISEならcoregenだ 周りの人に聞くことなく、ひとり独学でやっていると
時々ヘンなことをやってしまう場合があるね、Lonely合成なだけに・・・ >>77
initial とリセットは何の関係もないだろ。 >>82
FPGAはリセット線無くても初期値決まるよね
ASICは通常初期値決まらないよね
そのデザインコンパイラーに、ROMを合成できるセルの部品はあるのかな。
通常フラッシュIPとか専用のを使ってFPGAとは比べものにならないくらい面倒になるんだけど
なんでinitialで合成できるのか教えてもらえますか? わたくし勉強不足で独学でFPGAとASICを身につけたんでよくわからないんです。
あと派遣期間が長く転職回数も多いのですがどこか年収600万円以上もらえる仕事があったら教えてもらえますか?