【FPGA/CPLD】 XILINX/ALTERA/Lattice/Actel #23 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
前スレ:
【FPGA/CPLD】 XILINX/ALTERA/Lattice/Actel #22(c)2ch.net
http://wc2014.2ch.net/test/read.cgi/denki/1445054191/
は、ひどかったですが、
気を取り直してどうぞ。 ____---_--__--__---_----_-_----__-____--_-_-_-_-_--_-_-__-_-___--_----______
-_----__-___-----___-_-_-___-_--_____--____--___---_--___--___-___-_--------
_--__---_----_--_--____---_-_-_____---____-_____---_-_-----_-____----__--___
-_---_--_-__-_-_-____-_--___--_-___---_____-----__--_-_-_----____--_-_-_--__
_-_--_-_-_-_-__------___-__-_--___--__-_---_-_--_-_-_-__-_----_____--_-_-___
_---_---_---_-__-__-____-___-_--__-_-______--__-----_-_---__-_-_-_--__---__-
--_--_-__-___-_-_-_---__-__-_____-_-__-_-_---__-_---_-_-__---_-_-_--_-_-_-_-
_-____---_-_---___--__-___-_-_---__----_-_-_-------_-_-_-_--_-_-__-___-_____
-_-----__--__----_____----_----_--___--__-___-__-__-_----____----_-___-_____
-_-_-_-_--_-__--___-___-_-------_------__-______-__-_---__-__-_---___--___-_
__--_---_-___-___-_--__-----__-________-----__-_--___--_-_-__-__-__-----_---
__-_----__-_-__--_-__-__--_____--_---__---_--__-_-__-------_-_--__-__-_-____
--_-__--_---___-_--__-----__--_-_-_-_-----__---_-____--_--__-___-____-___-__
_-_--____-___---_---__--_-___-__--_-__-_-______-___----_--_----_---__--_-_--
-__-_____-_-____-__----_-__-__-_----_---_-____-------__---________-----__---
-___--_-____-__-_-_---____--__---_--_--------___-__---_-___-_--_-___-____---
-_-____-___-__--_-____-_-_--_-___-----_-_---_____--____-___----_--_-----_---
--_-_-__-_--_____-___-__-_--__----_-__---__----_-__--_----_-__-___--_-_--___
-_-_---__---_-_--__-_--__----_-__---_-__--_-__-__-____---______-__--_----___
-_--__----_-___----__----__-______-__--_----_-___-_-_--___-_--__-___---__--_
__--___--_______--_--_____-__---_____--_----_----___-_-___------__------__--
---_--_-_-__--__-_-_____-__---_---___--_-_____-_-__-_-_------____---___---_-
__--_---___-_-_-__--_--_-_-_--_---_-_--__-_---_--_____-_--_-_-_-_____----___
-_-_-_____---_---__--_---____-_-_-__-_-___-_-_____-__--------_----___-___---
_-___---_-_--_--_-_---_____--_--_-_-__-____-_--___-_____-____------_------_-
_________----___----____--_-_________--_---_-__------_----__-__-----_-_-_---
_-___-__-___---_---_---___--_____-_--____-___-_-----_-__-_---___-_---_-_----
_--__-_-_-__-_________-__--_----__--_--_-_----_---___---____-----___-__---_-
__-_--_--_-__-_---_--_-__--___---__----__--_--___---_--__--__-_--__-__-_____
__-_-_--_-__--__------__-__--_____-______-__-----___-___----_--_-__-_-----_-
__-_--_--___-__________------_--___--_----_-_-----__-__--_---____-_-_--_-__-
-__---__-__------__----_____-__---__---_____---_____---_-__---____-__----__-
-__--_---_-_--_-__-_-__-_--__----____-___-_---___-_---_--_-_-_--_-__-__-_-__
_---__-_--____-_-_---_---____--_-_---_--_--___--__----_-____-__--__-_-_-__-_
_---_---__-____-_-_----_-_-____-__-__--__--__-_-----_-_---___-_-_--_--_-____
----_-_-_---_--__--___-___--_-___-__-___-----___-___--_--_-___--___------___
_---------_-_-____--____----_-_--_-__-_-_---___-___---__-__-----_-_______-__
---__-_____-___-_---_--___--_-_______-__--_-__--_-__-_---_--_--_---_-_----_-
--_---_-__-_--_-__--_____----_--____-_-___-_-----_-_____-__----_-_--___--__-
______-__-----_____-__----_--_--__-_-_---__--_-_---___--____--_-___----__---
--____--_----__----__---_-___-------_-_--___-__-_--___---_-____--___-___-___
-__-___--_--_----_-__-___------__-_----_---__--_--__--_-____-_________--_-_-
___---_-__-__-_-__-_---__-_-__---__------_____---_---_-__-_-__-___-_-___----
-_--___--_--_--__--_---__-----_-_---_-__-_--_---___--_--__-__--_______-_____
-----___-___--__-__-__-----_____--__---_-___--_-----_-_-____---___---____--_
_-__--___-__-___---_----_-__-____-_-_----_------_-_____--__-----_--__-_-____
-__---_-_-___----_-_-_-____--_---__--_-_-___--_--_--_--_---__--____---______
__-__------___---__-_-------___---_-_____-_-_-___-_-_-_--_____-_-_-_-_--_--_
---_-_-_--___-_---___-_--____-__---___--___---___---__--__--___-_--__-_--_--
-__--_-_-_--_--___-_---______--_-----_-_-__----__-_---__-_---_---______-____ なんだかすでに砂嵐状態で気が引けますが、つまらない質問です。
昔実験装置に組み込んだMAXIIボードを複製することになったのですが、
.pofファイルとUSBブラスターが有ればQuarutusPrimeのプログラマーで
焼けますか?
もう何年も前の話で忘れてしまいました。 bemicro max10はもう生産しないんかねぇ… maxiiはライトエディションかスタンダードエディションなら対応してるっぽい ライターのソフト側は古いの対応してるよ
MAX3000Aとかも最新ので書けるし いや、むしろSDRAMの値段調べて安いと思ったので店頭受け取り予約して買っちまった MAX10自体が2000円ぐらいの価値しかないから出しても4000円だな この手の安いFPGAボードでSDRAMのせられて、ライター付きって
今までなかったんじゃ? MAX10キットで何かやった人マダー
つうかPICでJTAGを作るのをあそこまで解説してるのが面白かった。 >>12
BEMICRO-CV $49.00
Features:
・ Cyclone V E FPGA (5CEFA2F23C8N)
・ 1 Gbit DDR3 SDRAM (x16)
・ 2-Terasic 40 pin prototyping headers
・ Embedded USB-Blaster for use with the QuartusR II Programmer
"Embedded USB-Blaster"、互換性が糞と言う報告が上がってたようだが
とりあえず、Config 機能も付いてはいる。 3個チェーンしたら24MじゃJTAG通信できん
16ならいけるけど、設定保存されないの面倒すぎる
バッファとかダンピング調整すべきかなぁ Altera のJTAGプリミティブの情報
具体的には "cyclonev_jtag"、 この辺の情報って非公開か?
隠すほどの物でもないと思うが、探しても見つからない。
おおよその見当は付いているが、
欲しいのは、http://japan.xilinx.com/support/answers/10703.html に有るレベルのタイミング情報
encrypted にしてるぐらいだから、隠したい意図は解るのだが
試しに、Simulatoin で確認してみたら 全出力="Hi-Z"で駄目だった
物に聞くしかないのか・・・ MAX10で、DEV_OE機能を無効にしてユーザーIOとして割り当てても、
ピンに値が来ません
割当自体にエラーは出ません
Quartusのバグでしょうか? 30ドルのMAX10の在庫が復活した
送料は無料か知らない 送料無料っぽい
place order最後クリック時の表示grand totalは$30になる
が、この最後の画面でもshipping feeが$xx.xxなのが不気味
結局注文しなかった 弄ってる暇ネーや FPGAの勉強始めてみようと思うんだが、初めて買うボードは
Atrix-7 35T Arty FPGA評価キット
Terasic DE0-CV
のどっちがおすすめ? >>23
SDRAM使ってみてから考えよう。
使い方を工夫すれば結構何とかなる >>23
ぐらい、ってのにどこまで含んでいいのか、だけど3.1Mb位はオンチップでblock ramがある >>21
>>22
遅れてすみません、DE0-CV買いました、ありがとうございます 自分も勉強したいと思っているのですが
こういうボードってPCとのデータのやり取りはどうするものなんでしょうか >>27
俺も仲間
Nano-SOCも検討したんだけど、今一なんでDE0-CVにした
Nanoは、SOCが邪魔してDRAMのレイテンシがべらぼう
これ、邪魔な7-SEGとかSWとか とは違って
"使わなきゃそれで済む" ってわけには行かないからな つかしかし、最近のツールの肥大化はどうよ
最大サイズのデバイスに合わせてあるからでかくてかなわん
小〜中しか使わないのに >>28
具体的に何をしたいか、だけど波形見たいならSignalTapIIで見られる。
データ収集したいなら、NIOS2使って仮想COMポートかSDカード経由ってのが楽だと思う。ただのDE0ならRS-232Cのトランシーバは乗ってるから
NIOS2使わなくてもハードだけで通信できた。 >>32
ありがとうございます
RS232Cのあるボードもあるんですね 最近BeMicro MAX10使い始めたんだが、SDカードみたいにSDRAM上に画像データを書き込んだりはできんのかね?
あと基板上のSDRAM使うにはSDRAMコントローラーは必要ないんよね? >>35 レスありがとうございます
言いたいのは、SDRAM上に画像データを複数保存してSWで切り替えてHDMI表示させることができないのかってことです。
初めてFPGA使うから全くわからんのです。 HDMI-IFが付いてないから、BeMicro MAX10単体では出来ない
また、AlteraのFPGAはHDMIに必要なI/O規格、TMDS(3.3V 差動)をサポートしていない
従って、単純にHDMIコネクタを付けるだけでは駄目で、 多少の外付け部品 &工夫が要る。
他方、XilinxはTMDSサポートなのでHDMIコネクタを付けるだけで対応可
(残念ながら、ここはXiに負けてる)
後、HDMIはそれなりに高速だから高い解像度は難易度が高い
解像度 1024x768 程度までならそれ程の苦労は無い
BeMicro MAX10に搭載のSDRAMは、8M-Byte
これに収まる範囲の画像データなら、複数保存は可能。
当たり前だが、SDRAM使うにはSDRAMコントローラーは必要
(外付けのコントローラーが必要って意味じゃないよ) >>37
丁寧にありがとうございます。
HDMIは例えでした。そこは拡張ボード等で対応しようと考えています。
Qsys上で簡単に実現しようと思っているのですが、SDRAMコントローラーとon-chip-memoryがあればよいのでしょうか?
どうもその2つをConnectionで繋ぐことができず困ってます。
単純なメモリとしてSDRAMを使う際もNiosは必要なのでしょうか? > SDRAMコントローラーとon-chip-memoryがあればよいのでしょうか?
SDRAMコントローラーだけで可
s1(az_xx, za_xx)は、SDRAMを制御(読み書き)するための内部で使う信号、
wire(zs_xx)が外部への信号で、これを端子に引き出して外のSDRAMに繋ぐ
Niosも必要ない、信号群s1がNiosで使い易いように合わせてあるってだけで
s1を直接自分で制御すればNiosも不要
信号s1群は、割と素直な仕様だと思ったから
夫々の意味/仕様は自分で調べてくれ
始めたばかりで、何が解らないのかが解らない状態なんだろうけど、
最初は誰でもそんなモンだ気にすんな
だが、後は他の人に聞いてくれ・・・ SDRAMコントローラ自体を自分で書いてみるのも勉強になる マルツのMAX10-FBと-JB(完成品)を買ってみたのですが、
説明書を読むと、使い方は本を買ってそちらを見ろだって。
わーんいじわる、誰か初期設定だけでいいので手順を教えてくれ。 >>40
必要ないのですね。
wireが外部接続だということも分かりました。
頑張ってみます。ありがとうございました。 ここらでみなさんSDRAM言ってるのは、SDR? DDR? それとももっと先の? SDRだろうな
DDR2/3は、キャリブレーション / ターミネション / DDR-IO など有ってヤタラ面倒くさい
そのくせ、バースト前提なもんだから SDRよりレイテンシが長くなりがちで
苦労の割りに得られるものが少ない
(俺個人がレイテンシが最優先でバーストは必要無い故、この結論)
DDRの場合、Q-SysでPhiだけこしらえて、後は自前でって感じだな。 XilinxのSpqrtan3,Spartan6で、MicroBlazeでマイコンを使ってみたいと思っています。
いくつかの質問を教えてください。
・MIcroBlazeって、有料なのでしょうか?
・ISE14.7で開発できるでしょうか?
・MIcroBlaze MCSでの方法について、書籍は、れすぽん氏の書いた本、慶応大学の学生が書いた本
以外に、入門書はありますか?
・CQのセミナーは、ALTERAのばっかりで、XilinxのMicroBlazeのセミナーがなかなか見あたりません。
有料でも良いので、Xilinx MicroBlazeのセミナーは無いでしょうか?
地方に住んでいますが、東京でも大阪でも行きます。 メモリはどんどん3D実装されるだろうけど
FPGAはどうかな?実装密度よりも,配線パスが短くなる意味が大きいよね >>46
MicroBlaze MCS が無料でISEで開発できるのはご存知だと思うけど
本来はISE+EDK(有償ツール)という組み合わせで開発する
下のどちらか
ISE Design Suite : Embedded Edition
ttp://japan.xilinx.com/products/design-tools/ise-design-suite.html
ISE WebPACK Edition + EDK (エンベデッド開発キット)
ttp://japan.xilinx.com/products/design-tools/platform.html
ボード持ってないなら、これ買うのが一番手っ取り早かった
Spartan-6 FPGA エンベデッド キット
ttp://japan.xilinx.com/products/boards-and-kits/dk-s6-embd-g.html
でも、これからはじめるのなら Vivadoが使える新しいデバイスのほうが
いいのでは? QuartusでQsys使ってプロジェクト作成した場合、ModelSimに何か特別なライブラリ追加しないとですか?
シミュレーションできなくて困ってます。 初心者がvivadoなんかつかったら迷宮入りだよ
spartan3は古すぎ、6はこなれててボードが安い(かな) webパックで使える
MicroBlaze MCS はコア周辺弄れないから制約がある代わりに迷宮入りもないよ
ホントは>51の示したツールでcoregenの親分みたいなのでカスタマイズするんだけどね
本やweb記事読んで試行錯誤した方がセミナー旅行より時間と金を有効に使えると思う
試すしかない。会社だったらトレチケ付きのキャンペーン時に買うのもいいな。 Vivado は中途半端にDCのまねして使いにくい。ISEのほうがよかった。 おれでさえSRAMのコントローラを過去のInterface記事を参考に書いて、3枚バッファして デジタルVGA→アナログVGA できた。
HDMIならそれが早いだけなのと、符号化しシリアル伝送。自作IPでもFPGAメーカIPでも外部LSIでもさほど変わらず。水平同期と垂直同期とデータの関係さえ守れればさほどむずかしくない。はず
水平同期 と 垂直同期のブランク期間に切り替えることを考えれば、入出力が同期回路か非同期回路か。
たとえ、非同期でも途中1枚捨てればいいだけだから楽。
動画でフィルターで複数回合成してとかやると面倒だけど、上記のシーケンスの作りとモジュールの役割分岐点がしっかりしていれば問題ない。
がんばれー >>54
>会社だったらトレチケ付きのキャンペーン時に買うのもいいな。
まだTC付きのキャンペーンってありましたっけ。
というか、XilinxのFPGAマイコンのセミナーって、無いのでは?
>>55
>中途半端にDCのまねして使いにくい。
DCって何ですか?
>ISEのほうがよかった。
同意。ISEは良かった。
VivadoでSpartan6が使えないって、詐欺に近いと思っています。 とりあえず環境インストールするとディスクバカ食いするのどうにかしろ >>57
揚げ足取りみたいだけど、ISEがいいなら
VivadoでSpartan6が使えないことに文句言う必要ないような・・・ bemicro max10が基板上にUSB-Blasterを搭載しているのは理解できるんですが
それをコンフィグレーション以外でPCとの通信に使うことはできないんですか? 純正(or 100%の互換性)なら可能
bemicroに乗ってるヤツは、互換性がPoorとの報告有りだから
お尋ねの品が、実際どうなのかな知らん。 Jtag Avalon Master Bridge とか xilinxのXcell Journalの最新刊94号はいつになったら出るんだ ツールが対応してないのに、Windowsが勝手にWindows10になりやがった… ご愁傷様です
Linuxに乗り換えるなら最近Ubuntu 16.04 LTSが出ましたよ >64
あれは良かった。俺の手元には2011のsummer(73,74)で止まってる。
印刷が凄く綺麗だし、文章のセンスがいい。図が分かりやすい。 すいません、相談させてください。ホビーユースです。
FPGAでカウンター回路を書いてどれくらいの周波数までカウントできるものでしょうか。手元にあるのはSpartan3Eの開発ボードPapilioOne500kです。
したいことは超音波スピーカーとマイクの距離の測定ですが、100MHz〜1GHzくらい必要そうで、マイコンでは無理そうなので、手持ちのFPGAでできないかなと思った次第です。 ビット数によるけど、普通に書いて300MHzくらいかな。
500MHz越えは、SFLRとかに工夫しないと難しい。
そもそも、300MHzくらいになると外からクロック入れられないから、内蔵PLL使わないとね。 体内の画像化を測る音波エコー装置なら周波数が2Mとかだよね! 赤道儀の方位を測りたいんですが、直径10cmで1分角(1/60度)の分解能だと10MHz、1秒角(1/3600度)だと700MHzほどで計時する必要がありそうと思ったんですが、無謀な気もします。 実際にコード書いてコンパイルしてタイミング制約満たせるか確認すればいいんでない? >>76
なる。そこまでならソフトウェアだけで検証できそうですね。 >>78
そうです。1軸の赤道儀がどこを向いているのかを距離の精密測定で知ることができないかということを試行しています >>80
調べてみました。レーザーというか光波測距も今回の要件を満たしてくれる気がします。
赤道儀なんで迷光は困るわけで安易に音波と考えたのですが赤外線とかならいけるかもしれません。 DE0-CVでファミコン作ってみました。
まだ途中なんですが、誰かに見せてみたくなったので書き込みます。
感想とか聞かせてもらえると嬉しいです。
http://youtu.be/ASx5mEBuKJE >>82
すばらしいね
CPUのエミュレート実装部の情報はどこから入手したのか気になる ファミコンのCPUは6502のカスタマイズなので、6502の公開されてるドキュメントとか、nes.orgだったかな?辺りで集めました。
僕はOSとかドライバとか、ソフトの人間なので、FPGAは本職ではありません。
本職の人達はFPGAでどういったものを作ってるのか色々教えてもらいたいですね。 >>84
なるほど
ちなみにゲームのROMの実行はハード的にデコードしてるのか、Nios II上にソフト的にエミュ走らして実行してるのかどっちですか? FCなら優秀なEMUがたくさんあるからFPGAでやる意味があるのかね ROMデータはどこに保存?一番手っ取り早いのは.hexなり.mifに変換してblock ramの初期データに保存だと思うけど。
ファミコン辺りだと容量も大して大きくないから-CVなら余裕で収まるかな?
本体の完成度がもう少し上がったらネットに公開お願い。
Nios2使ってSDカード(ファイル)から読み出したROMデータをblock ramに転送する、ってのが次のテーマでしょうか。 >>88
使うことに意味があるのではなく、作ることに意味がある >>87
Niosは使わずに6502を完全に再現しています。
デコーダとアドレス変換、ALUがやはり一番ややこしかったですね。
ソースは
https://osdn.jp/projects/motonesfpga/scm/git/motonesfpga/
で公開してます。 >>90
仰る通りです。僕はレトロゲームより、レトロCPUが好きなんで、作ってみました。 >>89
はい、今は.hexでblock ramに置いてます。DE0だったらflashに置けたんですけど、DE0-CVはない、DE0だとblock ramが足りないっていうジレンマに陥りました。
Nios2とSDカードってのはやり方がわからないですが、考えてみます!ありがとうございます。 GPGAで6502かぁ・・・そういえば昔々にトラ技でやってて、
Apple][のCPUを張り替えて動かして見せてたっけね。 あれ?FPGAと叩いたつもりがGPGAになってしまった(苦笑 そうなんですよ。6502は色々使われてるんですよね。ATARI でしたっけ?とかapple2とか。レトロCPUはロマンがあります。
古い車みたいで愛着がある。
今はFPGAで一人てでも作れる時代になって、小学生だった自分に見せてやりたいですよ。 >>91
ハードウェアでちゃんと再現してるんですね
素晴らしいです Nios2はalteraの標準risc cpu ipで、Cコンパイラやライブラリ、ペリフェラルが揃っているので
簡単に使えます。
SDカードを扱うにはSPIマスタを追加してSPIデバイスとして扱うのが普通だと思う。
FAT FSもフリーで出ているのでそれを組み込めば簡単に出来ると思う。
もっともOSまで書けるプログラマには不要かもしれないけど >>98
僕もFPGAを使ってフリーのCPU IPとか使って
色々おもちゃを作っているけど
CPUまでは無理です。頭が下がります。
実はZ80途中まで書いたけど、うまく動かないしフリーの物よりも巨大なものになってしまったので
諦めています。 >>100
Z80、定番ですね。巨大なものになるのは僕のでも同じです。場数を踏んでこなれてきたらコードもスッキリするんだと思います。
僕の場合はやはりコードをソフトウェア的に組んでいることが良くなかったんじゃないかなと思いました。
もっとタイミングとレジスタを意識して組めばスッキリするんだろうな、なんて考えてます。
ちょっとタイミングがずれただけでピクリとも動かなくなったりするとムカつきますね。アセンブラで書けば数行ですむようなロジックがVHDLだと百行以上とか、ソフトウェアの人間からすればあり得ないわーって思いながらやってますw >>99
ありがとうございます。カーネーション。
マイSoCを作るみたいな感じなんですかね。最近のFPGAにはARMコアのハードマクロも入ってるやつとかもあるんでしたっけ。
なんかそっちのやり方でも別の面白いものが作れそうですね。 やはりAが人気なのね
なんとなく勉強してみようとMAX10、Zynq、
SmartFusion2のボードを一気に買って一通り
弄ってみようと思ってたんだけど仕事でZynqを
ごり押しされてるのでVivadoから手をつけてる
ソフト屋なんでSDSoCも触ってみたいし Quartus使ってverilogでFPGA作ってるんだけど指数計算ってできないの?
Nios使ってC言語で処理するしかない? 能力的にそれしか思いつかないんならそうするしかないんじゃね >>105 回答ありがとう!
いろいろ調べたけど浮動小数扱えるIPが入ってるのね
そこで聞きたいんだがFP_functionはMAX10じゃ使えないのかね?
デバイスファミリーにMAX10がないんだが… Nios2でSDカード読めるようにして、OSどうすっかな、ファミコン動かすだけだったらOS要らないな、エミュレータのコードはシステムコールほとんど使ってないし、うんうん、とか考えてたら、別にFPGAじゃなくて、アルマジロとかでもいいような気がしてきました(´・ω・`)
時間があったらやってみます! 今からFPGA始めてみようかと思うんですが
初めて買うボードはAlteraとXilinxどっちがおすすめですか? スレ読んでたら書いてありましたね。。。
DE0-CV買います >>107
SDカードはどうやって読み込むようにしているんですか?
Pmod使ってるんですか? >>112
あ、すいません。まだ作った訳じゃなくて、これから考えるとこです。おそらくその辺に転がってるソースを使うと思うんですが、まだ何を使うとかは私も分かりませんで。
linuxのソースをポーティングするとかだったらめんどいですけど、OSなしの場合はそんなに難しくはないんじゃないかと思います。
実は結構大変なんですかね(^_^;) FPGA初心者です。
【質問】
Xilinxのプラットフォームケーブルがほしいのですが、
適合する製品を教えてください。
@純正 ※HW-USB-II-Gでしょうか?
回答⇒
A安価なもの
回答⇒
B自作する場合の回路図例が載ったサイト
回答⇒
Cコメント
・型番:SPARTAN6・・・XC6SLX45-3FGG484C
・信号の流れ:SPARTAN6⇔JTAG⇔USB⇔PC >>115
ありがとうございます。
>・型番:SPARTAN6・・・XC6SLX45-3FGG484C
にも焼けますでしょうか。 >>116
ごめんね。とても古いデバイスしか使わないから、わからない。
でも、実際に焼くのはそのデバイスにJTAG経由でつながっているFLASHだよね。
責任は持てないけど大丈夫なんじゃないかな。
Spartan6の小規模なものになら使ったことがあるけど、たぶんその話では安心できないのだろな。 >>116
Spartan6はConfig用のROMは内蔵していないのだが、Spartan6に接続した
Config ROMにデータを書き込めるかということ?もう少しきちんと説明しなよ。 >>117
>>118
そうです。ROMに書き込めるかということです。
言葉足らずですみません。
>JTAG機能の他にSPIを使用し
>EEPROMへの書き込みを行うことができます。
とあるので大丈夫だと思うのですが、
もう少し仕様書調べてみます。 >>118
>>114 を読むと、JTAGでSpartan6をコンフィグするとしか読めない。 日本語版Xcell Journal No.94キター >>120
SPIフラッシュROMに直接書けたかどうかは記憶があやふやだけど
iMPACTの機能として、Spartan-6をJTAG経由で書き込み器として
コンフィグ後、それを使ってROMに書き込むことはできるよ >>123
PC→USB→JTAG→Spartan-6(mcsファイル)→SPIフラッシュROM
という理解で合ってますでしょうか。 (mcsファイル)っていうのがどういう意味か分からんけど
データの流れとしてはあってる mcsファイルは中身hexファイルでROM焼きに使う
fpgaのRAMをPCからツールで直にconfigするにはbitファイルをつかう
...
しばらくxilinx使ってないやmicroblaze懐かし
もうzynq使うことになって使わないかも >>124
115が書いてたDigilent社のJTAG-HS2は会社で使っているけど、
Spartan6に接続したConfig用のSPI Flash ROMにMCSデータを
書き込むことは可能です。書き込み用のソフトはXilinxのを使って、
ケーブルはJTAG-HS2が使えます。
Xilinx純正のHW-USB-II-Gより安くて気軽に使えます。 単にSPIフラッシュに書き込むだけだったら他の方法もあると思うけど
JTAG-HS2はChipScopeとかMicroBlaze/ZynqのDebugにも対応してるから
他の選択肢は実質的にないに等しいかな
実際、XilinxのZynq評価ボードにもDigilentのが載ってるしねw >>128
ライターは仕事なら純正品って昔は言いました。タイミングや書き込み時の電圧、
電圧を揺らしてベリファイするとか、昔の上等のライターは信頼性を高めるいろいろな工夫が
ありました。
今は、JTAGプレイヤーをCPUにのっけてCPUからコンフィグするような使い方もありますし、
かなり、規範も変化していると思います。 >>131
実際のところ、
>JTAGプレイヤーをCPUにのっけてCPUからコンフィグするような使い方
を実装しようとした最初のころに、客先とこんな会話がありました
「それは要はライターだよね」
「まあそうです」
「ライターたったら純正でないとだめでしょう。何かがあったら首がとぶよ」
自由ですね。 そんな真偽もわからんような話なんてどーでもいいし、
いいんじゃないの? >>128
昔は純正品を使っていましたが、Digilentの方が安いのと
純正品と比べて書き込み速度が速かったので、社内で純正を使う人は
殆どいない(Digilentが全て出払っていて、純正品しか余っていない時に
渋々使うぐらい)です。
XilinxのiMPACTはDigilentをサポートしているし、XilinxでもDigilentに
ついてサポートしているので、今は純正に拘る必要性を感じないです。 >>132のジイサンは分かってないみたいだけど
SPIフラッシュに書き込んでるのはUSB-JTAGライターじゃなくて
FPGA上に構築されるIP(実際はMicroBlazeかなんか)とそのソフトなの
だから、そのIPとソフトをFPGAに書き込んでるのが純正ライターか
Digilent製かは関係ないよ
まあ、そもそもSPIフラッシュなんてXilinxの製品じゃないわけだから
Xilinx製でもDigilent製でも一緒とも言えるけど データの流れは
PC⇔USB⇔JTAG⇔FPGA⇔SPI⇔FRASH-ROM
だよな。
FPGAはなぜJTAGで受けるのか
SPIで受ければいいのに
長年の疑問 >>137
PC⇔(USB)⇔SPI⇔FRASH-ROM
FRASH-ROM⇔SPI⇔FPGA
これが本来の姿だよ。
おまえは長年やってはいないだろ? >>136
SPIのROMじゃなくて外部CPUからコンフィグする話じゃないの? >>132は、CPUからコンフィグしようとして、純正ライター信奉者に難色を示された話。(信奉者がそういう不安を持つのも自由かもね)
このとき、当初は>>139が書いているようにROMなしで直接コンフィグを想定していたけれど、紆余曲折を経て、FLASHメモリ入りのシステムにして
JTAG経由でCPUからも専用FLASHメモリに書き込めるようなものになったよ。
専用FLASHしか使ったことがないのだけど、汎用SPI FLASHメモリを Xliinxで使う場合は、
>>137が書いているような
●PCからの書き込み時
PC→USB→JTAG→FPGA→SPI→FRASH-ROM
※これは、「FPGA上に構築されるIP(実際はMicroBlazeかなんか)とそのソフト」ではないよね
ttp://japan.xilinx.com/support/documentation/application_notes/xapp974.pdf
●起動にともなうFPGAのコンフィグ
FLASH-ROM→SPI→FPGA
と、>>138が書いているような
●PCからの書き込み時
PC→USB→SPI→FRASH-ROM
●起動にともなうFPGAのコンフィグ
FLASH-ROM→SPI→FPGA
の2種類があるのですよね。
昔は後者しかなかったけれど、少々遅くてもJTAGだけで完結する前者の方が利便性は良さそう。 >※これは、「FPGA上に構築されるIP(実際はMicroBlazeかなんか)とそのソフト」ではないよね
xapp974.pdfからどうしてこういうこと言えるのか分からん
まあ、iMPACTが対応する前にこの方法を実現するApplication Noteが
出ててそれには PicoBlaze 使ってたから、そっちの可能性が高い
かもしれんし、シーケンサベースのIPかもわからんけど
少なくともこの方法の場合、Xilinx純正ライターかそうでないかなんて関係ない
XilinxのSPIフラッシュへの書き込みアルゴリズムが信用できないのなら
ROMメーカーのライター持ってくるしかないんだから >>141
>xapp974.pdfからどうしてこういうこと言えるのか分からん
俺の勘違いだろうか。
xapp974は、JTAGのバウンダリスキャンを使ってSPIポートを操作して書き込む話だと思ったのだけど。
>少なくともこの方法の場合、Xilinx純正ライターかそうでないかなんて関係ない
これはそうでしょうね。それでも心配する人がいるとは思いますが。 MAX10使っているのですが、LE数が200%とかになってしまいました…
レジスターを極力減らすとかcase文をif文にするとか簡単にLE数減らせる方法ありませんか? >>143
そんな誰でもできる魔法みたいな方法があったら
みんなデバイスサイズを二回りは減らせるわ >>144 さん
ですよねw 失礼しましたw
コンパイルレポート見たところLUT含むモジュールがLE沢山食ってるんです。
トータルメモリービットが0%なのですが、どうやったらそこにLUT置けますか?? ソース晒せば、暇なエキスパートがいじってくれるかも。 >>145
なんでメモリーにLUT置けると思うの? >>142
まあ、Indirect Programming の Indirect は、直接ROMのSPI端子に
直接ライターを接続しないで書き込むという意味だろうから
バウンダリースキャンでFPGAのSPI端子を制御して書き込む手法を
そう言ってもいいだろうけど、XAPP974で説明してるのは
FPGAを書き込み器としてコンフィグした後、その書き込み器が
PC側からJTAGで書き込みデータを受け取りROMにSPIで書き込む方法
(XAPP974の3ページ目、Indirect ISP of SPI PROMS に、
バウンダリースキャンで書く方法は遅いとか、書き込み中(前)に
FPGA はコンフィグされるので消去される、とか書いてる) 想像を絶するような「プログラム」を書いてるんだろうな
根本的に、ムリ うん、ハード的な仕組みを全く理解してない感じするよね あくまでも回路を描いているんだ
ソフト的な振る舞いをさせることはあるけれども。 >>148
ありがとうございます。
最初に思い違いをして読んでしまっていたようです。
たしかにバウンダリスキャンだけでコンフィグしていたら時間がかかりすぎますね。
もう一度目を通します。 そもそも今の(SPIに限らず)単一電源のフラッシュROMって
昔のROMライターをオンチップで内蔵してるようなものだと思う
だから、verifyして所定のデータが書き込めてること確認できたら
信頼性云々って問題はありそうにないんだけどね
まあ、理屈・原理から説明しようとしても聞こうとしない人には
何言ってもムダなんだけど まぁ、絶縁している膜の劣化によるリーク増大もあるけどね >>155
その通りだと思う
あと、FPGA自体のコンフィグもどういうやり方であっても
DONE信号が出るまで到達すれば、あるいはもっと慎重にやって
読みだしてverifyできれば、こっちはSRAMなんだし信頼性がどうとかいう
問題はないはず 『FPGAスタータ・キットで初体験!オリジナル・マイコン作り』という本に従ってDE0-CVにnios2を入れて
Lチカのプログラムを書込んだんですが、FPGAが無反応です。
本に出ているトラブルシューティングは全部確認しましたが、他に何が足りなさそうなのか指摘していただけないでしょうか
トラブルシューティングの中身は
・Buildの際にbuild completeが出ているか確認 → 出ている(エラーなし)
・nios2EDSのメニューのRun->Run Configuration のTargetConnectionでRefresh connectionを押してリトライ →やったが変わらず
・上記タブで、SystemIDcheckesを無効にしてリトライ → やったが変わらず
・Quartus2のProgrammerでnios2込みの回路をプログラムしたか確認 → 再書き込み後、Lチカプログラムを実行しても変わらず
・Quartus2でnios2の入出力ポートが正しく結線されているか確認 → 確認して問題なし。プロジェクト再作成してみても変わらず
・Quatrus2でピンアサインを忘れてないか確認 → 確認して問題なし。プロジェクト再作成してみても変わらず
・Quatrus2のHDLyはQsysのPIO設定において入出力を間違えていないか確認 → 確認して問題なし。 プロジェクトを再作成しても変わらず
・QsysのGenerationメニューでGenerateボタンを押したか確認 → 確認して問題なし。 プロジェクトを再作成しても変わらず
・nios2EDSの再起動、PCの再起動 → 実施しても変わらず
となっています。
nios2に入れたソースコードは以下のとおりです。
#include "sys/alt_stdio.h"
#include "system.h"
int main()
{
/* Event loop never exits. */
while (1);
*(volatile unsigned long *)PERIOD0_BASE = 50000000;
*(volatile unsigned long *)DECODE0_BASE = 25000000;
return 0;
}
PERIOD0_BASE、DECODE0_BASE は共にPIOの28bit出力です。
続きます 続き
HDLは以下のようになっています。
nios2をコメントアウトして、period0、decode0に適当な値を入れるとその通りにLチカするので
LED、クロックのピン配置は問題ないと思います。
module pwm_ctrl(
input CLOCK_50,
input RESET_N,
output [9:0] LEDR,
);
reg [27:0] cnt;
wire cnt_clr, cnt_dec;
wire [27:0] decode0;
wire [27:0] period0;
always @( posedge CLOCK_50 or negedge RESET_N) begin
if( !RESET_N)
cnt <= 28'd0;
else
begin
if( cnt_clr)
cnt <= 28'd0;
else
cnt <= cnt + 28'd1;
end
end
assign cnt_clr = ( cnt == period0);
assign cnt_dec = ( cnt < decode0);
assign LEDR[0] = cnt_dec;
nios2 u0 (
.clk_clk (CLOCK_50), // clk.clk
.decode0_external_connection_export (decode0), // decode0_external_connection.export
.period0_external_connection_export (period0), // period0_external_connection.export
.reset_reset_n (RESET_N) // reset.reset_n
);
endmodule 肝心の開発環境を書き忘れてました。
OS:WIndows10Pro64bit
Quatrus2:Quatrus Prime Lite Edition ver16.0.0 >while (1);
ここで無限ループするからでは・・・ 自分の超凡ミスに気付きました。
while (1);
*(volatile unsigned long *)PERIOD0_BASE = 50000000;
*(volatile unsigned long *)DECODE0_BASE = 25000000;
return 0;
これじゃ点滅するわけありませんね。
大変お騒がせしました。 >>162
ご指摘ありがとうございます。
超恥ずかしいミスをしてしまいました。
熱くなってるともう駄目ですね Quartus Prime v16.0 (includes Nios II EDS) Size: 2.4 GB
↓
Quartus Prime Software v16.0 Update 1 Size: 6.2 GB
わけわからんね、嫌がらせか? マイコンのI/O増設目的で、FPGAを使おうと考えています。
マイコンとFPGAは、16bitのパラレル + アドレス4bit + RD + WR という接続です。
ここで質問なのですが、
マイコンのRDの時間中に、FPGAのポート情報が変化すると、
そのタイミングによっては、マイコンの読み取り値が化けるのではないかと思います。
あるいは、SPIのA/Dを付けてFPGAで常時A/Dをかけまくって、FPGA内部で平均して、
マイコンI/Oマップのある番地に変換値を更新しまくる、という場合も、
マイコンがRDしている時に、そのF/Fの値が変更されると、マイコンは変な値を読むことになります。
こうならないために、どうやって防げば良いのでしょうか?
FPGA内にデュアルポートRAMをおけばいいとも思いましたが、
それでも、同じアドレスのRDとWRが同時発生したら困ると思います。 RDの立上りエッジでFPGAに取り込んで、
マイコンからはちょっと待って読めばいいじゃないの
よくわからんけど >>166
なんでこうアホみたく重いんだろうなFPGA系の開発環境って…。 手を抜いてるか、嫌がらせかのどっちかだ
オリジナルよりもパッチの方がデカイ、しかも3倍とか有り得ない
中身調べてないけど、おそらく Linux/Windows/別エディション の全部入りだろ
こんな事してるから、経営が傾くんだよ馬鹿 Intel
MSと一緒に沈めや すみませんFPGAで音声処理してみたいのですが、たとえばギターの音を取り込むなどといった場合A/D変換をかませる必要があると思いますが、具体的にどのように行えばよいのでしょうか。 自分が何を知っていて何をしたことがあるか明らかにしたほうがいいアドバイスもらえるぞ >>168
デュアルポートを噛ませるなら、タイミングは気にしなくていいです。
データ化けは起こりません。 >>172
音声信号は、入力---->アンプ---->A/Dコンバータ---->FPGA
A/D制御信号は、A/Dコンバータ<-----FPGA
具体的には、
・入力信号の大きさを決める。
・A/Dコンバータを決める。
・そのA/Dコンバータの入力に見合うように、アンプ回路を考える
・回路図を書く
・部品を買ってきて、配線、ハンダ付けする
・FPGAのプログラムを書く
・何かの方法で、FPGA内のデータを音にして聞いてみる。
こんな感じです。 トラ技のMAX10を動かそうとしてるんだが、電源が何種類もあってよくわからない。
電源電圧のアサインに関しては何も書いてない。
添付のLEDチカチカのプロジェクトは3.0Vと2.5Vが混在してる。
で回路図をみると3.3Vで共通になってる。これはどうも間違いだろうとおもう。
そこで、VCCAを3.3Vに設定した。
VCCIOはPINアサインでするようにとなっているようなので
PINアサインで点灯用のLEDのVCCIOを3.3Vにした。
これでコンパイルするが、LEDに関連するバンクの電源は3.3Vにアサインされるが
ほかのVCCIOは2.5Vになる。
で構わず書き込みしてみたが、やはりConfig_doneが1にならないというエラーが
でる。フォールトの設定ができないので、全部IOピンを登録して電圧を設定
するんだろうか? 意味がわからない。
だれかわかる人おしえてくらーー >>176
ピン電圧設定とconfig_doneにならないのは関係ない。
デバイス設定とかライタの設定とか確認したほうがいいよ。 電源はDefault I/O 3.3V やてみた。 だめだった。
Error (209014): CONF_DONE pin failed to go high in device 1.
が出る。さて、、、、 >177
あっ、ありがとう。そうみたいです。
あとはJTAGコネクタ−8PINになんか変な信号が入っている。JTAGEN。これの処理が
なにかいるのだろうか? 昨日のつづき
クロックとBOOTSELのショートバーを取っ払ってSOFをコンフィギュレーションするとパスした。
なぜだ?
クロックなしでもJTAGできるのか?
秋月のクロックが安物なのでまずいのか? そんなばかな。
安物のオシロなので怪しいといえば怪しいが一応発信はしていた。
JTAGコンフィギュレーションには別に外部クロックとかいらんでしょ >181
いらんのですか?
クロックを外したら、正常に動くというのは、クロック(48Mhz)のノイズか
なんかの影響ですかね。
実は5mmスクエアのSMDのクロックしか持ち合わせがなくて、ICソケットの上に
強引にはんだづけして、にわか作りしたものなので、クロックのラインが
弱いとかあるのかも? 今5V用のクロックしかない。内部クロックを動かす方法を探してみたがよく
わからない。とりあえず5V信号を3.3Vに変換して突っ込んで見よう。
DANEにテストピンがついてないし、R2ってどこにあるんだよ腹の立つ、、。
SW2の下にパッドがある。なんの説明もないがこれはなんだ? DONEのLEDのパッドか?
片方はGNDだがもう一方はどこにつながってるんだ?
まずはR2を探す。
あった裏だよ。
こんだけガラガラに表が開いてるのに。
なんだやはりこのパッドがDONEのLEDなのだ。導通があるぞ!!!
ウシ、LEDをつけよう。
アッ、電流制限抵抗が入ってない。なんと失敗回路かよ。
それで恥ずかしくて説明できんかたんか。 TCKはノイズの敏感だから要注意
立ち上がり(立下り)エッジに、ほんの少しでもザグが入ったりするとアウト
TCKは、直接内部JTAGのクロックになってるので当然と言えば当然だが
これはAlteraに限ったことじゃない、Xiも同じ
俺は、提示の品を持ってないんで、直接の確認はできないが
写真見ると、JTAGコネクタとMAX10の間にXtalモジュールが配置されてるようだ
もしTCK信号のドライブが弱くて、立ち上がりがヘロヘロだともろにヤラレル
この手の症状は、Config手段に使ってる機器特性への依存が大 >>184
>ほんの少しでもザグが入ったりするとアウト
だとすると、
基板の中央にあるFPGA=================================基板の端っこのJTAGコネクタ
というのも、よくないでしょうか?
書き込みの時だけの問題であり、通常のコンフィグのは大丈夫、でしょうか?
(でないと...会社行けないよ) お前らバカなのか?
ザグでもなくザクでもなく「サグ」だっつってんだろぉぉおおおおお サグってパルスの水平部分がだんだん下がることを言うんじゃなかったか? Stomach sagging てのはビール腹のことだと思う。サグは下がることで
オーバーシュートとかアンダーシュートとはちょっと違うかも? でも寝かせて
見るとオーバーシュートもサグでもいいかも? >184
いい情報ありがとう。外部クロックでやったら動いた。理由は不明だが秋月の
クロックモジュールをICソケットにはんだ付けして取り付けてるのが問題なのか?
何かしらクロックが発生するノイズとJTAGが反応しているようだ。
ちなみに外部クロックは同軸ではわせて430オウムてターミネートしてる。
48Mhzがないので50Mhzにしたが、安物のオシロで見ると3角波にちかくなっている。 >185
距離が問題。3mある基版は問題だが、3cmの基板ならOK。W
しかし3mでもノイズはカットして対策すれば大丈夫だ。 基板が3m?
どこで作ってもらえるのか教えてくれないか? 甘く見ない方が良いぞ
品は違うが、↓なんか5cm位なのにケケてたからな
http://akizukidenshi.com/catalog/g/gM-06926/
TCKのTFが大きくて、しかも そのTCKがXtalの真下を通ってる
頻度はそれ程高くなかったけど、1/10程度の確率でConfigに失敗してた
幸い、コイツはTCKのドライブ能力の変更が可能だったので
試しに、TFが小さくなるよう変更したらピタリと止まった
オシロが有るなら確認しておいた方が良いぞ
EMC観点から、必要が無い限りはドライブ能力を下げてるのが普通だからな
50MHzが三角波に見えるような安物でも
もし、TCKのTF/TRに大きな差異が確認できるようなら 要注意。 >基板が3m?
>どこで作ってもらえるのか教えてくれないか?
Cyclone V(300000LE)の35mmのパッケージを40mm間隔で
56000個並べることができます。 kintex7のkc705のボードでシステムクロックをip coreのclocking wizardを
使ってdifferential clockの項目を選んでclk_outとして受け取っていますが
回路で期待通りの動作をしてくれません。
別のシングルエンドのシステムクロックが乗っているボードでは正常に動いて
くれるのですが......
差動クロックを受け取るときの注意点とかありませんか?
あとはメザニンカードが悪さしてるとか...... 「clk_outとして受け取ってる」っていうのは??? component ip is
port
(-- Clock in ports
CLK_IN1_P : in std_logic;
CLK_IN1_N : in std_logic;
-- Clock out ports
CLK_OUT1 : out std_logic
);
end component;
このような感じでclock wizardで差動クロックを入力して200MHZから100MHZに落としてもらう
コンポーネントをipで作って読みこんでます。
あとはこのCLK_OUT1を使って普通にプロセス分を動かしているのですが
これ以外に必要な手順ってありますか? イマサラだけどflex6016の載ったPCIカードを
ジャンクから引き揚げてきたので評価基板風に
仕上げてみよう。(日記) >>204
PCIeカード型の評価基板って普通に使うには気持ち悪いね。
でも、PCIeに刺して使う人っているのかね? >>207
flex6000だとquartus2 9あたりまでつかえます。もう取得できなかったっけ?
xilinxのfpgaが載った基板も積極的に買ってるけど、
spartan2から過去のwebpack iseで使える。
spartan xlあたりより古いとソフト買う必要があってだめ。 >>203
微妙な問題でなく、全然動作しなくてクロックを疑ってるのなら
取り敢えず、CLK_OUT1をどっかのピンに出してオシロで確認
(適当な分周回路作ってその出力見てもいい) >>209
分周して100Hzくらいに落として確認はしてみたんですがそれはちゃんと観測できたんですよね.....
シミュレーションでは正常に動作していますし、シングルエンドクロックのボードで実装しても正常に動きます。
しかし差動クロックのボードで実装した時だけが動かないんです。
具体的な出力波形はサーボモータをPWMで制御していててデューティ比が一定の速度で50%を中心に左右に振れるものなのですが
周期が3msの矩形波までは確認できており、問題はそのデューティ比が左右に振れずに微動だにしない状況だということです。
こんな感じで全く動かないわけではなく中途半端なバグがボードを変えただけで起こってしまうので完全に沼にハマってしまってるといった様相です... 「差動クロックのボード」で動かないというだけで
「差動クロック」が原因で動かない、って絞りこむのは早すぎるかも
それが原因って疑ってるのならば、別の(差動じゃない)クロックソース
つないで試してみたらいいのでは 制約 掛けてる?
まぁ、それはどうあれ、ChipScope 使って内部を見れば一発で解るよ >>211
手元にKintex-7とArtix-7しかないんです......
>>212
制約はPとNのクロックを有効にしているだけです...
ChipScopeですか。こんなものあったんですね。ちょっと調べてみますm(_ _)m >>213
211の言ってるのは、差動クロックのボードのどっかに
別のクロック入れて、それで試して見ろってことだと思う
でも、そもそも全然別チップの別ボードでやってるんだと
他にいくらでも原因ある可能性あるから地道にやるしかないかな >>214
あ、そういうことだったんですね。
やはり地道にやるしかないですよね...... >>216
なんとも解せないのですが、vivadoを最新版にしただけで治ってしまいました...
お騒がせしてすみませんでした。 許るさん!
ごめんで済んだらけーさつ要らねぇんだよ。どーおとしまえつけるつもりだ?あ >>218
この前Windows10にしたらISEが使い物にならなくなってしまったし,vivadoは上記のような
バージョンの違いのみでバグが発生したりしなかったりだし,そのわりにはボードについてくる
USBドングルのライセンスは紐付けした日から1年くらいまでのバージョンのvivadoでしか使わせてくれないし
Xilinxさん色々と酷くないですかね... vivadoのディスク消費量がでかすぎる時点で論外 論外だと何を使うのかね?
Aの環境も大差ない印象だし今時ケチるような容量でも
ないと思うが・・・どんなショボいPC使ってるんだろ
ディスク容量より奨励メモリのハードルがんがん
上がる方が気になるわ Win10で普通にISE使えてるけど。
ちょっと調べればいいことなのにそれさえもできないのね >>221
最近のノートPCはSSDで速いのはいいんだけど容量が少ないのよ... 前にも「HDD容量ガー」ってわめいてたのがいたけど、実際に使ってないんじゃ
ないかと思う
SSDにする効果はほとんどないから古い250GのHDDでもいいし
SSDだって6千円くらいで買える
やったことないけど、外付けのUSB−HDDとかメモリにでも
インストールできるんじゃない? NASにインストールしたが、ネットワークが100 MbpsなのでVivadoの起動が糞遅い
が、起動が遅いだけであって、今の所はビットストリームの生成や書き込みをする上で特に支障はない vivado 2014.1で作ったプロジェクトを2015.1で開いて再度配置配線したらタイミングエラーがでる。クロック制約とかわかんなくて苦戦中。 Alteraでも同じ
もともとタイミングの厳しい場所は その手の現象は普通にでるよ
制約にマージン持たせすぎなら緩めるか、合成条件を変えてみるとか
或いは本物のエラーなら回路を見直す
そんな処だな
ISEの頃の制約は独自で解り難かった覚えがある
Vivadoってのは、その辺り変わったのかな? 日本橋のpcnetでfmv-104というpciカードをジャンクでひとやま入手。
lattice xp2の一番小さいのが載ってる。
3.3Vと5Vに給電してlattice programmerにかけたら普通に認識できた。
昔ddt誌の付録をさわったときはfz80を入れて半分ぐらいで
最小といってもわりと大きいので当分これで遊べそう。 >>227
SDC準拠のXDCになった
多少の方言はあるが普通に使えるよ Vivadoってマルチコア使うらしいけど、どんだけ効果あるんだろ?
タスクマネージャ見てても、CPU使用率25%くらいでウロウロしてる
遊んでないでもっと頑張れ!って言いたくなるんだけど
メモリアクセスが脚引っ張ってるのかな・・・ だから
コア毎の使用率見れば機能してるかどうか想像つくだろ そんな事、聴かんでもわかる
25%なら4コアだろ
要は、ほとんど効果が無いと言うことだ。 そういうことでしょうね
4コアと2コアの比較は、CPU以外を完全に同じにしないといけないので
なかなかむつかしいと思うけど、試して具体的なデータ持ってる人います? set_param general.maxThreads 4でよくない? なんかPCの話とZynqの話が混ざってるように見えるが
Zynqはどこから出てきた はじめての人はマルツの5000円のFPGAボード、xilinxとalteraどっち買えばいいの? 本当に初めてならDE2と書籍とかでいいんじゃないかな >> 230
Vivadoでマルチコアを使いたいならOSはLinux一択だと思うが、
まさかWindowsじゃないよね? ちなみにQuartusは15ぐらいからマルチコアで実行出来る様になって
かなり早くなった。 FPGAとはなんぞやレベルでAとXのボードを買って
両方の開発環境を入れてみたけどチュートリアル程度を
動かして見た感じでは俺にはXの方が使いやすかった。
今まで開発環境はAの方が良いと聞いてたので、
ペーペーにはまだ分からない世界が先にあるのかも
しれないけど・・・
ただ、安く買えるボードが多いという意味では現状は
Aに軍配があがると思う。 XはHLSを無料開放
ちょっと使ってみたけど、開発スピードがアップした。 >>242,243
本当の話なのか?
X関係の人じゃないのか? >>241
なに言ってんだ?
さっき確認したら、既にQuartus7.2では対応してた
手元に残ってないから確認できなけど、実際はもっと前のVerからだろ 論理合成はパラレルに走らせられるんじゃないかと思うが、
シミュレーションは、前の状態に依存してパラレル処理とか難しそうだな。
エンコとかだとつなぎ目以外ほぼパラレル処理できるけどな。 フリー版の開発環境はXとAどっちが制限緩いですか? しばらくFPGAいじってないんだけど、
フリーはシミュレーターとかXiと寺でどーなってんの?
未だに機能制限のModelSim?Questa? うろ覚えなんだけど
SystemVerilog使いたかったらModelSimだとだめだったよね? VivadoシミュレーターはロハでもSystemVerilogもサポートしてるが、
QuartusだとサードパーティーのQuesta用意しないとSystemVerilogのシミュレーションは無理って理解であってる? えええええーーーーーっ!!!Vivado HLSロハ提供かよ。
http://japan.xilinx.com/products/design-tools/vivado.html#buy
ロハの機能制限はDSPとデバイス制限だけて。すげー
これだと
Quartus <<<< 越えられない壁 <<<<< Vivado
という印象もったけど違う?
Quartusだとサードパーティー製ツールをいっぱい揃えないと同じレベルにならないんじゃないの? 俺の理解が正しいならVivadoて限りなくロハじゃねーの?
なんかある寺、親方インテルになって、相当さぼってね?
もう顧客どーでもよくて、インテルだけ見て仕事してないか? アルテラはインテル本体に吸収されて小口相手はなくなる方向ですかね?
今から触るならxlinx? 小口どころか大口もどーでもよくて
親方インテル相手の内部サポート部門になってたりして >>251
ツールだとそうかも。
ただ、評価キットとかモジュールとかの値段が高い。というか、安いものが日本で売っていない。 DSPも開放してほしい。
MATLABのHomeライセンスとあわせて使いたい。 >>245
書き方が悪かったな。でもおまえなんでけんか腰なんだ?
15からは各コアを効果的に使ってインプリするようになったと思う。
14以前も一応マルチコア対応だが、コア0の使用率だけが高くて
他のコアはほとんど使用率が上がらなかった。
Stratix-Vの一番でかいので、LEの使用率が100%近いのをインプリ
していたんだけど、PCがSandyBridgeのXeonだったので、もっとコアを
効率的に使って短時間でインプリを終わらせたかったが、設定オプ
ションでも変わらなかった。15からは各コアの使用率がかなり上がった
のでそれなりに効率的になったようで、インプリ時間も短縮されてデバッグ
が早く進むようになった。(インプリ時間:10〜12時間→2〜3時間に短縮)
ちなみにFPGAの用途は、10μs周期で上位から流れてくるデータを並べ
替えと演算をして、上位に滞りなく渡すもので、ソフトでは処理が間に合わ
ない。 bemicro max10はもう生産しないんかねぇ… >>258
実はインクリメンタルコンパイルが有効になっただけだったりして >>258
> ちなみにQuartusは15ぐらいからマルチコアで実行出来る様になって・・・
オマエが、こう言う嘘を書くからだろ
誰がどう読んだって、15より前Verはマルチコアで実行出来ない
これ以外の意味にはならない
『書き方が悪かったな』 とか適当な事言って誤魔化な >>262
確かに書き方が悪いと思うけど、そんなワーワー言うほどでもないだろうに VivadoのTclコンソール
いつになったらフォントサイズ変更できるようにしてくれるんだろ? セル使用率が高くなりすぎると、チョッと弄っただけで 大きく変わる
結果が読めないカオスな挙動を示すのは、Aに限らずXiも似たようなもん
使用率が100%に近いなら、なおさら
それだけの事を、 各コアを効果的に・・・ なんて適当な事を言うもんだから
只の無知から嘘つきに昇華して 叩かれたんだ
かわいそうに vivadoの評価点はシミュでアナログ表示できる点だけ
Spartan7まだかな、発表してから随分経つけど HLS無料提供の意味すらわからない池沼はすっこんでな。
あ、使えないのかwwww
まさに、猫に小判
しかも、シミュレーターがフル機能サポートされてることも評価できないアホはレスすんな。 >>273
HLS無料でシミュがフル機能サポートでも、日本語で買える激安ボードが無いのが欠点 おまえのおつむでは、激安ボードがないってのがvivadoの評価点に含まれるのかい?
自分で基板おこせばええがな。おまえは指くわえて見てるだけのソフト屋か 教えてください。
FPGAを使って、周期100MHzの1nsくらいのパルスは作れるでしょうか?
Spartan6はあります。内部クロック100MHzは作れても、
取り出せるパルス幅は、半分の50MHz=20nsだと思うのです。 クロックの問題解決しても、シングルエンドでは無理でしょ
何に使うの? 1nsとか微分しても、なんの素子で波形整形するの? SERDESをゴニョゴニョしたらできるかも・・・と妄想 アナログ微分でよければ、CRとSBDくらいでできそう
デジタル微分なら、スペック上はECL10/100Eで何とかなるかも
波形整形とか必要ならECLバッファかませれば、そのスペックにはなるはず
このレベルになると目的が分からないと使えるかどうかは分からないな ECL10/100Eのスペック見ると1GHzクロックで同期微分できたとしても
出力パルスの幅は1nsのプラマイ50%とかの精度しか得られなそう
だったらCR微分で調整のほうがいいかも
まあ、すっげえ高いオシロがいるけど >>279
やっぱり無理なもんなの?
前にeMMCの治具作ろうとして検討してみたけどソフト屋の俺には無理ゲーだと思って諦めてたんだけど、実際のところどうなのかモヤモヤしてたんだよね
あれ現行の仕様のマックスだと200MHz DDR 8bitだからなぁ・・・ >>286
ああ、うん。そりゃ諦めたほうがいいわ。
作ってくれる所探した方がいいと思う 1ns程度がかなりの誤差を許せるなら、
スケマでこんなの作るのはダメ?
100MHz −−+−− not −−−AND
| +−−−−−>出力
+−−−−−−−AND
言語だと最適化かかちゃうと思うからスケマのほうが簡単と思う。 パルスジェネレータは、どのように やってるんだろ? もう一つはPLLで位相の異なる100MHzを2つ作ってANDして出すとか。 ALTIOBUFとかIODELAYとか使ってできないかな? >>288
むしろ、ただのロジックICで良いのではないだろうか できたら5nsecがほしいのですが、最悪10nsecのパルス幅でいいんだけど、100Vppって
できる? >>288
0.1nsec単位のディレイタップ使えばいいだろ。 不勉強で申し訳ないけどECLってローレベルへの遷移速度は遅いんじゃないんだっけ? そこはデータシートで確認すべし
実は自分も良くは知らんけど、終端(エミッター)抵抗は
50とか100ohm のはずだから、1ns程度の fall time は
確保できてるはず 会社が夏休みだから意気揚々とFPGAいじろうと思い、Quartusをダウンロードしようとしたら
akamaiのDLマネージャーでいつまで経ってもダウンロードされない
ダイレクト・ダウンロードを選択してみたら「download.altera.comという名前のサーバが見つかりませんでした。」
うーん、やる気が萎む… >>298
直接ダウンロードできるよ
選択肢がある bemicro max10はもう生産しないんかねぇ… WindowsのNios II EDS 14.1のFashProgrammerを使いたいんだけど、
nios2-flash-override.txtはどのパスにおけば参照してくれるの?
13.1のときは/altera/13.1/nios2eds/binにおけば参照してくれたから、
同じようにaltera/14.1/nios2eds/binにおいたんだけど参照してくんない。 こんにちは。趣味で電子工作はじめた電気電子の基礎のないおっさんです。
VHDLに手をのばしましたが、単相同期設計というやつが身につきません。
(理解もできていないとおもう)
無理なく単相同期設計が身につく学習法とか良いウェブサイト・書籍等
ありましたら教えていただけないでしょうか。 単純に一つのクロックで入出力FFを駆動する構成ってだけじゃないの クロックが複数種あると、シミュレーションとかメタスタビリティとかめんどいもんな すべてのFFが同じクロックの立ち上がりエッジでラッチします。
FFは立ち上がりエッジの直前の入力信号を出力に伝搬します。つまりFFを一個挟むと1クロック遅延が発生します。 >306 VHDLに手をのばしましたが、単相同期設計
そらもう
http://www.amazon.co.jp/dp/478983395X
これ一択だと思うけど、絶版かよ… 「ウェブサイト・書籍」じゃないけど、大雑把なこと書くとすれば
process(clk_xxx, reset_n)begin の clk_xxx の所にはシステムの
最大周波数のクロック(例えば clk_100M)とかしか使わない
ってことかな
練習問題としては、システムクロックが100MHzのもとで、8ビットのシフトレジスタを
周波数115kHzでシフトするにはどうしたらいいか?とか 1/115kHz = 8.69565us
中途半端でめんどくさそうなので、125kHzとかに問題を変更してもらえませんか… >>314
100kHzでも1kHzでも好きにしたらいいけど
IC使ったディジタル回路の知識があって、FPGA設計の経験ない人に
予備知識なしでやらせると、
まず、100MHzを1000分周して100kHzのクロック(clk_100kHz)を作り
process(clk_100kHz, reset_n) とか書く
まあ問題を単純化し過ぎてるから、何でそれじゃまずいのか?ってことは
この段階では理解できなくても当然だけど、とりあえず clk_100kHzとか
作らずに、process(clk_100MHz, reset_n) で書くことを覚えるのが
最初の一歩かな 一言で終わることをクドクドと勿体ぶってるって言いたいんだよ >>313
分周なんてめんどいのでPLL一発じゃだめっすか >>298
確かに、当日はDNSで引けなかったから サーバー落ちてたようだな
今は生き返ってて、普通に落とせる >>316
読ませない。実に読ませない。読んで損した。 >>316
完全同期設計なんて分かりすぎるくらい分かってるはずの人が
非同期シリアルの回路記述例で、「ボーレートの16倍のクロック」
使ってたのを見たことがある。
本人は、恐らく言語設計の一例として出しただけなんだろうけど
一言くらいは注意を書いといてもらわないと、丸のみした人は
後で苦労するよね >>326
どういうこと?
何がまずくて、どうするのが良いの? >>328
ボーレートよりも充分に高いクロックと、ボーレートの整数倍の周期でクロック1周期幅のイネーブル信号を突っ込む のが正解では? >>326
まあ、非同期シリアルの受信回路くらいなら、パラレル変換後にどうせ
FIFOとか通すんだから、難しいこと言わなくてもいいかもしれんけど
そういうところこそ「完全同期設計ではこう書くんだ」ってこと教える
絶好のチャンスのはずなんだけどね 非同期シリアルの受信回路くらいなら、せいぜいRxReadyのエッジ検出
くらいで取り込めるから、そういう構成とってるのも多いかもね
下らん用途にクロックライン使うな、って気もするけど
今はクロックラインも沢山あるからね 質問です。
水晶発振器からFPGAに100MHzを入れて、Verilogで同期回路を組んでいます。
計算結果とともに100MHzクロックをFPGA外部に出力したいのですが、
エラーが出て、クロック100MHzが出ません。
クロックそのものをFPGAのピンから出すことは出来ないのでしょうか?
出したいクロックの2倍の周波数で内部を動かして、FFで1/2にしたものしか
外部には出せないのでしょうか? 設計ファイルアップしたら、腕利きのアドバイスがもらえると思う >>333
XならODDRセル使って出せばいい
ググれば出てくる >>333
Xならclk_wizってIPでPLLとかMMCMに入れるだけで、好きなクロック出力出来るよ バイディレクショナルポートの場合はSDCファイルはどうやって作るの?
Input、Outputの両方を登録するの? アナデバのデジタルアイソレーター使った人居る?
単なるトランスというわけじゃなく入力側のエッジを検出して、アクティブにパルスを発生させるみたいなんだが、
チャネル間のクロストークと入出力間のクロストークがスペックに無いんだなこれが。
GNDも電源も完全に入出力は切り離せるけど、ICパッケージ内の干渉が0ということは無いはずなんだが。
レベルコンバーターとしても使えるんで便利そう 入出力ともデジタルだからチャネル間クロストーク(あるチャネルの変化が
隣のチャネルの出力に影響する)とかないでしょ
入出力間のクロストーク(コモンモードノイズ耐性)については、どっかに
書いてない? >>338
お遊び基板で遊んだ事は有る
レベル変換にも使えるのはいいね
耐ノイズ性は未知数だな
チャンネル多い時には面積的に有利と感じた
産業系だから保守的でフォトカプラーから中々変えられないけど ℃素人向けだが条件によっては壊れやすい。
スピードが要らないならフォトカプラに叶わない。 まぁどう考えてもフォトカプラに比べたら複雑だしな
コモンモードノイズも光に勝てるわけない >>343
アナデバによるとLEDは寿命があるので、
置き換えを推奨してる。
>>341
>℃素人向けだが条件によっては壊れやすい。
それどこの情報だ?ソース示してみろ >>345
10万時間も動作させれば恐らく輝度低下で発光しなくなるLEDと、
寿命を算出することすら困難なシリコン半導体がフォトカプラにかなわないというソース示せと言ってるんだよ
データシートにはそんなことは記載されてない。
いい加減な寝言ほざくな。お前はど素人以下の知障だ。 >>345
しかも、アナデバのデジタルアイソレータはサージインパルスの耐圧1万Vと保証されてるわけだが、
これに匹敵するスペックを保証してるものがあるなら言ってみな。
少なくともデジタルアイソレータを発売してるメーカは、従来のフォトカプラに比較して
信頼性の点で圧倒的に上位スペックを提示してることぐらい覚えとけアホ
>>343
同窓除去費がフォトカプラが上?
フォトカプラのスペックが上という寝ぼけたサイトあったらそこのリンク張ってみろ
ちったぁ調べてから言えや馬鹿たれ >>342
コスト上フォトカプラ採用はあるかもしれないが、
それ以外で今さらフォトカプラを採用する意味はない。
現状のデジタルアイソレータでも十分安い。 >>349
だから、メーカーはフォトカプラの信頼性向上のためにデジタルアイソレーターを発売してるのに、
それを従来品のフォトカプラが依然として凌駕してると寝言ほざくなら
おまえがそれを示せと言ってるんだよ池沼
常識ないのかアホ ID:Ue2ie1hy
技術を調べようともしないアホの骨頂皿仕上げ >>351
>だから、メーカーはフォトカプラの信頼性向上のためにデジタルアイソレーターを発売してるのに、
寝言は寝て言えwww
メーカーは儲ける為に営業してんだよwww まんま置き換えられる上位スペックだからこそ稼げることぐらいわかれよアホ
常識ないのか。
どこまでアホなんだこいつは >> ID:Ue2ie1hy
はよ、フォトカプラを選択するメリットあげてみろ。データ示してなwwwww
お前は技術屋としては最低だ。
あ、ゆとりの学生か?wwwwww >352
ID:Ue2ie1hyがアホなのは同意だがおまいも熱くなりすぎやねん。
フォトカプラスレで暴れるならまだしも。
昔トラ技でデジタルアイソレータの詳細しらべた記事があって、
短いスパイクの入力が出力に伝達するしないとかがメーカーで違うとか言うんは読んだ。
使ってみるとパッケージの大きさのわりに沿面距離デカイ(というかフォトカプラと同じ)ので、
IO数増やす方向には助かるけど伝達方向にはあんま基板サイズが小さくならんかったりする。
FPGAで20chくらい受けるのにはFPGAサイドのピン間が狭いので
デジタルアイソレータのほうがバランスは良かった。 ID:Ue2ie1hy
メーカー
アイソレーター
テクニカルタームの書き方すら知らないアホかよ
まず、文献読んでない証拠、
そこらあたりから指導してもらえよ研究室のセンセによwwwww >>351>>354
>まんま置き換えられる上位スペックだからこそ稼げることぐらいわかれよアホ
お前みたいなユトリには上位スペックにしか見えないんだろうな。
だから℃素人っていわれるんだよwww
明き盲はデータシートでも食ってろよwww
>>356
俺に言うなよwww >>356
長音表記のガイドラインは変わっています。
ttp://d.hatena.ne.jp/innx_hidenori/20081216/1229417662
ttp://www.jtca.org/standardization/katakana_guide_3_20150929.pdf
この変更にともなってマイクロソフトも表記を変更する発表を行っています。
ttps://www.microsoft.com/ja-jp/presspass/detail.aspx?newsid=3491
長い習慣があり、ルールが変わったからといってすぐに新しいものになるとは限りません。
でも、だからといって、新しいルールに基づく表記をアホ扱いするのは間違いです。
それと、「メーカー」は2音節ですので以前から末尾に長音記号は付いていたと思うのですが。
昔から「カナ表記の末尾の長音記号は常に省略する」と思ってる人がいました。
「スタ型接続」という表記を見て面食らったことがあります。 必死すぎだろ
メーカー様の言うこと鵜呑みにする辺りもなんとも 条件(伝達可能な最大bps)揃えて比較しないとな
フォトカプラで100Mbpsできるのとか、今はあるの?
ここはFPGAスレだから、アイソレータ使う環境も
1次側・2次側共ロジック回路で同基板上って前提だと思うけど
ボード外から信号受ける回路だと、フォトカプラ一択になるかな >>360
100Mbpsはないと思う
100Mbpsで絶縁しないといけない設計は
そもそも避けたほうがいいと思うが
条件によるのは同意
何でもかんでも早けりゃいいってモンでもないし
24V系とかはフォトカプラ確定だな 速度もいらんし
あと、1ch毎に絶縁居るのはフォトカプラのが楽だな >>361
>100Mbpsで絶縁しないといけない設計は
>そもそも避けたほうがいいと思うが
避ける理由って何なんでしょうか。 デジタルアイソレータは、1次側で信号微分して2次側のRS-FFを
セット・リセットするみたいな構造のが多いから、コモンモードサージが
ノーマルモード変換されて1次側の電源に回りこみ、誤動作の原因となる
可能性はあるね
こういうのは、OP-AMPのPSRRみたいなスペックあれば別だけど
素子単体のコモンモード耐性としては現れてこないからなあ
昔、パルス測定回路(ロジアナみたいなやつ)作ったときに、入力部を
アイソレートしたのとしてないのの2種類作って、コモンモードノイズ耐性
調べたら、予想に反して、アイソレートしたもののほうがエラー率高かった。
(静電気放電のテストでも同じ傾向)
アイソレートすりゃ良くなる、ってもんじゃないんだって痛感した。 そんな性能の部品が安いわけない、つまり経済的な理由
たいていが却下される。
素人の俺でも分かる理由 ℃玄人w こんなとこにも出没してるのか
この知ったかぶりのオッサンはNGにでもしておいて下さい。
昔、電気設計で自営の真似ごとをしていたようなのですが、問題出しまくって廃業した人です。
続いて改造車屋なんて始めたらしいのですが、ロクに技術も無いし、他人を不愉快にする応対
しかできませんので客商売など続くはずもなくやはり廃業。
今は24時間2chに張り付き、他人を小馬鹿にする書き込みをする日々。
構ったところで大した話は出来ません。 >>363
>デジタルアイソレータは、1次側で信号微分して2次側のRS-FFを
>セット・リセットするみたいな構造のが多い
シリコンラボラトリーのこの製品はそうではないみたい。
ttp://www.silabs.com/Support%20Documents/TechnicalDocs/Si864x.pdf 150Mbpsの信号をAMっていうかCWかぁ
ジッタが350psっていうから、3GHz以上で変調してるんだろうなあ
手法としては当たり前なんだけど、すっげえ >>358
マイクロソフトにテクニカルコミュニケーター?
だいたいそういうのは一般人相手の文章基準にすぎない
お前は論文も技術文章も読んだことの無いたんなるど素人だな。
日本の学会も技術者大将の文書基準はそんなもんには準拠してない。 >>360
>1次側・2次側共ロジック回路で同基板上って前提だと思うけど
>ボード外から信号受ける回路だと、フォトカプラ一択になるかな
はぁ?何をわけわからん寝言ほざいてんだ。 >>369
強いて言うなら
情報系は別だから。歴史の浅いこの学会は好き勝手な表記やってるわ。 >>363
>デジタルアイソレータは、1次側で信号微分して2次側のRS-FFを
>セット・リセットするみたいな構造のが多いから、コモンモードサージが
>ノーマルモード変換されて1次側の電源に回りこみ、誤動作の原因となる
>可能性はあるね
そういう寝言は
http://jp.silabs.com/products/power/isolators/Pages/isolator-vs-optocoupler-technology.aspx#5
ここの図10A 10Bでも見てからほざきな
てか想像でしゃべんな。 >>357
情報収集できないゆとりの明きメクラはてめえだろうが、
データシートも読めずに設計か?
デバイスの選定もできねえカスがわらわせんな。社会のダニ ID:KIAO936s
もうちょい大人しい書き方はできないのかな。ネット内弁慶はよくないです。 ID:KIAO936sって、データシートも読めないのにえらそうだなw 他人を叩いて叩いてしないとプライドが維持できないんだろ
リアルではよっぽど虐げられてるんだろうね
性格歪んじゃったかわいそうな奴なんだよ
無視が一番親切だと思う しっかしまあ、何でそこまでデジタルアイソレータにほれ込んじゃったのか・・・
でも、土曜でも早起きなのは感心感心 24V系で使えない事については無視?
上位互換なんだろ?
分圧しますとか言うなよ 上位互換って言ったのは一人だよね。
そこに拘って、デジタルアイソレータとフォトカプラの優劣を話しても仕方がない。
情報交換の中で、それぞれの長所、短所に対する理解を深めたり、誤解していることを解消したりするのが有益なんじゃないの?
もし、誰かが言わないと>>381の気が済まないなら言っておく。
「デジタルアイソレータはフォトカプラの上位互換ではありません」
これで気が済んだ? さあ有益な話にもどろうよ。 データシートが一番有益。
読めない奴も居るみたいだがw >>383
俺もそうだけど、多くの人がそれをなかなか読み切れないのは分かってるくせに。
だって、レスの行が多いだけで短くまとめなきゃ読めないって人もいることぐらい知ってるでしょ?
それに、世の中にはデータシートは公開されていても、俺やみんなが知らない部品もいろいろある。
そういう情報交換ができれば良い。 >>384
>俺もそうだけど、多くの人がそれをなかなか読み切れないのは分かってるくせに。
だから読めと言ってる。どんな事でも練習しなきゃ上達しない。
昔、アナデバから件のデータシートがダウンロード出来るようになった時
一目で、こりゃ駄目だwと思った。勿論、使える用途もあるから使ってはいるが
俺に「知ったか℃素人」のレッテルを貼られた奴は、データシートも読めない上に
精進するとも思えないから痛い目にあうはず。ま、それはそれで致し方ない。
てか、楽しみwww (1)上位互換みたいなことに拘る
(2)情報交換しようよ
(1)に比べれば(2)の方が有益。という話をしたら、
なぜか「データシートが一番有益」と脇道にそれちゃった。
的外れであることをやんわりと指摘したら「だからデータシートを読めと言っている」と脇道から転落。
データシートを読みこむことは必要。これは間違いはないね! 集団ストーカー・電磁波犯罪被害の加害装置について
レーザー・メーザーが開発されたのが、1950年台以降
メーザー初の発振が1953年、レーザーの初の発振が1960年
https://ja.wikipedia.org/wiki/%E3%83%AC%E3%83%BC%E3%82%B6%E3%83%BC
この記念すべき年以降の、人体の自然発火現象は怪しい
No.31 突然人間が燃え上がり、焼死に至る「人体発火現象」
http://ww5.tiki.ne.jp/~qyoshida/kaiki/31zintaihakka.htm
No.157 人体発火現象2
http://ww5.tiki.ne.jp/~qyoshida/kaiki2/157jintaihakka2.htm
人体 自然 発火現象 : 人の体が突然 灰になるまで 燃えつきる / 世界の衝撃ストーリー
dailymotionを上のタイトルで検索してみ
64MHzの電波を使って撮像しているMRIの動画
集団ストーカー・電磁波被害の加害装置がレーザー・メーザーによるものだとしたら、レーダーを使うはず
加害者にはこのように見えているハズ
ちょっと、エロです
MRI Shows What Sex Looks Like From The INSIDE | What's Trending Now
https://www.youtube.com/watch?v=nDhYLaGPmGU
見えている各臓器、脳も含めて、レーザーを照射すれば、危害を加える行為が成立する
参考までにCTの動画
Radiologist discusses CT and xray small bowel obstruction Imaging
https://www.youtube.com/watch?v=8dNTHdUO_3Q
PCB Imaging: 3D/CT X-Ray Animated Slicing (Top to Bottom)
https://www.youtube.com/watch?v=itTkItXiHsk 「自分達は手を出さず人を追い込む方法があるんだってさ」
「多人数で人を追い込むんだってさ」
「電波攻撃で攻撃するんだってさ」
「他人の考えとか想いがわかる装置があるんだってさ」
集団ストーカー(組織的ストーカー行為)・電磁波被害の加害装置を持たせる時の誘い文句だそうです。
他にもいろいろあると思いますが、これに類するセリフを聞いた事がある人は、警察に一報をいれて貰えたらと思います。 >>338
ベースバンドに使うA/D,D/Aコンバータの信号伝達&GND分離用に使ったけど、
まったく問題なかったよ。
クロストークはむしろ、パターンによるもののほうが大きい。 「まったく問題なかった」っていうのは、その使い方・テスト方法では
って前提だから、あんまり意味ないかも
「オレ、フグ釣って食ったけど、まったく問題なかった」ってのと
同レベルの話になっちゃう
後、「クロストーク」とかって、一番最初の質問者からの話だと思うけど
多チャンネルアイソレータのクロストークって、どういうふうに定義するの?
アナログ(フォトカプラ)のでも定義されてないと思うんだけど >>396
たまに、知ったかぶりな知識を披露して、オレサマすごいと言われたいだけの、光信号処理の人が出てくるから、まぁ放置した方が良いと思われ。 何年かFPGAから離れてて、久しぶりにXのISE14.7使ったんだけど
WebPackのライセンス下でSystemEdition入れたら、ChipScopeが使える
(XPSはダメだった)
今はそういうもんなの? >>385
>昔、アナデバから件のデータシートがダウンロード出来るようになった時
>一目で、こりゃ駄目だwと思った。勿論、使える用途もあるから使ってはいるが
何が駄目かも説明できない単なるアホの戯言。
場合によっては営業妨害レベル
駄目なのはてめえの足りないおつむだろーが。 誤魔化すなwwwww >>400
なんでお前みたいな℃素人に教えなきゃいかんの?
頭悪すぎwww >>402
使えないのはアホのお前だけ
まともなエンジニアは何も問題なく使えてる。
てめえの足りないおつむを人のせいにすんな無能
結論
無 能 == ID:FC8lEjxe >>405
お!使えない自慢まだし足りないか?わかったわかったお前の無能は理解した。wwww >>381
>24V系で使えない事については無視?
分圧すればいいだろ。24V系の伝送速度で何が問題なんだ。 どうせ厨房だろうけど、無知なエンジニアモドキなら楽しいなwww
致命的なポカやるのが目に見えてるwww 現実社会で能力無くて認められない人が暴れてるってかんじ。 データシートに書いてあると教えてやっても解らないんだもんなwww
℃素人はどうしようも無いなwww 相変わらず熱い奴だなw
なんか眺めてると℃玄人と℃素人が同一人物に見えてくる
同類だから余計反発するのかw >>D:PfJH1H0+
>> ID:PfJH1H0+
ヲ!ID変えたのかい。日がな一日2chに張り付いてる社会のダニがよ
>致命的なポカやるのが目に見えてるwww
愉快愉快!! ポカやらかして、仕事干されたのかよ害注。そらおまえが無能だからよ。
100時間動作保証すればす済む前ごときの仕事でポカやらかすようじゃそら干されるわなぁwwwww
>データシートに書いてあると教えてやっても解らないんだもんなwww
んで、データシート読めなくて仕事干された自分のアホスキルの紹介かよ無能wwwww
世間はデジタルアイソレータで困ってないってよ。
ポカやらかして出入禁止でおまんま食い上げの無能害注哀れ>>ID:PfJH1H0+ 頭悪そうなレスだなwww
>だから、メーカーはフォトカプラの信頼性向上のためにデジタルアイソレーターを発売してるのに、
とか書いちゃうオツムの弱さじゃしょうがないけどなwww >>417
無理無理
スキルのかけたも無いからwwwww
相手するだけ無駄 デジタルアイソレータの話はどのスレが適当なんだろうね?
下記のいずれか、かな。
【ADC】A/D, D/Aコンバータを語るスレ【DAC】
【電気】理論・回路の質問【電子】 Part15 [無断転載禁止]©2ch.net >>422
つまりおまえはこのスレにはいらないということだ。 >>421
デジタルアイソレータはアナデジのアイソレートだけじゃない。
より大きいノイズからデジタル回路をアイソレートする際にも使われる。
結果的には、デジタル波形整形がなさるわけで、デジタル回路実装を扱うスレじゃないと意味が無い。
だから、ここでアイソレータの話題が出てきたとしても、おかしいとは思わない。
実際、全く無関係ならレスはつかないから。 >>426
そうなんだ。
アナデジのアイソレートの用途が多いものだと思ってたわ。 ディジタル系の発するノイズより大きいノイズの意味だが
何か問題あるなら言ってみ 学習用にde0-cv考えてるんだけど、これってde0を説明してる本でも学習できるかな? 「NECが世界で初めてC言語ベース統合設計環境として
FPGA専用版CyberWorkBenchを販売開始」
http://www.nec.co.jp/press/ja/1108/2501.html >>433
僕はホビーでやってるだけだから、参考までに。
de0-cvはやめた方がいい。タイミングシミュレーションファイルが出来ないから、確認しようと思ったらロジアナでないと波形が見えない。ゲートのサイズが小さくていいならde1のがおすすめ。
てかDE0-CV でゲートレベルシミュレーションする方法あるなら僕も知りたいです! 一応やってますw
宣伝
http://youtu.be/ASx5mEBuKJE
詳しい人仲良くなりたいです! 回路図で書いちゃってて、NetList を吐き出す以外にシミュレーション手段が無い って状況の場合じゃない?
ゲートレベルシミュレーション、滅茶苦茶遅くてやってられないよ
ASICでさえも最終のダメ押し確認でしかやらない >>436 回答ありがとうございます!
ちょっと調べたらModelsimというのでシミュレーションできるみたいですが、これはゲートレベルシミュレーションとは違うのでしょうか? >>433
RTLで確認だけならDE0-CVでも問題ないです。やりたいことのタイミング要求次第なんですかね。
CPUとか作ってみたいならゲートレベルシミュレーション必須だと思うけど、Lチカくらいならなんでも同じですね。 >>439
やっぱそうなんだ。確かに遅くてやってられないと思いながらやってますw
なんかやり方間違ってるんですね。
あー、詳しい人と仲良くなりたい!
>>440
僕のアドバイスは間違ってるっぽいので気にしないで!modelsimでRTLならできるから。あと、詳しい人と仲良くなった方がいいよ。これが一番のアドバイス! >>441
cpuとかもいずれ作ってみたいですね…
でも今はHDLやfpgaの入門のつもりなので、多くの解説があるde0にしてみます! >>441
>CPUとか作ってみたいならゲートレベルシミュレーション必須
理由は? >>444
一応僕は素人で、自分の経験でそう書いたけど、僕のやり方に問題があるのだとは思う。
理由はレジスタやゲートの数が増えてきて、タイミングがかなりシビアになった、RTLで動いてた奴がターゲットでは全然動かない、レジスタの段数とか複雑で遅延がどこで起きてるかゲートレベルシミュレーションで見なきゃ分からない、って感じた。
一つ一つを完全にRTLで遅延を計算して書けばいいのだろうけど、16ビットのCPUとかだとソコソコでかくなって全体がわからなくなる。
実際の動きはシミュレータかロジアナで見なきゃ問題が分からなかったのです。
プロの人達はゲートレベルシミュレーション使わずに、どうやってデバッグしてるのか教えてもらいたいです。 >>445
非同期もソコソコあります。ファミコンのCPUで、命令のサイクルを元の仕様から変えずに作りたかったってのと、完全に同期処理だけて決まったCPUサイクルで実現するやり方が分からなかったので。
確かに同期回路だけで組めばよかったのかも知れません。。 >>442
Quartus Prime - EDA ツールの設定方法
https://store.macnica.co.jp/article_files/95573/ELS1408_Q1510_10__1.pdf
> Quartus Prime 開発ソフトウェア v15.1 でサポートしているデバイスのうち、
> Stratix V と Arria 10、Arria V、Cyckine V、MAX 10 デバイスはタイミング・シミュレーションをサポートしていません。
> 従って、Quartus Prime 開発ソフトウェアは遅延情報ファイルの .sdo ファイルを生成しません。
DE0-CV に乗ってるFPGAは "Cyckine V" だよ
↑のような説明書きもあるから、真偽の程は英原文で確認した方が良いと思うぞ
>>ID:53b4qLXH
もし Gated-Clockでも使ったりしたら、相当注意深く制約を与えないと そうなるよ
怖いのはスキュー、速度に関係なくコケルからね、よほどの事が無い限り使わなほうが良い
Global-Clock だけ使ってれば それ程心配は無い
sdcで正しく制約与えれば、遅い場所とか非同期のクサイタイミングとかの違反レポートしてくれる
勿論、sdcが適切であると言う事が前提だけど
あと、非同期が多くなると当然 制約ファイルも面倒になるので(制約漏れも増える)、
大方が、少ないGlobal-Clockで動くような 回路デザイン って処に落ち着く。
その方が楽だから、制約とか楽しい作業じゃないからな
6502@2MHz程度だと、速度的には何の心配も無いね、規模も
"DE0-CV”の場合だと 10%以下で収まる、 ファミコンなら5個位楽に入る
手間が掛かるだけだから、深みに嵌まる前に 同期に書き直した方がいいぞ >>448
説明ありがとうございます。もうすでに泥沼なんですけどね。。
CPUはタイミングあまり問題ないんですけど、問題は画面の方なんです。こっちはVGAに合わせてピクセル作ってくのでもうギチギチでw
頑張って同期に作り直してみます! VGAのピクセル・クロックって25MHzくらいでしょ?
ADCへの入力もせいぜい25Mbyte/sec程度で入れればいいと思うから
そこでギチギチって考えにくいんだけど・・・
Terasicから提供されてるソースとか参考にしてみたら? 映画なのですが、集団ストーカー・電磁波犯罪被害の内容にそっくりです。
暇があったら、見て下さい。
クリープゾーン : マインド・コントロール
https://www.amazon.co.jp/dp/B0000ESKVY/ref=nosim/?tag=nicovideo07_st1-22&creative=380333&creativeASIN=B0000ESKVY&linkCode=asn&ascsubtag=7_vi_B0000ESKVY_sm7584036_u!OBx1[[HcA]_1471948674_a08163 「自分達は手を出さず人を追い込む方法があるんだってさ」
「多人数で人を追い込むんだってさ」
「電波攻撃で攻撃するんだってさ」
「他人の考えとか想いがわかる装置があるんだってさ」
集団ストーカー(組織的ストーカー行為)・電磁波被害の加害装置を持たせる時の誘い文句だそうです。
他にもいろいろあると思いますが、これに類するセリフを聞いた事がある人は、警察に一報をいれて貰えたらと思います。 皆さんQuartusってなんて読んでます?
カルタス
クオータスとか会社ごとに色々あるようですが >>432
振動、加速度を伴う機械系
パルス波だけがノイズ源だとでも思ってるのかwww すげーな。機械的な縁切りもできるのかwww
流石ディジタル愛想レータだなwww ちなみに俺が機械的な縁切りする時は光ファイバ使うことが多いな。 100MHz超える辺りから、速度も気にし始めるけど
25MHzでギチギチとかなら、もう少し精進した方が良いな
Terasicから提供されてるソース、 はっきり言ってたいした参考にはならない
マトモナ制約なんか掛けてないし、同梱Projectと同一VerのQUで確認しても Met もしない
だからと言って、動かないって事ではないんだけどね
学習目的で これを手本にする人もいるんだから、せめてMetする程度のものを添付してもらいたよね
これ見た人は、 制約も掛けないしViolation なんかも気にしない
それが、当然と思うようになってしまうかもしれない
それでも、動いているうちはまだ良いんだけど
そのうち ホンのチョッと弄っただけで動かなくなるとか 謎の現象に嵌まる事になる
結果、ガラス細工回路の完成なわけだ。 >>458
>これ見た人は、 制約も掛けないし>Violation なんかも気にしない
>それが、当然と思うようになってしまうかもしれない
そこで、ゲートレベルシミュレーションでつよ! >>458
そうなんですよね。なんでVGAごときでって思いながらやってます。。。たぶんわかってる人が見たらすごい赤ペンで直されると思います!もうホントにガラス細工で気が狂いそうですw
ちなみにソースはここで公開してます。
https://osdn.jp/projects/motonesfpga/scm/git/motonesfpga/tree/master/ >>456
機械的な縁切り?別に機械的なアイソレートじゃねぇだろうが。
機械的なアイソレートなら、ダンパーにでも載せとけ
あくまでも機械的理由で発生する電磁ノイズだウスノロ
機械的なアイソレートで光ファイバてさすが池沼は違うなwwwwww ID:6lT5N2hv
このバカ
加速度でBER劣化するとか`、およそ想像もつかん池沼レベルの低能とみた。
落下試験でのBER劣化とか全く知らない糞外注か?wwwww
せいぜい発注元におべっかつかいながら生きていけ社会のダニwwwww bemicro max10はもう生産しないんかねぇ… 頭悪そうな基地外がwww
データシートを読めないとこうなるって見本だなwww
「機械的理由で発生する電磁ノイズ」とかwwwwwwww またやってんのか
本当に一人二役に見えるな
同族嫌悪なんだねえ >>464
>データシートを読めないとこうなるって見本だなwww
おお自己紹介か?寄生虫
機械系のアイソレートででファイバー使う池沼レベルのアホがよwwwww 横からですが、機械振動で発生する電磁ノイズが、デジタルアイソレータでこそ除去できる仕組みを説明してもらえると嬉しいです。
光ファイバーは振動のアイソレートと同時にコモンモードノイズも防げるので、知的障害レベルの阿呆というようなことではないと思います。
お二人とも、もうちょっと穏やかな表現をしてもらえるといいかな。 具体的な物を提示してくれたんで、試してみた
ORIGINAL_QUARTUS_VERSION 14.0、敢えてバージョン下げた理由は、下かな?
なお、base_clkはデバッグ用に入れた SIGNALTAP でしか使われていない
次のレポートが意味する事は、14.0(以降)では、まぁ無理だろな…
14.0(以降)Auto-Globalが効かない理由は不明だが、Latch & Gateted-Clockが相当数有る
Clock対象が多すぎて、見失ったのかも(根拠は無い、あくまで想像のみ)
提示のプロジェクトに於いては、マニュアルで指定しておいた方が良いだろな
次にタイミング、一見 "Met" している様に見えるが、sdcの指定が無いからそう見えてるだけで
軽く作って食わせてやると、案の定 真っ赤
断っておくけど、貶そうとか そう言う意図は全く無いからね、
折角提示してくれたんだから、試した結果を有りのままに報告してる。
具体的な、レポートは次ページ Critical Warning (332012): Synopsys Design Constraints File file not found: '../de1_nesmos6502-timing.sdc'.
Quartus II 64-Bit Version 14.0.2 Build 209 09/17/2014 SJ Full Version
; Global & Other Fast Signals ;
; base_clk ; PIN_M9 ; 2276 ; Global Clock ; GCLK6 ; -- ;
; rst_n ; PIN_P22 ; 624 ; Global Clock ; GCLK9 ; -- ;
Quartus II 64-Bit Version 13.0.1 Build 232 06/12/2013 SP 1 SJ Full Version
; Global & Other Fast Signals ;
; altera_internal_jtag~TCKUTAP ; JTAG_X0_Y4_N3 ; 1448 ; Global Clock ; GCLK6 ; -- ;
; base_clk ; PIN_M9 ; 2266 ; Global Clock ; GCLK5 ; -- ;
; clock_divider:clock_inst|counter_register:clock_divider_inst|\clk_p:q_out[1] ; FF_X41_Y25_N26 ; 494 ; Global Clock ; GCLK2 ; -- ;
; clock_divider:clock_inst|counter_register:clock_divider_inst|\clk_p:q_out[3] ; FF_X41_Y25_N2 ; 233 ; Global Clock ; GCLK8 ; -- ;
; clock_divider:clock_inst|cpu_mem_clk_wk ; FF_X42_Y26_N14 ; 136 ; Global Clock ; GCLK10 ; -- ;
; rst_n ; PIN_P22 ; 628 ; Global Clock ; GCLK9 ; -- ;
; sld_signaltap:auto_signaltap_0|sld_signaltap_impl:sld_signaltap_body|sld_sign; FF_X9_Y5_N16 ; 1125 ; Global Clock ; GCLK7 ; -- ; Critical Warning (332012): Synopsys Design Constraints File file not found: '../de1_nesmos6502-timing.sdc'.
↑だが、タイプミスか意図的に外したのかは不明だが、それと推測されるファイル
'../de1_nes/mos6502-timing.sdc' が有る
内容は下の通り、
create_clock -name base_clock -period 80 [get_ports {base_clk}]
#create_generated_clock -name cpu_clock -source [get_ports {base_clk}] -divide_by 24 -invert [get_registers {clock_divider:clock_inst|cpu_clk_wk}]
#create_generated_clock -name emu_ppu_clock -source [get_ports {base_clk}] -divide_by 4 -invert [get_registers {clock_divider:clock_inst|counter_register:cpu_clk_cnt|d_flip_flop:counter_reg_inst|q[1]}]
これを食わせてみると、確かに "Met" はするが、本命のクロックはコメントアウトしてあるる派生クロック方で
base_clockは、初段のクロック・デバイダの入力以外には使われていない(SIGNALTAPを除いては…)
この状態で "Met"したとしても 殆ど意味は無い、重要なのは派生クロック方
コメント・アウトしてる位だから、やる意図は有ったんでしょうが、
手を抜かずにしっかりと書き直した方がいい
但し、4〜5種類ぐらいのクロックを使ってるわけだから、上の3行程度じゃ全然足りない事を付け加えておく Warning (13012): Latch mos6502:cpu_inst|address_calcurator:ad_calc_inst|ea_carry has unsafe behavior
↑のように、Latchを多用しているが これは意図したものなのか、単なるコーディング・ミスによるものなのか要確認
ここで細かいことをクダクダ書く事はしないが、Latchを通うとロクな事が無い。
もし意図したLatchなら、そのデザインそのものを再考した方が良い
速度的にもF/Fで代用できないハズは無い・・・ と思うよ。
あと他にも色々あるけど、この辺で止めとく 全体をbase clock だけで動くようにするのは、全体像を把握していて
テストベンチなどもある程度作ってあれば、(ファンクション)シミュレーション
で動かしながら、割と簡単に現状の動作レベルにはもって行けるのではないかな
・まず、↓のようなイネーブル信号を作る
cpu_clke base clock 24クロックの内1クロック分だけ1になる信号
ppu_clke base clock 8クロックの内1クロック分だけ1になる信号
vga_clke base clock 2クロックの内1クロック分だけ1になる信号
emu_ppu_clke base clock 4クロックの内1クロック分だけ1になる信号
・レジスタとかカウンタのインスタンスには、上で作ったイネーブル信号と
base_clock を接続する
・次に、base_clock以外のクロックで動いてる process 文を
↓こんな感じで置き換えてやる
process (rst_n, base_clk)
begin
if (rst_n = '0') then
・・・・・
elsif (rising_edge(base_clk)) then
if (vga_clke = '1') then
・・・・・
end if;
end if;
end process; ありがとうございます!
私はソフト屋でして、FPGAに興味があったんで勉強がてらファミコン作ってみたって感じです。
FPGAに詳しい人は回りにいなくて、一人で本を数冊読んで作ってみたのがこのプロジェクトです。
なので間違っているところがたくさんあって、それが何でダメなのか、どうやったら直せるかもよく分かっていないっていう、ド素人です。
今まで人から指摘されたこともないので、とってもうれしいです。
>>471
SDCの書き方とか意味がちゃんと分かってないので、書けてないってのが実情です。
あんまりSDCの書き方とかちゃんと説明してるところが見つからないんですよね。
>>472
はい、この警告にはムカついております。
でもどうやってLatchをFFにするのかが分からないです。
ってか同期回路で書いてないのがそもそも全部ダメなんだと思います。
ちゃんと同期回路で書きたいのですが、そうなってないのは↓の理由からです。
6502の仕様だと、1バイト命令とかはフェッチ→デコード&実行って2サイクルで終わらせるんです。
同期回路で書いたらアドレスセット→Memory Read→デコード→実行みたいになっちゃって出来なかった。
ALUとかはステートマシンを使えばいいのかな。。
>>473
なるほど。
さすがプロって感じの技ですね。
その技を使って作り直して見ます。
暇があったらまた色々教えてください! > 6502の仕様だと、1バイト命令とかはフェッチ→デコード&実行って2サイクルで終わらせるんです。
それはね、2MHzのCPUを2MHzのクロック1本だけで動かそうとするから 苦しくなるんだよ
勿論、不可能とかそんな事は無いんだけど それなりに難しくなるのは良く判るよ
外見栄は、2MHzだけど 例えば内部的には位相をずらした多相クロックとか利用すれば(4相とか)
1バス・サイクルの中に4つのイベントを利用できる様になるわけだから、そんな風に考えると一気に楽になる。
クロック増えると後々面倒だから、4倍クロック+4つのCK-Enableとかにすれば SDCとかで楽出来る
じゃあ、それはズルかって言うとそんな事は無い(まぁ別にズルでも良いとは思うけど)
例えば当初の6x系もQ1/Q2の位相ずらしたクロックを入れてくれって製品仕様があったりする
こんな仕様ユーザーにとっては負担になるだけだから、後にその辺は改良されて行ったわけだ
んでも、中では似たようなことをやっている。
乱暴な言い方だけど、Z80なんかもそんな感じ、一命令4ステートとか 上と絡めれば見えてくるよ
こっちは、逆に外から早いクロック貰って、それでステートを駆動し結果バスサイクル/命令実行はその1/数になる
まぁ、そんなイメージだ
よくみたら、既に上の方も似たような事を言ってますね >>473の
「・レジスタとかカウンタのインスタンスには、上で作ったイネーブル信号と
base_clock を接続する」は
「・レジスタとかカウンタのインスタンスには、上で作ったイネーブル信号と
元入ってたイネーブル信号のandをとったものをenableに
clock にはbase_clock を接続する」だな
(本来なら、元入ってたイネーブル信号自体を出してる所を書き直すべきかも
しれんけど)
後、これは流儀の問題になるかもしれんけど、今のブロック構成とか
レジスタと・カウンタ・D-FFをコンポーネント→インスタンス化して
使ってるのは、VHDLで回路設計(ネットリスト記述)してるような
ものなので、もっとソフト(HDL?RTL?)的に書いたほうが少ない記述量で
見通しもよくなると思う。
他、ALUのprocess文は組み合わせ回路だけで、レジスタは別モジュールに
なってるけど、これなんかも一つの process (rst_n, base_clk)の中に
書いたほうがいいかも。
(そもそも、Register Transfer Level って言うくらいだし) なるほど〜。
やっぱそういう風に位相をずらして内部で1サイクル内に状態を持たせるってのがやり方なんですね。
H/Wマニュアルを正直に読んで、どうやったら同期処理だけで2サイクルで回すのかと不思議に思ってました。
ちょっとやり方が見えてきたので頑張ってみます! >>476
そうなんです!
読んだ本が、回路図的に解説していてH/Wを記述するんだったらこのノリで書かないといかんのか?
って勘違いして書いたんですよね。
ソフトだったらこんな書き方しないのに、やっぱハードは違うのか?
って思いながら頑張って書いてましたw
あー、もう全部やり直しかな(T.T) 今までに書いた分に未練があるなら、>>473みたいな方法
過去ときっぱり決別する勇気があるなら、ゼロから書き直す
どちらでも、非同期設計で「昨日は動いたのに、ちょっと変えただけで
全然動かなくなった」みたいな地獄に落ちてもがくよりは断然早いと思う
50MHzか100MHzで回すステートマシンをベースにして
「state1ではこれをやる」「state2ではこれをやる」・・・っていう感じで
記述したら、ほとんどソフト感覚でできちゃうかも
# 教科書の最初のほうに、RS-FF, counter, shift register なんかの
# component(module)記述を挙げるのはホント弊害あるよなあ
# こういうのを、ソフトでいうランタイム・ライブラリ的に
# 意識せずに使えるのがHDLのアドバンテージのはずなのに 私は質問主ではないが独学のアマチュアなのでこういった意見は本当に参考になる いきなりハードルの高いCPUから手をつけるから、にっちもさっちもいかなくなるんだよ。
はじめはグルー回路とか、アドレスデコーダあたりからはじめなきゃ。
俺が役に立ったのはHDL Desugnerかな。
ソフトのサブルーチンの切り分けみたいなとこが見当つかず困ってたから。
こいつでステートマシン書いて、HDL出力させると、どう書いていいのかわかってきた。
てか、結局、HDLなんて書かずステートマシンだけ書ければ、あとは勝手にコード出力してくれるからもうそれでいいんだよなwwww
あと、最近はライブラリが充実してて、人間はそれを組み合わせるだけしょ。
ソフトなんかもっと`先行ってて、Visual Studio でC#なんかもう全部あるんだよなwwww >>479
未練はないです!これまでに作ったテストツールがあるので、書き直しても完全に0からではないと思ってます。
テストツールを作るのも結構苦労めんどかったので。
位相をすらしてステートマシーン使って同期処理だけでやり直します。非同期でやるよりシンプルになるような気がする。
あと、あの教科書的なFF、カウンター、シフトレジスタはもうやめます!騙された気分ですw
>>481
そうなんですよねー。でも勉強になって良かったです。自分がやってるやり方が盛大に間違ってる、ってか教科書は信じるなってことが分かったのが成果ですかねw
HDL designer ってのは初めて知ったので調べてみますね。ありがとうございました。
書き直したらどうなったか、お礼がてらにここにまた報告しますね! >教科書は信じるな
信じるとかそういう問題じゃない。教科書に限らず、丸暗記は駄目ってこと。
ちゃんと自分で理解出来るまで読み返すなり、他の文献と比較するなりする事。
それが出来ないと、データシートを読んだつもりでも重要なことが全然頭に入ってなくて
「ディジタルアイソレータ」は全能とか勘違いしちゃうんだなwww 楽しい作業ではないけど、HDLで遅延制約を切り離しての設計は成り立たないからな
抽象的な事だけ言っててもピンと来ないだろうから、具体的な例を挙げてそれを示してみよう
対象箇所は↓初段のクロック・デバイダ内
de0_cv_nes/clock_inst/cpu_dl_clk_wk
個人的な都合で、コード提示はverilog、なお本質に関係無い信号は省く
信号q_out[3:0]は単純なバイナリ・カウンタで、cpu_dl_clk_wkの生成部分は↓
cpu_clkをq_out[0]分遅らせて、信号cpu_dl_clk_wkを作ろうとしている箇所
always @(negedge q_out[0]) begin
cpu_dl_clk_wk <= q_out[1];
end
q_out[3:0]はバイナリ・カウンタの出力だから、その変化は同時に起こる
しかし、この信号に 相互の遅延関係制約が無い
もし、クロック(q_out[0])よりデータ(q_out[0])の方が早く到達すれば、
期待した結果とならないわけだ(q_out[0]分遅れない、cpu_dl_clk_wk≒cpu_clk)
いわゆる Hold-Vioration ってヤツ
これ Hold-Vioration=0.1ns 程度有ったら現実にコケル
そして、0.1ns程度の遅延は、素子遅延/ルーティング遅延で容易に発生するレベルだからね
これはクロック周波数と関係なく、たとえbaseクロックが1Hzであっても結果は同じ
何の制約も無いと こういう事が起こりえるわけだ
もし制約を付けてれば、ツール側で確実にq_out[0]よりq_out[1]が遅れるような遅延の挿入を試み、
その結果をレポートしてくれるわけだ(無理だったら Hold-Vioration)
何の制約もつけないという事は、この恩恵を自ら放棄してる事と同意 と認識すべしだな
初段のこんな処にコケる可能性が有るなんて、設計者は思ってもいないだろう
本当の怖さは、予想もしない処がやられる事にある
何の制約指定もしないと、こういう事が、回路全面 至る所で起きる可能性があるわけで
例え 不完全、or "Metしない" であっても制約は付けるべきだよ
そうすれば、ツール側で何がしかの努力はして貰えるわけだし、危険部分の認識も出来る
少しは重要性の意味が解ってもらえたかな
前にもこういうヤツがいたよ
チョッと弄ったら動かなくなった、 <- オマエ制約掛けてるの?
俺の組んだxxxx回路は、んMHzで動くんだ! <- は?
重要なのは確実に動く事の方だよ 8bit CPU時代は74LS161とかで実際にクロックを作ってたなw
プルアップしたりとかw すまん、通りすがりの昔話だw これは俺の書き方が悪かった、同期式のバイナリ・カウンタな
always @(posedge base_clock) begin
q_out[3:0] <= q_out[3:0] + 4'h1;
end
リップル・キャリーのバイナリ・カウンタではないよ ん〜485の話は、泥沼に迷い込んだ旅人に泥沼の歩き方教えるのに
似てるかも
「あっちにちゃんとした道あるから、こんな泥沼入って来ちゃ
ダメだべ!」って教えてやるのが親切では? >>485
説明ありがとうございます。すげー分かりやすかったです。制約なんてなんの意味があるのか分からずにとりあえず書いてましたが、重要性がわかりました。
DE1 で動いてたのがDE0-CV で動かなくなった訳が分かった気がします。制約の書き方をもうちょい勉強してみます! >>489
お気遣いありがとう。泥沼の歩き方でも知ることができたのは感謝です。泥沼に入らないようにするのは自己責任かもですね! >>485は
「HDLで遅延制約を切り離しての設計は成り立たない」って書いてるけど
FPGAの中だけで完結してる完全同期設計の回路なら、普通は
クロック制約だけで充分じゃないの?
(クロック制約も、本質は遅延制約だって理屈はおいといて) *.doファイルでディレクトリ指定がしてあるみたいなんですが、これって
プロジェクトはどこに置いたらいいの?
# Compile HDL Source
vlog +define+SIMULATION \
-vlog01compat -work work \
+incdir+../../../FPGA \
../../../FPGA/FPGA.v \
../../../FPGA/simulation/modelsim/tb.v 上はCQの例なのだがディレクトリの与え方がおかしい。
このほうがいい。これならフォルダー名が変わっても変更なしに使える。
それにこの../../../FPGA/simulation/modelsim/tb.v表現は紛らわしいし
意味ない。
# Compile HDL Source
vlog +define+SIMULATION \
-vlog01compat -work work \
+incdir+../../ \
../../FPGA.v \
tb.v 作者の方に確認したいんだけど
"cpu_recv_clk" は" cpu_clk" の反転(invert)信号を意図してるのかね?
既に指摘が有ったよう、
どっちに転ぶか解らない箇所なんで、その期待値を知るのは作者のみ
第三者では判断でつきかねる >>496
もう根本から間違ってたみたいなんで今は別の方法でやってますが、
>>474
の理由から、1クロックで位相をずらして、データの送信側のクロックがcpuclkで受信側がcpu_rcv_clkでFFで受けるってやりたかったんです。
全くよくないやり方みたいなので、globalクロック一つで完全同期回路で書き直してます! Latchのwarningが、相当数出てたろ
試しに確認してみると、単なるwarningじゃなくて 実際にLatchが合成されてる
んで、その原因の殆どが記述不備によって生成されたLatch
初めのうちは誰でもこんなモンだけど、次は注意しろよな >>498
はい。同期回路で書き直していってます。今のところ出てません。latch以外の警告は出てますが( ̄▽ ̄;) >>500
6502とかはオープンソースでもたくさん公開されてますね。自分でやりたかったんであんま見てないですが。 いや、そら参考にするべき。
君のやってることは、車輪の再開発に過ぎん。
ソフトも一緒だろ。
多くの人が使い込んでるIPはそれこと教科書として使える。 Latchの警告がでるなんて言語としてどんだけ芋かってことだな。W
糞言語ではあるな。 参考
ttps://www.youtube.com/watch?v=IQhGgmkk0rM 入門用にAltera MAX10の50M10というDDRメモリ付きのキットを買ってみました。
DDRメモリコントローラは有償IPならあるようなのですが、こういうのっていちいち有償なんですかね? >>510
フリーのIPもあるけど最初のうちはブロックRAMとかSRAMとかで勉強してからDDRを使った方がいいんじゃないかな? 遊びならopencoresでも行ってみたら
仕事ならケチケチしないで買うべきかと >>514
ケチケチつーても、うん十万オーダーなら良いけど、うん百万以上になるとなかなか小さいところには手を出せないんだよなぁ・・・。まぁ結局作る人間雇うよりは安いのは確かなんだけどさ。 >>502
車輪の再発明という言葉を2ちゃんでよく見かけるけどコピペの免罪符
ではないよね。
本人は自分でやりたいって言ってるし。 >>510
普通IPが利用可能か調べてから買うと思うが >>516
車輪の再発明しかやったことのないデジタル土方乙wwww >>516
すでに存在するのに、スクラッチから書き上げるのはもっとも愚かな行為ってのはソフト作成にける常識だ。
知らなきゃおぼえときな。存在自体無駄なお前 発明目的じゃなくて学習目的なのに、「車輪の再発明!!!」とか言われるとなんかこの人アスペなんかじゃないかと思う。
練習問題を最初に解答見たら考えるトレーニング、勉強にならんでしょう。 >>502と>>519は同じ人物とは思えないな。
同じように既存のものを見ようよっって書いてるけれど姿勢がかなり違う。
教科書として使うっていうのもありだと思う。
勉強でも、身につくプロセスというか、メソッドというか、適しているのは人それぞれで、
問題集の答えを見ずにうんうん考えてみるのが身につく人もいれば、
答えを見て学習することで学べる人もいるよ。 >>520
>練習問題を最初に解答見たら考えるトレーニング、勉強にならんでしょう。
バカかよお前。考えてもわからないからここで聞いてるんだろうが、
そんなことする前に人様が書いて動くコードがあるんだからそっち見ろと言ってるのにバカかお前は。 >>520
>発明目的じゃなくて学習目的なのに、
学習だから真似しろつってんだよアホ
学→子供が家の中で本を読むこと
習→小鳥が飛び方を親鳥から模倣すること
学習とは真似することってことぐらい覚えとけ。考えるのはうまく真似できるようになった後の話だ。 >>523-524
もう少し穏やかに言えないですか。
きっつい言い方ですべての人がうまく学べるわけじゃないのは、先人のやり方を見てればわかるかと思います。
どんな言い方が適切かどうかは、相手のことをよく知った後のことですし、それまでは、人として他人と接してもらえたらなあ。 >>525
言えねーなぁ
なんでてめえが気に入る口調でレスせにゃならんのだ。いったいお前は何様だゆとりのボケナス
だれも読んでくれとは頼んでない
いやなら読むな イヤでも読みましょう
専門板はあなたのような人が必要なのです どうも。コードを公開した者です。
僕はあまり他人のコードを見ずに教科書だけで数千行書いて、盛大に間違ってここで色々アドバイスをもらいました。
教科書にはラッチは行けない、同期回路で書けと必ず書いてますが、理由は「様々な問題が起きる」としか書いてません。具体的に何が問題でダメなのかは教科書からは分からなかった。
自分なりに考えて、ファミコンが動くところまでは作ったけど、不安定極まりないものでした。
で、ここでコードを公開して、色々言われて何が問題なのかが初めて分かりました。
始めて間もない頃に、一度だけ誰がが書いた6502のコードを見てみたことがあります。それは正にここで言われたことをそのまま実装してたのですが、教科書の書き方とはあまりに違ったため、なんでこんな書き方なんだ、これじゃ参考にならない、と思って見るのをやめました。
他人が書いたコードを見るのは、そこに至ったプロセスが分かりません。
僕が今回盛大に間違って、苦労したことで、問題を見つけることができたのは良かったと思ってます。今なら他人のコードをみて勉強になることはたくさんあります。
でも最初は間違いを自分でして、悩むことも時には必要だとは思いますね。 アルテラのテストベンチのテンプレートにこのコードが入る。いつも邪魔で
消してるんだがこれは元々どういう意図でついてるものかわかる人いますか?
always
begin
@eachvec;
end ℃玄人さん大活躍だねえw
エキスパートらしいアドバイスを聞きたいところだな >>531
というか、きつい言葉をまき散らしていると、本人のココロが荒れてくるのが心配。 >>528
自分も初心者だが、2,3冊教科書は読んでみたけど教科書を書くような人ですら
この関連の人はレベル低いよ。教科書を書くような人からしてダメだから、まして
普通の他人のコードを見てもあまり意味はないと思うよ。
例えばモジュールだとかタスクだとかFunctionだとか似たようなのがいろいろ
でてくるので、調べていくとどれもこれも中途半端で使い勝手が悪いのに驚く。
外枠を決めるそういう部分がダメだし、言語の中に入っていくとまるで出鱈目に
片っ端から機能を追加したような感じだ。
代入?の<=と=の違いだってまともに説明してあるのを見たことがない。
「そんなにたいそうなことかよ」と思うんだが、説明が混乱してるな。WWW
まあ言語自体が適当に作ってるので結局はあんまりよく分っていないんだな。
と初心者の俺は思う。 always
begin
@eachvec;
end
こんなのだって意味ないだろ。こんなのを追加するんならそれなりにサンプルでも
示して使い方を説明しないとな。そのサンプルがどこにもない。テンプレートだと
いうのに無駄なコードを平気で書くバカだよ。サッサと削ればいいのに。 だめな言語だめなツールでも使いこなすのがプロの仕事だけどな
お勉強だけなら結果出せなくても問題ないだろうけど
教科書が悪いってそれは程度が低い教科書しか見つけられなかったんだろ?
例えば代入の話でもまともな本なら書いてあるよ
hd-labの人が書いてる本読んでみな?
verilogでもVHDLでも基本的な事は大体わかるよ >代入?の<=と=の違いだってまともに説明してあるのを見たことがない。
僕は会社でも、ぶっちぎりの初心者で、他の追随を許しませんが、言わせて下さい。
どちらも代入ではありません。
<= は、FFのD端子に接続する式
次のクロックの↑で、この値が噛み込まれるよ、という意味。
= は、通常の論理ゲート(ANDとかORとか)の出力を表す式
クロックなんか完全無視。今すぐ反応するよ、という意味。
上のように覚えています。 実際、言語としての仕様とそれをどう実装するかは別の話で、その乖離が激しいのが <=、=なんだろう。
あるツールではこうだから他のツールもそうだろうというのは妄想にすぎない。
こういう書き方をすればFFが増えるだの減るだのってツールの最適化次第でしょう。 このあたりは最終的なハードがイメージできないと難しいかもね
ソフト屋さんが同じ感覚でやると理解できないかも
velirogなんかは高級言語風のアセンブラだもんねえ >>537
=なんてあるんですね!<=と:=しか使ったことない。<=はゲートを配線するイメージで書いてました。=はif文でしか登場したことなかった。。これヤバイのかな。 >537
じゃあさ、reg pp;
pp = pp+1;
pp <= pp + 1;
の違いはなに? どっちもエラーにならないし受け付けるよ。 vhdlのことでいいですか?
=だとエラーになると思ってました。 <=は要するにレジスタ出力を入力に配線(代入?)する式だ。出力配線の記述だね。
=は一般配線、レジスタの場合は入力側の配線になる。
ANDだからどうだとかは関係ない。組み合わせ回路でも順序回路でも同じだ。
FFのd、qであらわすとこういうことだな。
pp.d = pp.q + 1; '<=
pp.d = pp.d + 1; '= >>542
VHDLでも同じだったと思うが、わすれた。
VHDLとか使うのやめろよ。モデルシムでも大概うんざりするのに。WWW
たとえばレジスタを初期化する場合は=で書かないとだめだろ。
qq=0;
でないとモデルシムは真っ赤のWaveになる。 言語にこだわりはないですが、verilogのが記述しやすい印象がありますね。 >>541
pp= pp+1;
qq= pp;
と
pp<= pp+1;
qq<= pp;
の違い。 >>548
pp = pp + 1;
qq = pp;
pp.d = pp.d + 1;
qq.d = pp.d;
pp 1,2,3,4,5,,,
qq 1,2,3,4,5,,,
と
pp <= pp+1;
qq <= pp;
pp.d <= pp.q+1;
qq.d <= pp.q;
pp 1,2,3,4,5,,,
qq 0,1,2,3,4,,,, 上側がまちがい。W
pp = pp + 1;
qq = pp;
pp.d = pp.q + 1;
qq.d = pp.d;
pp 1,2,3,4,5,,,
qq 1,2,3,4,5,,,
と
pp <= pp+1;
qq <= pp;
pp.d <= pp.q+1;
qq.d <= pp.q;
pp 1,2,3,4,5,,,
qq 0,1,2,3,4,,,, あーーーよくわからん。WWW
式を二つ並べたらおぺーれしょんが変わるとか、ありえんな。WWW
冗談みたいな言語じゃな。 テストコード
always @(posedge clk)
begin
pp = pp + 1;
qq = pp;
end
always @(posedge clk)
begin
aa <= aa + 1;
bb <= aa;
end 書き方の自由度は高い!!! こっちのほうがわかりやすいんじゃない?
always
begin
@(posedge clk);
aa <= aa + 1;
bb <= aa;
end 単なる論理式だって、最適化されてゴッソリ消えるかもしれないんだし
あまり細かい事を気にしすぎるとハ >do aaa.do param
doファイルのparamってファイル内ではどう受けるんだ?
%1かと思ったら違うみたいだ。 ID:wIjFrNJ7
>代入?の<=と=の違いだってまともに説明してあるのを見たことがない。
こんなことはどんな本でもきちんと説明してるだろうが。
てめえの読解力が足りないのを棚に上げて何人のせいにしてるんだ。
お前、五流大しか入れなかっただろ劣等生が。 ID:wIjFrNJ7
結局お前は、
教科書読んでもわからない。
自分が作りたいと思ってるターゲットのまんま、コードをみてもわからない。
2chで質問してわかった?
笑わせんな。わかってねぇんだよお前は。
HDLじゃなくソフトウェアも人のコード読めないだろ。
そればかりじゃなく、数学も物理も教科書、参考書の証明、解法を独力じゃトレースできねぇだろ。
およそ理系じゃないアホ文系だ。理系だったら高専あたりか5流大。つまり大学未満だな。
しょせんお前には無理。あきらめろwwwww ℃玄人さんお疲れ様ですw
ID:wIjFrNJ7はハードの基礎知識が足りないね
レジスタは遅延がある事を考慮しないと
表面上ソフトと同じ様に書けるけどソフトじゃないからね
シミュレーションできても合成できないコードなんてのもあるよ 初心者なんだから分からないのも間違うのも仕方ない。バカにされても諦めずに続けた方がいいと思うよ。 つか、初学者に対して弱いものいじめみたいにグチグチやってる奴の事なんかNGでもしてスルーしておけば良いよ
こういうところでしか発散できない残念な人なんだし、まともに相手にするのは時間もエネルギーも無駄 テストベンチのテンプレートが貧弱なのでウイザード作ったら、結構便利。
Sub tbappend(Wr As IO.StreamWriter, id As String)
Select Case id
Case "constants"
Wr.WriteLine("parameter CYC = 50; //50nsec")
Wr.WriteLine("integer count;")
Wr.WriteLine("integer test_count;")
Wr.WriteLine("//-----")
Case "initial"
Wr.WriteLine(vbTab & "#(0) clk = 0'b1;")
Wr.WriteLine(vbTab & "test_count = 0;// <= is not good,becouse writen red line in modelsim, why?")
reg_initset(Wr)
Wr.WriteLine(vbTab & "@(posedge clk); // wait positive edge of clk")
Wr.WriteLine("//-----stop test bench -----")
Wr.WriteLine(vbTab & "wait(test_count == 100);")
Wr.WriteLine(vbTab & "$stop;")
Case "task"
Wr.WriteLine("//-----------------------------------------------------------")
Wr.WriteLine("always #(CYC/2) clk = ~clk; // clock")
Wr.WriteLine("always @(posedge clk)")
Wr.WriteLine("begin")
Wr.WriteLine(vbTab & "test_count <= test_count + 1;")
Wr.WriteLine("end")
Wr.WriteLine("//-----task insert-------------------------------------------")
task_insert(Wr)
Wr.WriteLine("//-----------------------------------------------------------")
End Select
End Sub >シミュレーションできても合成できないコードなんてのもあるよ
Gateシミュレーションやるだろ。それなら問題ないはず。合成結果だから
な。 >>563
ゲートsimなんてやらないよ。何のためにやるの? RTLは条件制約が多いわりにメリットがないだろ。アルテラのモデルシムの
場合はVHDLとVerilogを混ぜたらたしかできなかったと思う。それにgdfが
あったりするとvに変換したりするのがめんどくさい。
RTLになんのメリットがあるかわからん。 >>561
育ったみじめな環境が行動に表れてるんだよ。
こんな風に育ちたくなければNGって関わらないのが良。 ゲートレベルは重いから大変でしょ
きちんと同期回路にしておけばRTLだけで十分だと思うけど
あとは実機でチェックって感じで
つーかシミュレーションはRTLが基本でゲートレベルはおまけなんだけどね
毎度ゲートレベルなんてのんびりやってられないよ まあ非同期要素が入るとゲートレベルしかsimのやりようが無いか
非同期は超絶技巧の場合もあるけど大抵は駄目な例だよね その典型が僕の
>>460
な訳でして、RTLと同期回路で今は安定して動くようになりました! それが事実ならアップデートしてよ、どの程度の物か確認するから
それとも、成りすましの 偽者か? >>567
なるほど重いのか? そういえば思い当たる節がないではない。W
バグがわからなくて1晩回していたことがある。朝目が覚めたら一目瞭然で
解決。
でもブロック単位をスケマチックでまとめる俺としてはゲートレベルは
捨てがたい。そもそも小さい単位でデバッグしているから、その時は軽い。
1秒が10秒に重くなっても大差ない。
まとめると
1.スケマチックシートの視認性はVの糞を補って余りある。
スケマを使うとRTLはメンドイ。
2.小さい単位で確実にデバッグ(重さはほぼ関係ない)
3.全体デバッグ ゲートレベルで確認しておくほうが良い。
以上1,2,3の理由からゲートレベルに軍配あり。 >非同期は超絶技巧の場合もあるけど大抵は駄目な例だよね
それはそもそも認識の誤り。ロジックの大枠を非同期で作ることはありえない。
それをしてはならない。
しかし非同期要素は必然的に入る。この問題をどのように回避あるいは、安定に
動作させるかが超絶技巧なのだよ。 >>570
gitのリポジトリに最新が入ってますよ。CPUはこれれら作ります。今は一番不安定だったピクセル生成はこれまでにないほど安定しております! あ、最新はもうCPU作り始めたからダメかも。見てくれるんなら0915ってタグを見てもらったらいいです! >>574
うあー今上のほう読んだ。すごいことやってるね。中身は見てないけど。 引っ張ったら、motonesfpga-ad4ec02.zip の名前で落ちてきが
前と比べると、 de0_cv_nes\ の下に新たに mem\ ppu\ が増えている
これで合ってるか? de0_cv_nes.qsf 89.58 k ad4ec02 2016-09-15 10:23:30
Syntax Error で駄目やん、直したら教えて >>576
ありがとうございます!
はい、あってます。でも多分最新を落としてると思います。
最新は今色々作業しているのでタグを打ったバージョンのほうがいいと思います。
https://osdn.jp/projects/motonesfpga/downloads/66422/motonesfpga-de0_cv_nes-53e7463.zip/
にパッケージまとめましたので、こっちでお願いします!
わざわざ落としてもらっちゃって、いい人だなー! >>575
レトロCPU好きなんで作ってみました。ソフトウェアでのエミュレータとアセンブラ、リンカも兄弟プロジェクトで作ってます。一応このFPGAとエミュレータとアセンブラの三部作でファミコンシリーズは完成です!
FPGAが一番苦労しましたが、ここ数日で一気に完成できそうです。
色々教えてくれた人達のおかげでございます。はい。 イキナリSyntax-Errorなんで、成りすましの偽者かと思ったら、そうじゃなかったみたいだな
9/4の物(motonesfpga-cffc577)に対し、
新しく提示のされたファイルで de0_cv_nes\ 以下を差し替えるという事で宜しいか?
エラーが消えたから、それで良いんだとは思うが 念のため >>579
馬力あるなー。200万円くらいもらえるんなら作るけど、200円で売ってるものだけ
に気分が乗らないよ。W
でもそれで獲得した技術力は200万くらいの価値は十分あると思う。なんにせよすごい。 自分も何かやってみたい。これだけ潤沢なリソースがあるんだから何でもできそう
な気がする。しかし、、、、そうでありながらアイデアがあまり浮かばない。
たいていのことはCPUでできてしまうのでFPGAの活躍の場がないんだよな。CPUでは
難しい、FPGAだ。俺の出番だって思ったら、その前に強敵のDSPが立ちはだかる。
FPGAが活躍できるのはどこ? って感じ。
リソースを90%余らせて画像処理のフロントエンド、IOパチパチ。 PPU、全面書き換えたようで綺麗に消えたね、立派なもんだ
CPUの方は手が回らず、今回はステーテト・マシンでの代替みたいだから
全体の動きは確認できないけど、責め方としては順当な方法だな
前のヤツは、BGが系の実装がイマイチだったので(特に縦/横スクロール系)
その辺の改善も見てみたかったんだけど、まぁ一度には無理だよな、 これ次に期待させて貰うよ
お礼に、作者がまだ気が付いてい事を知らせておく
RGBの接続、これえ間違えてるから 正解は↓
テスト・パターンも自分で作ってたりすると、気が付かないって事は良くあるよ
--ref: http://hlc6502.web.fc2.com/NesPal2.htm
-- BGR <- 作者の接続
-- RGB <- 実際は此方が正解 >>580
はい、それでいいです。
もう見てくれたんですね。ありがとうございます!
RGB逆転してましたか。なんかスーパーマリオを動かしてみたら空がずっと夕焼けだったんでおかしいなと思ってたんですよww謎が解けました!
BGのスクロールはそうなんです。イマイチでした。鋭いですねー。とりあえずスーマリ動くようにしてから細かいところは直して行きます。
いやー、ホントにこの何週間かで凄い勉強になりました!ありがとうございます。 >>582
なんでもいいからやってみましょうよ!僕はCPUが好きなんでこんなCPU作りたいなーとか考えたりしますね。そのための実験で昔のCPU作ってみました。
やっぱコプロセッサみたいに汎用CPUの隣にFPGA置いて何かやらせるのが多いんですかね。プロじゃないのでどういう場面でFPGAとDSPと使い分けてるのか僕も知りたいです!
テレビとかデジタル印刷機とかでFPGA活躍してるイメージあるな。 ModelsimAlteraのタスクのアウトプットがなぜか動作しない。
コンパイルはもちろんOKなんだが、、、、なぜだろう?
reg pls;
tsk_pulse(10,pls);
//----------pulse write-------------------
task tsk_pulse;
input [7:0] pw;
output wr;
integer count;
begin
wr = 1;
for(count = 0; count <= pw; count=count + 1)
begin
#CYC;
end
wr = 0;
end
endtask あっそうか結果だけを渡してるのかな? とすると参照わたしってどうやるんだろ 予想どおりだ。結果のみを返してる。
以下のようにしたら正常に動いた。しかしこれでは使い物にならんな。W
task tsk_pulse;
input [7:0] pw;
output wr;
integer count;
begin
@(posedge clk);
// wr = 1;
pls = 1;//これでどうだ?
for(count = 0; count <= pw; count=count + 1)
begin
#CYC;
end
@(posedge clk);
wr = 0;
end
endtask wr = 1;
#(CYC*10) wr = 0; >>585
マリオが20歩ぐらい右に走ると終わるだろ、あと真ん中のデカイ看板も出てない
症状合ってる? >>591
だめだったよ。
pls=1;
#(CYC * 10) wr = 0;
これなら正常に動作する。 >>592
背景が夕焼けでスクロールがおかしくなってたら多分あってますw
こんな感じで。。↓
https://youtu.be/ASx5mEBuKJE >>593
あ、ゴメン
pls=1;
#(CYC * 10) pls = 0;
のつもりだった。
つまり、わざわざtaskにするメリットないんじゃ?ってこと
どうしても tsk_pulse(10,pls); って書きたいなら
`define でマクロにしたら? >>595
少し規模が大きくなってくると、これができるかできないかが大きな違いになってくる。
ということで、あきらめ切れないのよね。
今考えている方法は
1.タスクはあきらめてモジュールで構造化する
2.SystemVerilogではできるのではないか?
少なくてもSVはモジュールの呼び出しが簡単になってるみたいだ。
ということでSVを調べてるのだが、うまいこと資料が発見できない。しかし調べて
みると機能拡張されてるらしいのはわかるんだが、恐ろしく糞っぽい匂いがしない
でもない。 いま最大の問題は
1.modelsimでsvをどうやってコンパイルするのか?
2.Primeではsvのテンプレートはサポートされていないのは分かった。
上位コンパチらしいのでvのファイルをリネームしてsvモジュールを追加して
いけばいいだけか?
SystemVerilogでは次のような機能も追加されました。
・ よりわかりやすい引数(ポート)の宣言
・ begin ... end 無しに複数文を記述できる
・ 引数(ポート)に ref (レファレンス、参照)が使える
・ デフォルト引数が持てる
・ DPI-Cを使って、タスクや関数をインポート(import)/アウトポート(outport)できる。
refできるって書いてある。
むむむ、DPI-Cってなに? SystemVerilogはかなり改善されてる。割と思い通りにできるようになった。
もうあきらめようかと思ったがあきらめなくてよかった。W
DPI-Cが気になるが、テストベンチのテストに時間かけすぎて納期がなくなってきた。
そろそろ本体を書き始めよう。 >>594 合わないね、その動画で言うと 再生時間で10秒直前で最初に戻る
TOP- 000000 の最後の0のチョット右に行ったあたり
真ん中に、デカイ看板が出てないのは合ってる
根本的な事を確認したいんだけど、その動画の元になったファイルは
OSDN に上がってる どのファイルVerに相当する?
もし、違うので やってたんなら話が合わないからな すいません、古い動画だからどのバージョンかわからない。。。
なんせガラス細工のソースなもんで、どれで動くかよく分かりません。。。
日付からすると
https://osdn.jp/projects/motonesfpga/scm/git/motonesfpga/archive/179265fc1af6bdbfe3af38d95f2400dde69ce2f9/?format=zip
これあたりかな。
でも、マリオが動くのは古いやつばかりです。
今は0から書き直していってるので、間違ったソースを見ることになります。
僕がいかに盛大に間違ったかを見るのはいいですけど、見るなら最新を見てもらった方がいいと思います。
最新でマリオが動くようにできるのはもう少し後になりそうですが。。。
あと、動かすならマリオの.nesが必要です。
https://osdn.jp/projects/motonesfpga/downloads/66429/smb-img.zip/
こいつの中身をde0_cv_nesの.hexファイルと置き換えてもらったマリオになるはずです。 助かるわ
ガラス細工なのは承知してるんで、それは問題ない
ただ、症状が合わないなら、何故なのか その理由が知りたい
違うなら違うでその原因が判りさえすれば それで納得が行く
さっそく、提示してもらったモノで確認してみる 原因が判ったんで、一方をお知らせる
提示のHEXと差し替えたら、同じような動きになった
推測だが、それ恐らくチートROM
これからROMの差分を取って、
何処で差異が生じるか調べて、後ほど報告させて貰う(チョット時間が掛かると思う)
もし場所が特定できれば、今後の改善に反映できるかも?
とにかく助かったよ、 ありがとう 前言撤回
比べたら相当違う 別モンと言っていいくらい違う
差分 取ったら、prg = 17KByte /32KByte が不一致 ほぼ半分が違う、chr は一致
これじゃ、差分から追うのはチョット無理だな
どっちがチートかわ判らんがく違う事は確か、もしかして俺の方かな?
何か有益な事が判れば報告するけど、これでは ちょっと無理っぽい
とにかく原因が判ってスッキリした、助かりました。 >>603
あのROMはチートじゃなく普通のゲームのROMです。動いてるのはリセット後のデモ画面ですね。
ROMのサイズが違ったのは何でだろ?テスト用に16KのROMも作ったりするので、間違って16Kに切られたのかも知れないです。マリオは32KのROMじゃないと動かないはずなんで、間違ってgitに入れちゃったかもです。すいません。 チートとか軽はずみな事言って申し訳ない、両方とも32K
HEXファイルのサイズが違うのは、Intel-Hexファイルに落としたときのFormatの差異で
今回作者が提示してくれたのは、一行32Byte形式で変換した物
他方、検証用の作者自作 "sample1-xxx.hex" は、一行16Byte形式のヤツ
このため、Recode & SUMのオーバーヘッド分が2倍となる
結果HEXファイルのサイズは72K/90Kと異ってしまう、切れてるわけじゃないよ
欧州版の実物は持ってないんで真偽の程を確認する事は出来なけど、
提示してくれたのは、俗に欧州版(PAL版)と言われてるモノと中身が一致するから
恐らくそれでしょうね
こちらの結果だと、日本版(JU)は10秒辺りで戻る、欧州版(E)は提示の動画と同様の動き
ご自身でも確認してみてくださいな、きっと同じ結果になるんじゃないかな?
Super Mario Bros (JU) 日本/米国版(NTSC)
Super Mario Bros (E) 欧州版(PAL) >>605
なるほど。てか凄い調査能力ですね。もしかしてCIAの人ですかw
私のROMは確かに海外のサイトから落としてきたような気がします。日本版でも試してみますね。 結果だけ知らせておくな
あれ、設計者が作り込んでしまったバグ
たまたまMarioが目立った形で出ただけで、内容的にはどのタイトル出てもおかしくないレベル物
箇所を特定は結構難易度高い、が 直すのはたいし事無い
ご他聞に漏れず、バグなんてどれもそんなもん
調べた範囲で、3種類のバグを確認している
ロジカルなヤツだから、新しく作り直した方にも 3種がシッカリ受け継がれてる
まぁ頑張ってくれ おー、ありがとうございます!ホントに初見でバグまで見つけるって本職の方は凄いですね!
こっちは書き直しがCPU、PPU、DMAが終わって、一通りの確認はできました。まだスクロールがちゃんと動いてない、マリオを動かすと途中でMNIが来なくなる、みたいな状態でデバッグ中です。動くようになったらまたアップしますね〜。 モジュールに分割するのはどういうように考えたらいいのだろうか?
functionはフィッティングに影響しないので、整理する意味では積極的に使った
ほうがいいと思うが、moduleは適宜分割すべきだとは思うが大きなモジュールは
フィッティングの制約が大きくなるのではないだろうか?
例えば
モジュールA 20%
モジュールB 20%
モジュールC 20%
モジュールD 20%
で均等分割するよりは
モジュール(A、B) 40%
モジュールC1 10%
モジュールC2 10%
モジュールD1 10%
モジュールD2 10%
このようにまとめる方がフィッティングの可能性は上がるのだろうか? 今はリビルドするからある程度は関係ないでしょ
わかりやすさ優先でいいと思う >フィッティングの可能性は上がるのだろうか?
これは、抽象すぎて判断できないな
速度の事を言ってるのか、サイズの事を言ってるのか
はたまた、フィッティングに掛かる時間の事を指してるのか
どれも相反するよね
せめて、そのぐらいは第3者にも伝わるように言ってもらわないと 気が付かなかったが、モジュール分割したほうが配線の制約ができる分Fittingの時間は
速くなるのかな。たぶんそうだろうね。 >>610
あまり小さいところまでモジュール化していたら客先からクレームがついて、「2階層程度にしろ」ということで大改造になっている。
モジュール化したほうが絶対にわかりやすいのに反論したいのだが根拠が見つからない。 抽象化すると可読性が下がるからやり過ぎないほうがいいのは確か 初期値が不定だとAltera-modelsimはまじめに動作しない。なにか一括
ディフォールト設定する方法ってないのか? ロジックにいちいち初期セット
いれるのはメンドクサイしコードが増える。 当たり前〜当たり前〜
相手はフリップフロップ。リセット端子繋がなきゃ電源投入時、どっちだか分からんでしょ。 >>619
forceにワイルドカード組み合わせたら? >>619
FPGA向けでやってるんなら、信号・レジスタの宣言時に初期値を指定するべし
reg reg_data = 1;
signal reg_data := 1; >>620
このスレ的にはFFもRAMもコンフィグで初期化されるから、電源投入後は既知の値になってるってのが
当たり前〜ではないかな?
今時のデバイスは知ってる限りみんなそう
シミュレーターはそうはいかないから駄目だけど 10年位前にその話でかなり荒れたなw
まだ覚えてるわ
configの時にレジスタはクリアされるけど後の事考えるとリセット回路はあった方がいいかなあ 10年位前にその話でかなり荒れたなw
その時の事思い出した
configの時にレジスタはクリアされるけど後の事考えるとリセット回路はあった方がいいかなあ Xilinx FPGA Spartan6 と Verilogで、
A/Dを使ってアナログ電圧をデジタルにして、2行の液晶に値を表示するくらいはできます。
この程度ではFPGAをやっている会社に就職できないでしょうか?
先輩が教えるとしても、このくらいできるほうが教育も少なくていいのではないかと思います できるよ。
ブラックでも耐えられるなら。
でもね。
まともな会社は技術系はガッコ推薦で入社すんの。
修士2名、学部1名ってのがガッコ推薦の枠組み。
その手続きを踏まない会社ってだけでモウね >>627
グーグル先生に聞けば、それくらい誰でもできちゃう時代だからねぇ
企業が求めている人材ってのは、ショボイ結果見せられる人じゃないんだよね >forceにワイルドカード組み合わせたら?
凄い!! 頭いい。と思ったのはここまで、どうやってターゲットの中に伝えるんだよ。W >627
凄い。そんだけできれば何でもできるよ。それとブラックだからと怖がることはない。
お金の支払いが滞るような場合はもちろんだめだが、たいていの企業は甘い学生から
みたらブラックだよ。その中で技術を習得してしまえば天国になる。
ただ後は未知のことに遭遇することが絶対にあるからその場合にそれを乗り越えるだけの
能力があるかが重要だ。
それをテストしてみようか? 619のような質問がテーマとしてお客さんから出てきた
とする。
どうこたえる?
これで君の実力がわかる。 >>627
現場仕事をやってる会社に売り込んだら、武器のひとつにはなるはず。
当たり前だけど、就活でふつうに求められるようなことは大きく外していないことが必要だよ。 DFFに展開される場合とDFFEに展開される場合があるのはなぜなの?
内部のマクロセルは全部イネーブルがついているのでDFFEで構成したほうが
いいだろうに、なにか書き方の違いでこうなるんだろうか?
ちなみにverilog 根拠もないし、試してもないんで全くの推測になるけど
D入力だけ使った場合と、D・E両方使った場合との
LUTの消費数比べて最適化してるんじゃないかな? DFFてディシディア ファイナル ファンタジーのこと? 日本語版
ttp://japan.xilinx.com/support/documentation/white_papers/j_wp231.pdf
「図4を図5に置き換えできます」とあるけれど、動作は変わっている。
このホワイトペーパーの他の部分も、納得して参考にしないといけないのでしょうね。 デバイス変われば、LUT構成も変わる
効果も知れた物
正直、こんなの馬鹿らしくてやってれないな でもスピードを出そうと思うとセレクタが多段につながるような回路になると
まずいからね。RTLみるとなんでこんな糞回路になるのかとびっくりする。 双方向バッファのシミュレーションで悩んだ。 朝からずっとやっていてグッグって
やっとみつけた。
Create a test input pin in the top level of the design. Assign the desired
I/O standard and input termination to the test input pin and compile the
project. Because the EDA Netlist Writer only generates the output buffer
model on bidirectional pins, adding an input-only pin is required to generate
the input parallel OCT model.
でもこのやり方はよくない。TOPにこんなことしなくても、テストベンチにassign
してもいい。そしたらプロジェクトを変更しなくていいしコンパイルしなくて済む。 bemicro max10はもう生産しないんかねぇ… 日立工機と半導体事業売却
http://www.jiji.com/jc/article?k=2016100500103&g=eco
日立はルネとエルピ以外でどんな半導体事業やってたのかと思いきや、
半導体製造装置かよ。
それより、ユーザとして日立工期がわけわからん会社に買収されるのは困る >>607
どーも、ご無沙汰しております。まだ見てますかね?
一応基本的な機能は完成しました。
https://youtu.be/TLpUG1l3-8s
まだおかしいところはあるんですが、あとは調整だと思います。
さすがに少々苦戦しました。
色々教えてもらってありがとうございました!
他の人もコメント等もらえると嬉しいです。ファミコンのFPGAクローンです。 俺が指摘したのは、その前に(>>592辺りから)種々書いた
"Super Mario Bros (JU) が10秒で戻る" 事に関するバグの指摘
その原因を、突き止める過程で見つかったのが3つって事で、
個人的な興味は、作者がそこに気が付くかどうかだけ
>>607は、修正して指摘の症状が直った事を確認したうえでの報告
このバグ潰せば直るかも? じゃないよ
新しいヤツぱらっとしか見て無いけど、駄目そうだね
Super Mario Bros (E) のままだし JUって奴じゃないと出ないバグなんですかね?エミュレータも全部USのタイミングで作っちゃってるからなあ。JUでやり直すのも大変なのかな。
さすがに疲れたので、ゆっくり直してきます。。
ともあれありがとうございました。 >>627
2桁の液晶に値を表示できないけど、就職して仕事してるわ。
規格外のブラウン管に、ADの値を浮動小数点演算で補正して表示するぐらいはすぐにできるけど。
最近さー、大手半導体会社から転職してきたのがいるんだけど、
「ADってなんですか?」
とかいいだして、マジ困るわ。50代ぐらいの。
おまえそんなんで、大手派遣会社に来るなちゅーの。 ブラウン管というところがスゴイね。
オシロのX-Yだったりして? marsee氏にブロックされてた(´・ω・`)
Twitter始めたばっかでツイート少なかったからかしら。
永久出禁かしら。なんかとっても悲しい。 ほとんどツィートしていないアカウントからのフォローはボットかもしれないので、ブロックしています。
メンション飛ばしてください。ブロックを解除します。 ガチで本人降臨してて草
Twitter見てもマジじゃん ブロックしちゃうとメンションも送れなくなるんですね。
それじゃ、アカウントを教えてくれるか?
新しいアカウントで多少ツィートしてからフォローしてください。。。 marseeにぶら下がるだけのクラスタになちゃだめよ TCL便利やな。 GUIが使えるとはしらんかった。modelsimに外部プログラム起動
とかの便利ボタン張り付けてずいぶん使い勝手がよくなた。 smartfusion2って、何処で購入出来ますか? ALTERAのメガファンクションの種類(機能)に関して日本語提供されてる資料ってあるでしょうか >>665
Digi-KeyでもMouserでも好きなところで買えば良いんじゃない 10M50なのか
arrowの30ドルは10M08だからお買い得だね いくら安くても、Arrowは一年ぐらい在庫なしの状態だからな
もう売る気無いだろ
実際、Alteraからの販売奨励金でもでなきゃ、あれで$30は 赤だろ しかも無料コンテンツじゃねぇとか…
こんなのわざわざ課金してやるとかキチガイ沙汰だろ 組み込みハード初心者向けという意味で中学生当たりにやらせれば可もなく不可もなくという感じかなぁ。
書き込み機を用意したり、マイコンのデータシートの束を見て辟易したり、ブレットボードでジャンプワイヤで配線失敗したりしなくて済むという利点があるけど
PICのベースラインを弄る前に学習してみるという意味ではいいかもしれない。
FPGAのスレでする話じゃないのは分かる bemicro max10はもう生産しないんかねぇ… >>678
いつまで言ってるの・・・いい加減しつこいし諦めなさいよ FPGAでなければできないことってどんなことがあるんだろう?
マイコンでほとんどできてしまうから_| ̄|○だよ。 >>681
マイコンの能力が上がってるからね。
以前ならFPGAを使った用途でもマイコンでカバーできたりするね。
これ、使い慣れたマイコンでできないなあ、っていう場面に遭遇したら採用を検討したら良いのではない? 特殊なものってなに? PCIくらいしか思い浮かばないが、、
PCI3マスターしたいのだが、これってほとんどFPGAっていうよりはソフト屋
の出番になる気もする。リスクが少なくて儲かる美味しいところはソフト屋が持って
いく。
頭にくるのでなんとかPCI3だけは全部仕事をかっさらうことにしたい。
PCIから外はお手の物なんだが、それから内側のドライバー周りができないのだよな。
なんとかマスターする方法はないか? ドライバー屋さんでも何らかのツール使ってやるのが普通かも
素人なら WinDriverとか PCI3って
PCI express gen3のこと? >>685
普通じゃないよ。
サードパーティのバカ高い糞ツール使っても大して簡単にならない。
結局、純正WDKが一番マシ。 >>681
高時間分解能、高精度で波形生成したり、多チャンネルで同時にモーター駆動したいときとか。SOC FPGAのマイコンとFPGA両方使ってるよ。便利な世の中だわ。 >>681
メモリコントローラ、バスコントローラwww
あと、1クロック(最小システムクロック)で動く多(128とか)タップのディジタルフィルタ
音声用なら何クロックかかってもいいけど、変復調用とか、コア数増やしてもCPUじゃ無理
ここはFPGAっていうよりASICだろうけど、変復調用のベースバンド処理はCPUじゃまず無理 そうか、いくらCPUが速くなろうが、
バスやメモリ、割り込み、パワーオンリセット、
そんな箇所はCPUより真に速く動かないといけないから、
FPGAが不要になることはなさそうだな。 >>690
>バスやメモリ、割り込み、パワーオンリセット
そんなとこFPGAで設計しないだろ。
CPUが十分早くなれば全部ソフトでいいよ。 >>691
ネタ?
それかソフト専門の人?
ネタだよね? 全部ソフトでっつーのはどうかと思うけど、そんなもんFPGAでやらんだろってのは同意
そんなこと書くのはソフト屋にもハード屋にも見えない
自称SEあたりのボンクラじゃないのかね めっちゃ早いCPUが中に入ってて
入力ピンの状態をモニタしてて
状態に応じて出力を制御してたら
FPGAと何が違うの? >>694
そんなもん指摘するのもアホらしいけど要件とシステムリソースの配分、バランス次第
なので一口にダメとも良いとも言えない
とは言え根本的なところはどこまで並列に動けるか否かだろうね
CPUがどう命令を実行しているのかを考えれば分かるんじゃないの めっちゃ早いCPUか
結果の点ではそれも有りだろうけどエネルギー効率だいぶ悪いよね
同じ事やるのにクロック10倍じゃ追い付かないでしょ 最近はFPGAが半導体プロセス技術の牽引役になってきたので
めちゃ早いプロセッサが出てくるころには
めちゃめちゃ早いFPGAが出てくると予想できるのだが それゃそうだ
ロジックICよりも早く動くCPUがあるのか田舎 >>697
FPGAよりプロセッサの方がプロセス進んでるじゃん >688
ddsはよく使う。FPGAは得意かな。
多チャンネルモーターで同時にモーター駆動って具体的にどういうこと?
ON.OFF制御なら圧倒的にCPUが便利だけど、サーボモーターならFPGAが便利かな?
しかし専用のIOを持った安いCPUがあるよ。FPGAでやるのは効率よくないような気がする。
そもそも玩具のような小さいのならともかく、1Kwとかになるとユニットをつかう
でしょう。1Kwを多チャンネルになんてしないでしょ。
サーボモーターなんて仕事の依頼うけたことないな。
>689
デジタルフィルターならDSPでしょ。決まりきったことをやるだけだからほとんどは
DSPでできてしまうのでは?
ベースバンド処理っていうのはよくわかないが、どの程度の周波数をいうの?
通信関係は知らないが、3Gぐらいのこと? そもそもFPGAってそんなに速くないでしょ。
内部は100Mhzで動かすが関の山でしょ。よくて200Mhzくらいかな。400Mhz
では動かないよ。たぶんできても無茶苦茶苦しいとおもうよ。たまに1部だけを200
Mhzでやることはあるけど普通100Mhzどまりだな。
200Mhzなら問題なくできるんだろうか? としてもやれることは限られてくるような
気がする。
フロントエンドはアナログ回路がいるから受け取ってフレームにするまでだよね。あとは
CPUでないとめんどくさくてできない。Ghz帯域のシリパラ変換ってやっぱり専用
チップじゃないかな? この質問パターンってよくあるなあ。
自分が理解できないもの、学ぶのが億劫だと考えるものを、もういらないものということにしたいような発言。
ここで納得できる答えが得られても、得られなくても、そういう疑問を持つ人に救いはないよ。
必要だと考えられているからFPGAという商品が流通しているのだから。 疑問の持ち方ってかなり重要だと思う。
もちろん意味のない疑問は意味がないが、適切な疑問はすでに回答の一部でもある。
商品が流通していてなんの問題もないように思えても、簡単に没落するのは世の常だ。
シャープは存続していくが、実態は別物になっていく。FPGAもそういる歴史をたどって
きた。こちらは壁を突き破ったり乗り越えてたりして良い方向へ進んで来たが、また
壁にぶち当たっている。疑問を持つことをやめたら直ぐに没落する。 >適切な疑問はすでに回答の一部でもある。
いいなこれ。そのうちどこかで使おう。 FPGAはハードの進化より開発環境の進化が大事だと思うの >>700
>デジタルフィルターならDSPでしょ。決まりきったことをやるだけだからほとんどは
>DSPでできてしまうのでは?
お前全然わかってない。真性の馬鹿だな。
Σ a(i)x(i)
をCPUでやるとループ回数分だけクロック消費するだろうが。
これを1クロックでやれるのがマッチトフィルタだ。
なんのためにハード設計してるんだお前は。
>3Gぐらいのこと? そもそもFPGAってそんなに速くないでしょ。
>内部は100Mhzで動かすが関の山でしょ。よくて200Mhzくらいかな。400Mhz
>では動かないよ。たぶんできても無茶苦茶苦しいとおもうよ。たまに1部だけを200
>Mhzでやることはあるけど普通100Mhzどまりだな。
お前実際レベル低すぎるな。入出力部分のみその周波数で動けばあとは、
シリパラ-信号処理-パラシリで該当周波数に対応させられる。
問題になるのはレイテンシだ。アホ過ぎて話にならんな。 ID:jpRRIo7a
> デジタルフィルターならDSPでしょ。
> デジタルフィルターならDSPでしょ。
> デジタルフィルターならDSPでしょ。
> デジタルフィルターならDSPでしょ。
> デジタルフィルターならDSPでしょ。
あほさらしあげ。
アホはFPGAさわんなwww ID:jpRRIo7a
ベースバンドもわからんアホが学問板に出入りスンナ
失せろアホ 知能が低いのと知識がないのとを混同してるのかな
知能が低いというのはちょうどあなたのような人を言います >705
おおっ、ちょっとは知ってそうだな。
マッチトフィルターって初めて聞いた。でも原理は大したことないな。
入り込みそうなノイズを予め想定して、それを打ち消す相関関数(整合)を乗じて信号
を取り出すってことだな。こんなのは普通に考えつくことだな。
しかし1クロックじゃ無理だろ。W
しかし1クロックじゃ無理だろ。WWWW ちょっと強調してみた。
>お前実際レベル低すぎるな。入出力部分のみその周波数で動けばあとは、
>シリパラ-信号処理-パラシリで該当周波数に対応させられる。
>問題になるのはレイテンシだ。アホ過ぎて話にならんな。
わかったつもりになるとだめだよ。説明できないとね。
該当周波数って何ヘルツなの?
レイテンシーがなぜ、どういうケースで問題なの? >FPGAはハードの進化より開発環境の進化が大事だと思うの
これは痛切に感じる。Verilogを使って「なんだこれは、、、」と脳天に衝撃を受けた。
正直にいうと信じがたいほどのショックを受けた。
プログラム言語は600?種類以上もあってそれぞれユニークな進歩を遂げている
というのにいまだにVerilogはビルゲイツおっさん時代の代物だな。W
誰がかんがえたんだよ。偉い人なんだろうな。でもVBと一緒に丁重に葬り去ってほしいよ。 VBみたいに名前はのこしてもいいから実質は消し去ってほしい。
Verilog.net
これなら名誉は守れる。 >>712
論理合成用言語もユニークな進化をしてるだろ。
実用に耐えないというか、まともなサポートがないから使われないだけで。
まあ、C言語系はハードに合わない気がするが。 >716
そう? でもパッと使えるものがないと思わない?
SystemVerilog…は簡単に使えるけど、Verilogとほとんど代り映えしない。
メリットはほとんどない。
SystemCはWiki見ただけで、「はああああああああ」って感じ。
なんでアダー書くだけでこんなんするん?
pythonのもみたことあるけど、いまいちだね。 IDEが.NET位にならないかな
入力のアシストとかしてくれよ 最近のAlteraのカルタスは入力アシストしてなかった? 日本語入力に難が有るからなぁ
やっぱコメントは日本語じゃないと SystemVerilogは検証系の方はかなり進化してるんだね。知らなかった。
でも使い方がいまいちわからん。W
普通の波形確認のテストベンチしか書いたことがないのでよくわからないが、たしかに
アサーションベースの検証方法ってのは、劇的に効果があるかもしれない。
検証ってかなり時間がかかる部分だからこれはちょっとは使えるかもだね。 >>711
>入り込みそうなノイズを予め想定して、それを打ち消す相関関数(整合)を乗じて信号
>を取り出すってことだな。こんなのは普通に考えつくことだな。
はぁ?何言ってるんだ。
マッチトフィルタというのはデジタルフィルタそのものってことぐらい理解しろやアホ。
> しかし1クロックじゃ無理だろ。W
> しかし1クロックじゃ無理だろ。WWWW ちょっと強調してみた。
確かにFPGAでは1クロックでは無理な場合が多いが、素人のお前にわかりやすく書いてやってることをわかれやアホ。
あらかじめ決められた個数の乗算器なり加算器しかなければ、クロックそ消費しながら繰り返し使うしかなく速度を向上させようがない。
演算器を信号処理に応じた個数だけ用意できるFPGAとはそこが最大の違いってことぐらいわかれや。
そして、ASICでは最小システムクロックで動作するものをマッチトフィルタと呼ぶ。
DSPが最小システムクロックでMAC演算が実行できるようにだ。
>わかったつもりになるとだめだよ。説明できないとね。
> 該当周波数って何ヘルツなの?
> レイテンシーがなぜ、どういうケースで問題なの?
お前の使ってるスマホのベースバンド処理を演算機能拡張してないCPU/DSPで実行できてるものがあれば言ってみろやアホ
テレビの受信モジュールしかりだ。そしてFPGAはASIC設計の試作に使われる。
繰り返しいっとくが、シロート馬鹿は出入りスンナ ところでZynqのARMって、使わないときは放っておけばいいの?
普通のFPGAとして使える? アホアホ言わないで。
良いこと言ってても信頼性落ちるよ。 >>722 は普段の生活で相当ストレスためてるのかな… >>723
コンフィグしたらリセットでいいんじゃない
メモリコントローラ部分だけ使ってる FPGAでディープラーニングの並列計算をやってみたいんですがどんなものを手に入れたらよいでしょうか。
入門以前で実機すら手に入れてません。
入門書籍やFPGA評価ボードの選定方法、検索キーワード、なんでもいいのでとっかかりを教えていただけないでしょうか。 流行の文句に振り回されてるだけで自分が何をしようとしてるのかすらわかってなさそう 100年早い!って怒られそうw
この殺伐としたスレでなかなかの勇気だね >732
ググってみたら意外にたくさん出てくる。W
ttp://qiita.com/HirofumiYashima/items/ad9c850511e1059b3c9f
JPモルガンの48ノードのサーバーとか面白いな。
FPGAもPCと協調するといろいろおもろいことができるんだね。 >>733
データセンターが買いあさってて、その流れでIntelがAltera買ったという話は有名だと思ってたけどネェ
XeonにFPGA入ったやつを我々が買えるのはいつになるんだろうな
サンプルは夏前くらいにもうばらまいてるって話だったけど いや、意外と業界事情に疎い人が多いんだわ
うちの職場の奴らも目の前の仕事ばかりでFPGAがどんなところで使われ始めているのか知らない…
オフロード?アクセラレート? なにそれ美味しいのレベル
>>728
まずはOpenCLでGPUに実装するところから始めてみては
FPGAに載っけても、大規模データセンターで使うとかじゃないと費用対効果ないし
(効果も消費電力だけで、計算速度はそんなに変わらない) >>728
追記
FPGAがっつりやるとなったらフリップフロップとかハードウェアのことを勉強しなきゃならない
それはたぶんやりたいこと(DeepLearningをオフロードして早くする)から外れるのでつらいことになるはず…
それでも良ければ、まずは「FPGAマガジン」を立ち読みすることをお勧めする MSがbingで使ってるんだよな
いずれFPGA開発ツールも出してくれると期待してる
今intelと何かやってるんじゃないかな? MSがVisualStudioでHDL書いててなー
聞いたら、完全に社内向けで一般には出してないとか
VisualStudioくらい高機能なエディタでHDL書きたいね
(フリーのプラグインとかありそうだが) atomにfpgaを入れたやつは全く売れなかったからなぁ。 すみません。実のところディープラーニングが目的ではなく
IoTや自動化なんかにつながりそうなFPGAを勉強したいために自分が興味の持てるディープラーニングという例を出してしまいました。
自分なりに調べてみたのですが、DSPがおそらく計算に必要なのではとあたりを付けているのです。しかし安いMAX10には乗ってないようでして
選ぶとしたらそれ以外なのかなと考えているのですが、実際に扱っている方々の意見を聞けたらなと考えた次第です。 すみません、質問さしてください
CPLDは全く完全に触ったことがないド素人ですが勉強の為に手を出してみようと
思っています。
とりあえずXilinxのXC95108を既に注文しました。
これを使って勉強しようと思っているんですが、開発ツールはXilinxで無償公開
されているISE WebPACKを使えばいいという認識でよいでしょうか?
あと書き込むためのケーブル?ですがあまりお金をかけられないので自作して
安く済むなら自作したいと思っています
このページのJTAGケーブルがそのまま使えますでしょうか?
ttp://www.hmwr-lsi.co.jp/fpga/fpga_1.htm う〜ん、その手のCPLDは現在では過去の遺物と言っていい存在なんだよね
それを分かった上でのXC95108なの? >>741
ISE Web pack でいいよ。
ケーブルは、ちゃんとしたのがいいけどね。 >>741
どうなんだろう。
比較的新しいケーブルと書き込みソフトだと、XC95シリーズに書き込めない問題があったんじゃなかったっけ。
いっとき苦労した覚えがある。XLシリーズなら大丈夫だったと思う。
でも、今だったらもっと新しい集積度の高いデバイスで勉強した方が良いのでは?
書籍といっしょになってるのだとスタートアップで躓くことが少なくて済みそうな気がする。
ttp://shop.cqpub.co.jp/hanbai/books/48/48081l.jpg
(俺、この本は持ってないのだけど) お手軽でやってみたいなら MachXO2
複雑な事までチャレンジしたいなら MAX10
がっつりニヤニヤしたいなら Zynq
XC9500はオイラも初めてCPLDだった、、懐かしい
そういえば「RTL設計スタイルガイド」本が電子書籍化されたようだね
悪いことは言わない。買っておくべし 今ならトラ技の別冊で基板付きあるじゃん
max10だから入門にもいいと思うよ >>741
ヤフオクで Xilinx DLC で検索すると、書込ケーブル(ダウンロードケーブル)
が出てるよ。
黒いヤツなら、XC9500にも書けると思う。赤でも書けるだろうけど、
僕は持ってないから
わかんな〜い >>740
max10にDSPなかったっけ?
とりあえず書店でFPGA関係の書籍を読んでみたら
自分で面白いと思う本と、その本に載ってるFPGAを買えばいいよ >>743
ありがとうございます
ABELで記述できるのがISE10.xまでらしいのでこれをインストールしてみます
ケーブルはまずはFTR2232使ったケーブルを作ってみて駄目そうだったらまた考えます 今からABELはやめといた方が...
ソフトわかるならvelirogが早いと思うよ >>750
多分ネタなんだと思うよ
普通に考えて、今からCPLD(FPGA)やろうと考える人が
XC95108とかABELって言うはずないから やっぱそうかねえ
普通ABELなんて知らんよな
古い本見てるのかとも思ったんだけど 無視しようと思ったんですが1回だけ
>>751
最終的にやりたい事は昔のシステム(8086とか68000)の拡張ボード製作で、
そのアドレスデコードやら割り込み信号制御やらCS/WR/RD信号の生成を標準
ロジックIC何個も組合わせて作るのがあまりにかったるいのでCPLD1個で済ませたい、
というのが勉強の発端です
システムは全体が5V系で、回路規模もそんなに大きくないのでXC95で十分まかなえると
判断しました。また参考になりそうな当時のサンプルソースがABELなのでまずはそれを
模倣しながら勉強と考えています >>753
>751-752はいつもの子だから無視推奨
5Vのシステムで使うって事だけどそれでもXC9500はさすがに古すぎると思うけどね
IOが5VトレラントなFPGAもあるからもうちょっと検討したほうが良かったんじゃないかな
あとXC9500は消費電力凄いよ いつの間にか インテル Quartus Primeになってるんだな
ヘッダもIntel FPGAになってるしそのうちAlteraの名前消えるのかなぁ 同じ事思った
メール来たからalteraのサイト見に行ったけど完全にintelになってるね
一つ時代が終わったんだねえ
感慨深いわ >>753
なるほど。
そのうちHDLにも手をつけてみてください。
9500無印で書き込みに面倒な思いをしたって話ですが、これです。
ttps://japan.xilinx.com/support/answers/14369.html
シリコンバージョンはデバイスに刻印があったかな。
ところで、5V系の回路に使えるCPLD/FPGAって今は何が残ってるんでしょうね。
かなり選択肢が狭くなってきているような。 I/O電源が5VあるいはI/Oが5Vトレラントっていうものは
XだとSpartan-2、AだとFlex10Kまでじゃなかったかな
MAXだと抵抗入れて一応5Vトレラントにするアプリケーションノートが
出てるみたいだけど
新規設計の場合、全ピン5V系対応なんて必要はないはずだから
必要なところにバススイッチ(レベルトランスレータ)入れて
使えばいいだけだと思う 5Vトレラントの現行製品調べてみたら、LatticeのMach4000とか
あるみたいだね
でも、評価ボードの値段見たら最新のMachXO3のほうが安いから
今更新規設計には・・・って感じだね バススイッチやレベルシフタの方が楽な気もしますけどね Digikey見たら、まだCoolrunner手に入るみたいだな。
これも5Vトレラント品 そういう判断基準でいいなら、今でもDigikeyでMAX7000Sが買える LatticeのispLSI5000VEとかispLSI1000Eとかも買えるし
ただ、さすがにメモリブロック無しのシリーズを勧めるのも
aliとかジャンクから剥がしたとかで安く入手できたならともかく
普通は高いしねぇ Mach4000のデータシート見てみたら結構衝撃的!
36入力のANDが1段でとれるとか MAX10実験キットで学ぶFPGA&コンピュータ
ttp://www.cqpub.co.jp/hanbai/books/48/48071.htm
内容の割には高いな。 >>769
こんどはLatticeかよ
クソだなマジでこの業界 最近インテルからメールが来ると思ったらアルテラが買収されたんだった >>774
Latticeを買うのは投資ファンドだから、目的がちがう。
買収後の数年間、事業を拡大するために追加投資して、
株価が十分に上がったら売却するつもりだろう。 買って転がしといたら何でも値上がりするって思ってる?
悪いことは言わない、株とか手を出すのは止めといた方がいいよ。 >780
金転がすのも仕事ですから思惑通りに行ったときの喜びと、そこに至るまでの忍耐はありますよ
>781
悪いことは言わない、今からでも運用を始めなさい、老後にカツカツになるのが嫌なら 株屋でも何でもいいからFPGAに関する話をしてくれ >>783
今時の株屋はFPGA使ってシステム作ってるぞ。
金融派生商品の価格のシミュレーションとかそれに基づく売買の判断とか。 DE10-Lite、未だにモノが無い
売る気無いのか? >>784
高速取引のシステムはFPGA使ってるらしいぞ。 >>784
へー、それは面白いな。流行りのAIとかか。どういう演算させてんのかな。 株やらサーチエンジンの話
随分と昔からある話題なのにちょくちょく「こういうのあるんだって!」「へー、面白いな!」って流れを繰り返してるよな Genesys2というDIGILENTのkintex廉価版を使っていたら急に
ERROR: [Labtools 27-3165] End of startup status: LOW
ERROR: [Common 17-39] 'program_hw_devices' failed due to earlier errors.
というエラーが出てコンフィギュレーションできなくなってしまったんだけど
もしかして壊れた? >>791
ざっと確認はしていたのですが状況が不一致、未解決もしくは提示された方法を試してもうまくいきませんでした 今まで使えてたんだからどっか壊れたには違いないから
JTAGライター部かFPGA本体か(あるいは電源部か)切り分けてみたら? 今度のSPartanはQFPあるんだっけ?
ArtixにQFPあったかな。
とにかくQFPパッケージを出してくれ >>794
1mmピッチ484ballのBGAを手半田する技術を会得した方が早い気がす
スパ7、なんかserdesが遅いみたいでちょっと MAX10はQFPあって本当に良かったよ
ADC使う時のピン制約きつ過ぎだけど オプティマイズのMAX2とUSBブラスターもどきでベリログの勉強をしようと思うんだけど、この機材で今の環境について行けるかな?
個人で勉強だけしても職歴にかけないけど、何にも知らないよりはましだと思って…。
いい本あったら教えてほしい。 少しでも安く上げたいのかも知らんけど
せめて DE0-Nano or DE0-Nano-SoC 辺りにしておけよ
config 回りとか、本質的に要らないような処で苦労するぞ USBで繋いで簡単にかけるほうが色々な面でコストかからんよな >>799-800
やっぱりその辺になりますか…。
今すぐと言う訳ではないので、考えておきます。
レスありがとうございました。 >>691
>>バスやメモリ、割り込み、パワーオンリセット
>そんなとこFPGAで設計しないだろ。
>>693
>全部ソフトでっつーのはどうかと思うけど、そんなもんFPGAでやらんだろってのは同意
>そんなこと書くのはソフト屋にもハード屋にも見えない
そろいもそろってってアホレスのオンパレードか?
アースソフトのPTxすら知らんのかい。
こいつのFPGAはチューナーモジュールからのデータハンドリング、
PCIバスコントローラとメモリコントローラだけしかやってない代表的な製品だ。
どーせゆとりのアホ学生だろうが、ちったぁ調べてから言え。 1週間以上前のネタだけど…
シーメンスがメンターを45億ドルで買収、「デジタルエンタープライズ」加速へ
ttp://monoist.atmarkit.co.jp/mn/articles/1611/15/news049.html マルチサイクルパスって使ってる?
高速化の実験で、演算回路に使いまくってたら
どこが何クロックで動いてんのか混乱してきた 回路はどうってこと無いが、制約は面倒だよ
ネットに転がってるの見ると
マルチ・サイクルパスまで使ってマトモな制約掛けてるヤツなんか殆ど見受けない
そもそも、なんの制約も掛けてないのが殆どだな
趣味の電子工作なら動けばOKだから
それの良し悪しを云々するつもりは無いが そんな使うべきじゃないとは思うけど
マルチサイクルの効果大きいからなぁ ”使うべきじゃない” じゃなくて
使ったら しっかり制約掛けろ って事、 その為にツール側も用意してるんだから
趣味の電子工作なら別にそれでもいいよ
そうじゃないなら、 それを怠ると・・・・
後は解かるよな みなさんは基本周波数で動いている部分以外でN分の1の動けばいい場合、
分周クロックを使う?それとも分周周期ごとのイネーブル制御にする?
それとも基本クロックで動かしてFFの数増やす?
自分は分周イネーブルを使用するのを基本にしてるが
一度設計ルールで全部基本クロックだけでFFだ対応するように言合われたことがある イネーブル制御 / 分周クロック
場合によって場所ごとに使い分けてる
ただし、複数クロックを使うとそれなりに難易度が上がるからな
単にOK/NGと 結果だけで言ってるなら、その本人もたいした事ない
メリット/デメリットを説明した上で指導しないと、 言われた方も納得しないよ >>813
FF増やして対応ってのが意味が分からない。どうやってやるの?
分周のほうが回路作りやすいけど、FPGAだとPLL使うことになりそうだし。
イネーブルは制御面倒だよね。
システム100MHzで、115200bpsのシリアル通信部分とかあるある。 回路図なーんも知らない初心者だけど
最初は実物なしでエアFPGAってできる? とりあえずシミュレーションやって遊んでみればいいんでない? 実機なしで何が面白いのかわからんけど、確かに安い買い物じゃないもんな 文法はエアでも覚えれるけど、それだけじゃ足りないと思う。合成してピンアサインして制約かけたりI/F決めてタイミングやら出力側の回路も考えてってやらないと物は動かないよ。
シミュレーションもエアじゃ限界があるからロジアナ使ったりしないとだし、メモリブロックとかクロックスピードとかピンの数とか、実機じゃないと見えてこない課題がいくつもある。
本当に勉強したいなら実機は必要になるから、最初からあった方が効率はいいよ。DE0とか一万くらいだよ。 クアッドコア@over1GHzの中華ラズパイもどきが
いくつ買えるか考えちゃうとスマホ部品の量産効果乙としか >>822
んなこたぁないわ
シミュレータの使い方から勉強しろ。
>>817
実際にターゲットデバイス決めて、配置配線シミュレーションするなら十分スキル向上できる。
実機用意してもほとんどは、HDL書いて、シミュレーション実行しての繰り返し。
あわてて購入する必要は一切なし。
あと、DE0のようなAltera系よりXilinx系の方がはるかにツールが充実してる。
初心者で個人でやってるとかならXilinxにしとけ。 まぁIaaS型クラウドサービスでトップの最大手だからね…amazon… ここはintelの生産力で量産してばらまいてもらって価格破壊
って今はそこまで余裕ないか Xのツールの使い方が分からなくてHDLどころじゃないパターンですね! XとAのボード買ってきてチュートリアルなぞる迄しかしてないけど
なんとなくXの方が分かりやすかった・・・
まぁ、どっちもこの先何したら良いんだろって感じで途方に暮れてるけどw
ソフト屋の俺にはSoCでIP拡張していく感じの方が良いかと思ったけど
学習という意味ではやること多くて面倒なんでシンプルな物から
始めるべきだったなぁとか思った
問題はXの方はAみたいなくそ安いボードが少ないことかな
古い石だとISE使わないといけないんだよね? MAX10の納期悪すぎ
アナログのI品だから、歩留まり悪いのか? スマホもアプリ毎に専用ロジックをFPGAで動かすようになるんだろうな
低消費電力のメリットはデカイだろう >>837
MAX10のうちはTSMCのままじゃない?
次世代でIntelにするかもしれないけど 初めてFPGAにチャレンジしようと思のですが、
Windows10の環境だったらまずIcarus Verilogを入れれば
いいんですかね? >>839
ああ悪い
インダストリアル品とコマーシャル品の意味 ARMの具体的な顧客への提供物ってのは、
HDLを提供すんの?
それともシリコンレイアウト図でも渡すの?
アセンブラ仕様書(CPUコアの機能表)だけ? >>843
ここに書いてある
【後藤弘茂のWeekly海外ニュース】ARMコアの多様なライセンスモデルとCPUコアの設計フロー - PC Watch:
http://pc.watch.impress.co.jp/docs/column/kaigai/657290.html インテル® FPGA SDK for OpenCL
って実際どれぐらい使えるの? 国防なんかにも関係するからVHDLかと思ってたら
IntelもSystemVerilogなんだな
そらVHDLなんか書くのやだもんな VHDLの方がミスが少ないと学んだけど。
システムは付かないが東京周りのハロワではVerilogばっかりだよなぁ…
と悩んでる自分、どっちでも良いので勉強用の本が欲しい。
というかまず勉強しても仕事で生かせない(職歴無いからそもそも候補にすら上がらない)という罠
ハードはやってきたのでVerilogの書き方だけ教えてほしい… bemicro max10はもう生産しないんかねぇ… >>846
既にOpenCL使っててHDLどう書いたらいいかわからない人のためのものじゃない? 実際にシリコンに実装できたかのエビデンス求められないのかね
いや、素人だから細かい事分からないけどさ OpenCLのはバリバリのハード屋だとまったく使い物にならないという感想
やるなら他の高位言語のほうが圧倒的にマシ
ソフト屋でOpenCLやってる人がサクッとFPGAに移行するような用途のものだと思う 下請けならvhdlかverilogかはお客さん次第だから両方覚えることになるよ さっさとHLSをAIで実用化して欲しいな
AWS用にAmazonがやってくれよ >>855
ホントホント、現場遠くて朝早いってこと我慢すれば
サービス残業とかもなし 12月2日に出たCQ出版のmax10入門書の改訂版買った人いますか?新しくfpga始めようと思ってとりあえず基板付きのCQのmax10入門書買おうと思ったのですが、ページ数が増えてるこっちの本の方が倍以上の金額を払ってでも買った方がいいのでしょうか >>861
目次見た感じ初学者には良いのかなーと思って俺も気になってるんだけど値段が強気すぎるよなぁ
個人的にはXilinxの入門書欲しいんだけどネェ あのボードだけじゃLチカしか出来んしな。
個人的にはボードも書籍も割高だと思うけど、結局は懐次第だな。 http://nahitafu.cocolog-nifty.com/nahitafu/2016/05/max10-70b8.html
この辺りを見る限り、初心者向きとは言えないなぁ
素直に、terasicの DE10-Lite or DE0-Nano 辺りを買ってた方が
無駄な事で悩まなくてすむだろう >>862-864
とりあえずはすぐに購入するのはやめておきます…
調べてみたらterasicにあるボードのマニュアルが思っていたよりわかりやすそうだったので、DE0用に作られた回路を移植しやすいと書いている人もいた性能良さそうでアカデミックによる割引額も多いDE1-SoCを買ってみようと思います。 >>864
初心者にはちょっと PICにプログラムするのはPC使って給電するとほぼアウトだし
あのボードは外に回路作ってっていうやり方で拡張するしかない DE10-Lite、規模の割りには安いね
とりあえずポチってみた 初FPGAでVivado 2015.4いじり始めたんだけど結構クセあるなぁ
Create and Package IPするとテンポラリのプロジェクトを作って
パッケージ化終わるとプロジェクトフォルダごと消えるような
動きしてるけどなんでこんなことになってるんだろ
そこでデフォルト設定でコード追加すると巻き込まれてファイルが
消えてしまうとかアホとしか思えないんだけど
何かを更新した時も非同期処理になってるみたいで暫くして
更新されたとか出ることもあるし、なんか気持ち悪い
こう言うところがIntel(まだ違和感あるな)の環境の方が
使いやすいと言われる要因の一つなのかな
斜め上の動きし過ぎてなかなか作業が進まない・・・ SolitonWave
面倒だから、多少高くても国内を選ぶ事が多いんだけど
今回は、Digi-Keyよりも安かったな >>691
タイミングやにシビアな用途にはCPUは向かない。
メモリコントローラそのものをCPUでやってる事例があるなら言ってみろwwww
>>681
>FPGAでなければできないことってどんなことがあるんだろう?
>マイコンでほとんどできてしまうから_| ̄|○だよ。
以前なら、こういうこと言う奴は、
ASICの試作とか、専用プロセッサの設計に日々従事してる奴"以外"で、
趣味レベルで回路設計してる奴は、FPGAを何に使ってる?
とかを尋ねてるのはみたけど、
自分の狭い知識前提の全否定かよ。これがゆとりか?
それとも携帯やテレビのチューナモジュー等、ベースバンド処理のエンジンを自力で開発する企業が減って、
デジタル信号処理を要する新規案件が激減してる証拠か?
こういうのCPUでやってみろよ。できるもんなら、
http://www.geocities.jp/capusb2/
http://www.geocities.jp/bk3o8/
今更やっても実用性ないけどねwwww コアに86やx64搭載したFPGAってまだ寺はリリースしてないの?
サウスブリッジをFPGAにした方がいいのかな? FPGAとラズパイは両方ともSoCという方向性が同じだから違いがわからないね
特にIoTやマイコンの領域は性能と圧倒的な安さでラズパイだろうし、FPGAを積極的に使うようなシステムがあるんだろうか FPGAでマイコンは作れても、マイコンでFPGAは作れない >>871
あそこでポチって以来、SPAMメール、ウィルスメールが一日10通とか来るんだよ。 AtomとFPGAの統合ってより
FPGAにATOMのHWコア実装といった方が正確だと思うけど、
6年前に、インテルはAlteraの買収を決めたんだろな。
FPGAが高速に動作するなら旧ノースブリッジも、サウスブリッジもFPGAとなって、
CPU(コア+FPGA)に包含できる。
あとGPU以外のヘテロジニアスな将来の展開が見通せない機能は全部FPGAに押し込んでしまうことができる。
ところで、GPU以外の機能って何があるのかな?
翻訳精度とかもっと改善してくれないかな? 検索エンジンとか非ノイマンCPUでFPGAで高速化できるのかな?
検索エンジンの高速化で、もうちょっとまともな翻訳が期待できないかな?
今の翻訳だと大学入試レベルだと0点だよね。話にならない。 >>877
コレみると、当初はカスタム品等組み込み向けに用意したけど
実装含めて価格が高くなりすぎ、さっぱり売れず
価格が高くても売れそうなサーバー用途になら!って感じかw 価格以前に、組込でFPGAだと消費電力がNGだと思う。
FPGAがCPU並のクロックで動けば、外部とのインターフェース回路は全部FPGAでいけるんだろうけど、
圧倒的に速度差あるんで、PCだとなかなかいい使いかたが見つからないんじゃないの?
鯖はカスタムチップ満載とか聞いたことあるけど、どういう用途のチップか知りたいわ。 >>892
FPGAを代替できるものがあると言ってるの? >>893
特定アプリと結びついて一般雑魚には売らなくなる。 別に使い道が思いつかないなら使わなければ良いだけなんだけどね。
自分が必要な物を作るのに何が必要なんだろうという
発想じゃなくて、これ流行ってるらしいけど何作れるかな
という発想だからそういう結論になるんだと思うけど。 >>893
CPLD じゃない?
まあ、Intel が売らなくても他に色々あるし。 http://pc.watch.impress.co.jp/docs/news/1035611.html
日本の半導体開発はオワコンなんだろな。
インテルは好調なのに日本法人の規模縮小、人員削減
半導体そのものより、絶対の強さを誇った露光装置も風前の灯火だし
前工程だけは残るだろうが、回路設計以降は日本から消えそう チャンスは山のようにあるんだが、メディアの影響か知らんが頭のいい奴が
半導体にいかなくなったからなー。そこが問題だよ。 アルテラの開発環境が全部64ビット対応になってる。久しぶりにアルテラ使おう
と思ったら64bitしかなくてびっくり。 久々に使ってみる程度なら、そのまま古い Ver でいいんだよ
例え上げたところで、古い Device は既に非対応になってるし >>900
開発成果を持ち出す幹部がいるからです。 >>886
GoogleもMSもディープラーニングとやらで見るからに機械翻訳って訳文は吐かなくなったよ
どっちもナチュラルにミスすることはあるけどw
それとサポート技術情報の機械翻訳も何とかしろ>MS >>906
そうかなー Googleだけど
Since both Google and MS watch with deep learning and doing machine translation, the translation does not vomit
明らかに機械翻訳だろこれwwww
採点よろしく お、このレベルだといい線いってるかも
日:辛坊治郎はうんこたれ
英:Shiho Jiro is awkward
awkward選んだのはディープラーニングの成果? やっぱあかんな
日:お前の母ちゃんでべそ。
英:You're my mother.
笑えるはこの翻訳。なんでこーなるの? >>907
CQの本が出たら買うよ
俺らは英語読めないからね RaspberryPi とか出てしまった後だからな、なんの魅力無い
むしろARMが邪魔なくらいだ、自由にRAMが使えないからな
LinuxメインならPi系、FPGAメインならARM無し版に行くよ >>914
あの評価ボート買えるブルジョワなら存分に使えば良いと思う 他スレから来ました。
チップスコープで、双方向の信号(メモリのデータバスなど)が見たいのですが
表示できません。というか、設定リストに見あたりません。
assign a = ioSIG; と別の名前の信号にcopyしても、aが出てこないです。
チップスコープで、どのようにしたら見えるのでしょうか? >>916
レジスタ出力じゃないと観測できないから
一度FFでたたけば見られるようになるよ FFを通すのを「FFでたたく」って変じゃね?
「FFをたたく」って言い方は聞いたことあるけど
(この場合に適当かどうかは知らん) FFを叩くもきかないな
D-FFでクロックを叩き直すとかならある 自分なりにこじつけると
「ChipScopeの入力ラインをFFでドライブする」ってことか
「叩く」ってイメージじゃない気がするけど 俺も見えない信号があるので不思議な感じがしていたが、こんなものかと思って
特に追及しなかったがFFの出力でないと見えないのか? 初めて知った。w >923
ChipScopeの入力をFFでパタパタと叩く感じでいいとおもう。FFってパタパタ
する以外なら何? ボチボチとかか? アサートするってのをよく聞くがあれはどういう意味よ。 FFで信号を叩くということだろう
個人的には違和感はないが
FFってクロックで信号をバシバシ叩いてるイメージあるし FFとLatchを区別するんだよな。俺はLatchは使わないけどFFをLatchっていう癖
がある。 >>937
そういう人に出会ったことはないけれど、打ち合わせの相手がそれだったらかなり混乱しそうだ。
ただ、トランスペアレントラッチ、という言葉があるから、それに対比する言葉としての(トランスペアレントでない)ラッチなら何を指すことになるんだろうか、とか
広義のFFにはトランスペアレントラッチが含まれるから、打ち合わせで FF=D-FF でデフォルトで通じているのはかなりローカルな話なのかとか、あらためて気になる。 小林芳直先生の本を見ると、LatchもFFも「ラッチ」って表記しているな。
消費税が3%の頃の本だけど。 FFはClock Gated Latchだからね。 Latchで正しい。 Latchの起こりはSR LatchでそれからGated Latchができて、Gatedするところを
ClockにしてInvalidをなくすように3入力NANDでFeedBackをかけた。それがJKFF
だろ。だからFFもラッチ。 >そういう人に出会ったことはないけれど、打ち合わせの相手がそれだったらかなり混乱しそうだ。
確かに、DFFを意図してラッチって言ってるのに、
「えっ、ラッチですか、、、、」みたいな反応をする人がいる。
ラッチなんて使わないだろうに、、、、 >>944
それにはオレでも答えられそう
・アクティブ・・・現在の状態を示す
・アサート ・・・アクティブな状態にする コンデンサでさえLatch
記憶出来れば全てLatchでいい。 active が現在の状態?
それは current state
asset 主張する What is meant by "asserting a pin"?
Asserting a pin means setting it to its active state.
De-asserting a pin means setting it to its inactive state.
If a pin is active high (which it is, in your case), then asserting it means setting it to logic high (usually 3.3V/5V) and de-asserting it means setting it to a logic low (0V).
こういう質問があるってことはNativeでもアサートは意味不明なことばなんだよな。 >>943
うん。勉強になった。
ってか、俺の馴染んだ得意先ローカルな常識だったっぽい。これからは驚かない。
(トランスペアレントラッチは、使わないこともない) もともとの意味は単にActiveになる信号というよりは、いくつかの信号がひしめいている中で
「俺だーー」って起き上がる信号がAssertionした信号みたいで、特別に自己主張の
強い信号という感じだな。 >>949
シロートに騙されんなよ、そいつの言ってることの方が非常識
ツールベンダーに限らず、Latch使ったらWarning出されるだろ
何処の会社だってFF/Latchは明確に区別してる
敢えてLatchとか言う場合は
何も知らない文系の親父とかに説明するような時ぐらいだ >>951
ありがとうございます。
ツールメーカーの用語の使い方は尤もなのですが、客先とのコミュニケーションだと用語の違いで戸惑わないことが大切かと思います。
違う文化の人がいるということがわかっただけでも収穫です。
俺の今までの得意先との話の中はこれまで通りFFとラッチのつもりですよ。もちろん。 Latchというのは動詞的に使う場合でサンプリングする場合はDFFでラッチ
する。このほうがスッキリする。
叩くのは次段だから叩けない。つまりLatchしかないのだよ。
FlipFlopはパタパタすることだから、動詞的にはつかえない。そういう
ケースは少ない。
だからDFFを追加したほうがいいばあいには、「Latchしたら?」て使うの
だよ。 >>953
そこで「ラッチしたら」って言うと、それが動詞として正しいのだとしても、
トランスペアレントラッチを意味する言葉として認知されている「ラッチ」と混同するので、
俺も得意先の人も、そういう場合は「ホールドする」って言ってます。 信号にDFFを追加するのは、殆どの場合はホールドするのが目的じゃないだろ。
1クロックずらすとか、動作速度を上げるとか、組み合わせ回路が広がり過ぎる
のを分離するとか、、、結局は「DFFを挿入する」と説明的な言葉で表現する以外
にはなかなかいい言葉が見つからない。
「DFFで切れ」という使い方はあると思う。これはDFFの使い方を表す言葉と
してはかなり応用性がある。
次には「捕まえる」感じでcatchするケースが多い。
保持やホールが相応しい場合は殆どない。
cut,catch,holdがDFFの役割だとするとholdは1%もない。そう考えるとLatchは
非常にいい。この三つをうまく表せている。
latch=(cut+cath+hold)/3
フリップフロップとかカエルがドボンするような間抜けなネーミングだな。
ラッチの方が締まりがあっていい。カチッとラッチする。 ツールメーカーがトランスペアレントラッチを想像するのは、Verilogが間抜けで
「意図しないにも関わらずSRラッチができてしまう」この一点に原因がある。
現実に意図しないSRラッチができる。原因は
Verilog、VHDLが間抜けで、、、これを言われたくない。にも拘わらず
うっかりするとSRラッチができる。うっかりしなくてもSRラッチができる。
すいませんSRラッチを作らないようにしてください。
すいませんSRラッチを作らないようにしてください。
すいませんSRラッチを作らないようにしてください。
これが重なってラッチは作ってはだめです。ラッチはタブーです。
になってきた。だからラッチって言葉をつかうと、「ラッチはだめです。」と
即座に反応する。 こんなにラッチを考えたことはなかったが、考えてみたらLatchは可愛そうな奴だよ。
素晴らしい名前なのにフリップフロップなんて間抜けな名前にすら追いやられてる。
もとはといえば
Verilog,VHDLが間抜けで非同期のパタパタするフリップフロップができるからだ。
これが元凶だよ。こんな間抜けな連中の為にラッチって素晴らしい奴が追いやられている
せめて動詞としてだけでも残してやりたい。 それをいうなら
VHDLは寿命が尽きたあげくに化石になってるがな 今たまたま、71年ヒット曲ってことで
天地真理の水色の恋が流れてるんだが、
どーしてるのか気になったんで検索かけると悲惨だな
http://netnews-bank.co/blog/amachimari01/
63で全く蓄えなく、
介護付きマンションに住んで、その家賃食費18万はファンクラブが負担(驚愕)とか。
これは悲惨すぎて爆報とかでもとりあげられねーわ >>962
柳沢きみおさんも、その近辺の記事に載ってなかったかな
ずっと連載見かけて、売れっ子だと思ってたから意外だった
まあ、柳沢さんのほうは莫大な借金あったとしても、当面の
稼ぎは人一倍あるだろうから、描けてる間は問題ないんだろうけど 14万円ぐらいの安い介護付きマンションってのは、
障害者手帳がないと入居できないはず?
実際、なんらかの病気を抱えていると思われ。
顔つき見てると若年性痴呆じゃないか? 恐らくは「寿命がつきた」って話からの継続だと思われ fpga大全集出たしzynq始めたいけど、
arty z7-20はいつ発売になるのかなぁ。
pynqはpythonとか興味ないものが邪魔になるんじゃないかと心配。 python使って便利にfpga開発できるのかもだけど、
最初のうちはhdlで普通のxilinxの環境で開発したいしなぁと。
そもそもarty z7-20とpynqの違いってなんなんだろう? pynqでPythonが邪魔とかいうと寿司でネタが邪魔だシャリだけにしろって言うようなもん 邪魔なら使わなければいいだけだが
実際、ARM部分はゲロマズのネタだろ
$5のZeroにも負けそうな仕様なんだからな こんな認識は違うかな?
enable/disable インテル
assert/negate モトローラ
active/inactive 一般的? >>971
じゃまとは言わんが、
PythonなんかよりPower Shell ユーザーの方があっという間に多くなったと思うよ。
.net引っ張ってくればComplexなんかも使えるんだよな。
んなことするぐらいならC#でいいけどさ。
WInsoes 7とともにFreeBSD環境は捨てた俺 Quartus Primeがいつのまにか16.1にアップデートされていたのだけど
これインストールするには、旧い16.0をあらかじめアンインストールする必要、ありますかね?
なにしろサイズが大きいので気軽に試すわけには。 >>980
前のと同じディレクトリに入れたいとか、特殊な事をしない限りは
旧版のアンインストールは必要無い
言っておくけど、上げても大差ないよ >>980
機能的には大差ないけど、スタートメニューが"Intel FPGA ..."になっているので、
最初入れたときは起動方法がわからなくて(A以下にないので)、ちょっと焦った記憶がある。 教えてください。
XilinxのSpartan6やSPartzn3で、
configモード設定用のM0,M1,M2の端子がありますが、これらは
configの方法によって、H/Lを決めておく必要があると思います。
質問1
M0,M1,M2ピンは、config後は、I/Oとして使えるのでしょうか?
質問2
上記質問1で、I/Oにも使えるとしたら、
config前はM0,M1,M2の役割になって
config後はI/Oになるように
工夫をした外付け回路を付ける必要があると思います。
どのような回路を付ければ良いでしょうか?
質問3
Vivadoの発音の仕方は、何でしょうか? ビバドゥー ビバド
Radioをラジオ、レイディオという違いならいいんですが、
とんでもない勘違いだと、よそでしゃべったとき格好悪いので。
質問4
Vivadoでは、Spartan6の開発はできないと聞きました。本当でしょうか?
質問5
QFPパッケージのFPGAは、Spartan6までらしいです。本当でしょうか?
よろしくお願いします。 1.使う方法があるようです
2.汎用74シリーズで切り替える方法があるそうです
3.正しくは「ヴァイヴェイドゥ」に近い音だそうです
4.コマンドラインからなら可能らしいです
5.Vertex7のQFPとDIP品が予定されてるそうです
信じる? >>984
ありがとうございます。
4.のコマンドラインというのは、Tclのことでしょうか? それとも
本当にDOSのコマンドラインでしょうか。
いずれにしろ、やりたくありませんね。
パスの長いファイル名を一字一句間違いなく打つ自信は無いですし。
QFPがなくなるのはひどいです。Spartan6でQPFは終了という話も聞きましたが、
次のSpartan7で復活もないでしょう。Xilinxは、何を考えているんだか。
CSPをQFPパッケージに入れてくれればいいと思うんだけど。
ありがとうございました。 連投すみません。
Xilinxのダウンロードケーブルの代わりになるICって無いのでしょうか。
USB-------そのIC---TMS,TDI,TDO...の信号------FPGA というICです。
マイコンで作れればよいのですが。
・bitが書き、照合ができる
・mcsが書き、照合ができる
・chipscopeはできなくていいし。
・中国製のcopy品は、死んでも使いたくない。
です。 >>987
DIGILENTが出してますね。JTAG-SMT2かJTAG-SMT1が該当します。
http://store.digilentinc.com/all-products/jtag-programmers/
お安くは無いようですが。
尚、Kintex7の開発キットの基板にも載っていました。
もちろん、chipscopeも使えます。 MAX10 sofでデバッグしてpofを書き込むと動作しない。VerifyしてみるとOK
どういうこと? >>986
>QFPがなくなるのはひどいです。Spartan6でQPFは終了という話も聞きましたが、
>次のSpartan7で復活もないでしょう。Xilinxは、何を考えているんだか。
というかISEも新しいバージョンを出す予定がないということなので、SoC製品以外はXilinxの主戦場ではない、ということではないかと。
もうどうでもいいや、と思ってるわけでもないと思いたいですが、だんだんフェードアウトするのかも。 「QFPがなくなるのがひどい」っていうのが多数の賛同得られるって
確信あるなら、BGA-QFP変換基板作って売ったらどう? 仮に賛同が得られるとしても、現実問題としてBGA→QFPの変換基板は難しいぞ。って話ではないけれど。
2.54mmピッチへの変換基板は見たことがあるし、PLCCソケットに入るようにしているモジュールは、ヒューマンデータさんがやっていた。
でもQFPへの変換は見たことがないな。 だって設備さえあればBGAの方が使いやすいし
試作ならモジュールタイプ使えば良いし BGAなんて信頼性に乏しい部品、使えるかって。熱応力はどこで吸収するんだよ。 XBOX、PS3はかなりの数BGAのクラック起こしてるよね
QFPのクラックはお目にかからないね
リードが応力逃してくれるから へー、そういう物なんだ、BGA。
確かに応力の逃げ場所がないよね。
でも、iPhoneとかスマホはBGAばっかりではないの? >>997
これマジ?
エンタープライズ用途でもBGAばんばん使ってるんじゃないの?
そういう用途では電源入断しないからOKなのか?? このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 264日 23時間 10分 42秒 2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/
▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。