【Verilog】 記述言語で論理設計Project15 【VHDL】 [無断転載禁止]©2ch.net
HDLの処理系も、それを実際に動かすシミュレータ・評価基板も、
安価で入手できるようになってきました。
このスレが目に入ったお嬢さん! HDLで何か作って遊んでみませんか。
日曜工作のHDL書き、学生さん、プロの方、主婦の方、カキコお待ちしております。
関連情報は >2-10 あたり。
入れ食いキーワード
・Nios、MicroBraze
・Artix-7、Kintex-7、Virtex-7、ハードコアCPU内蔵 Zynq-7000
※前スレ
【Verilog】 記述言語で論理設計Project14 【VHDL】
http://rio2016.2ch.net/test/read.cgi/denki/1470611688/ >>210
MATLABのコードジェネレータ使いものになるようになったの? >>202
ブロッキングだからカウンタとかには使わない方が安全 a <= ++a;
なら大丈夫だけど、だったら
a <= a + 1’b1;
で良いだろう >>216
今、AMBA AHBで設計もしくは検証作業されてますか? ‪この会社。出禁レベルで関わらないこと。‬
‪株式会社クイック https://919.jp/&#8236; 592 名前:名無しさん [sage] :2019/08/11(日) 07:18:32.40 ID:k64D6ck10
ななしっくす土屋 会話集
ルネサス退職者スレ
https://mao.2ch.net/test/read.cgi/haken/1517763997/ ARM内蔵のSoCFPGAを軽く使ってみたけど、
メリットを享受するには、ライセンス料払わなあかん。
そうでないならio操作にmmap多用する事になり、いちいち遅い。
これなら素直にNios2使った方が良いのでは?と疑問。 一旦mmapしたら、後は単純 Read/Write だけだろ
主張してる事の意味がわからん
ライセンスうんぬんも、具体的に何を指してるか不明
有料IPの事を指してるのならそれは当然
ARM-SOC が余りにも安過ぎて、"ARM内蔵FPGA" に殆どメリットを見出せない
これが個人的な感想だな 株式会社クイック 経由でFPGAの転職を探してはならない。 Niosの周波数によるけど、
Nios100MHzで動かしたものと比べて、
Arm側からのmmapでのアクセスが遅いなんてことは全くないが。 >>128
ハード的にプログラムしてしまえば、命令のフェッチが不要になるから、高速化出来る。 速くなるのはそこじゃない。パイプライン使えばフェッチ中、別なステージを実行できる
ループを回路展開して1クロックで実行できるようにするとかだな。 自作の論理合成、最適化をやっていると驚くべき良い結果が出てくることがある。
きっとこれが定理とか法則の発見だろう。 >>233
独りでさびしく Lonely(ロンリー)合成、かな? シミュレーションでは仕様通りに動いて、
論理合成が行われない回路を書く新人君が
「奇術言語はそろそろ卒業しような」と説教されていた 会社で新人を苛め抜くお前たちを見た。プロジェクトは解散だな。会社もかも >>240
既視感があったけど思い出した。「猫の事務所」だ シミュレーションで仕様通りに動くんだから、
HLSでやれる仕事アサインするのが正しい仕事の割り振り方
新人だろ?たいしたもんじゃねーか。
俺が入社したときは、今頃、京橋のxx学園に全員集められて最後の集合研修やってたぞ。 vhdlのsignalで値を定義しないで使った場合、論理合成後にどう扱われるか決まりってある?コンパイラによる? 多分、宣言したけど初期値も代入もしていないsignalを参照したときの値だと思う
0として扱われるはず
合成時に警告が出る signalの宣言で初期値のかわりにport名を定義したときはどうなりますか。
以前試したときはportのエイリアスになったが、ググってもそれが定義された動作なのか未定義でツール依存なのか判断つかなかった。 >>246
仕様はしらんけどエイリアスだろ
名前なんて飾りだよ >>246
IEEE1076 なんだから買って読め。 シミュレーションでは仕様通りに動くんなら、
当面テストベンチ作成要員にしとけばええがな
そのうち論理合成可能なHDL書けるようになるわ。 すなわち論理合成可能なHDL書くにはおれのような非凡な才能が必要で
おまえらがいくら修行しても無理だと言いたいのだ。 Common Business Oriented Languageの略らしいな(初めて知った) 2進数の10bitで来た信号(10進数の0〜999)を
10進数の桁ごとに分けて2進数の出力をしたいんですが
d739 (10'b1011011100) → d7 (4'b0111) 、d'3(4'b0011)、d'9(4'b1001)
今は来た信号を100で割り算して百の位を出力、
出力を百倍して元の信号と引き算して10で割り算して十の位を出力。。。
のような流れで割り算、掛け算+減算の階段でやっているのですが
掛け算、割り算を用いないでもっとスッキリした方法はありますか?
極力軽い動作にしたいのですが、初心者のため思いつかないので
ここに知恵を借りに来ました。 >>254
簡単な方法はない。
来る信号をBCDにしろ。 100で割ってから100倍するのは明らかに無駄
10で割りながら下の桁から処理するのが定石 あっちに答え書いてあったけど
上限が判ってるならテーブル参照が最速かもな >>257
そもそもの原理が無駄が多かったですね・・・
ただ、現在は乗除算無しで考えていこうとしているので
中々思いつかない現状です。
>>258
パラレル処理?のことなんですかね
どういった内容になるのか詳しく知りたいです。
>>259
1000個の参照ポイントを用意するって感じですか? 10bit目観れば512以上か未満か判るだろ
512以上なら5,6,7,8,9のどれか
512未満なら0,1,2,3,4,5のどれか
次に9bit目を観る
・・・
これをパラでやる 2進数を入れたシフトレジスタの左にBCDを格納するシフトレジスタをつなぐ
BCD側のレジスタは全て0にして、下から4ビットずつに区切る
以下の手順を2進数の桁数分繰り返す
BCD各4ビットで0101以上なら0011を足す
1ビット全部左シフトする ROM(RAM)を使ったテーブル参照が、 ベスト
最近のヤツなら、BlockRAM:一個程度の消費で済む
既に 100% BlockRAMを使い切ってるてのは、 まず無いいからな
(大量に使うヤツでも、万一の為にそなえ数個程度は残しておくのが普通)
下手な回路を考えてるより、 よほど賢い 100を4回引き算して百の位、余りから10を4回引いて十の位
こんなのでできた気がする。 assign d0= ain % 10;
でいいだろ。 余り%がQuartus18.1.0で合成できたので驚いた。 SystemVerilogなら良いのか?
結局は自分が追いつけない物に文句言ってるだけだろう ボキュ
SystemVerilogも使えるから、年収800万円以上出せるなら転職を考えてやってもいいけど、そういう会社が無いのは何で verilog始めたばかりです。
100mhzで1クロック幅のパルスを
50Mhzの回路のenableとして使ってるんですが実機の基板で動作しないときがあります。こういうときはどうするのがよいですか?独学だから難しい。 100mHz なら動きそうだけど
100MHz だと50MHzより狭いんだから動かなくて当たり前。 100MHzの間違い。
シミュレーションだと動くんだけど。
単純にパルスを伸ばせばいいのかな。
やってみます。 100MHzで2クロック分のパルスじゃないと50MHzのクロックでは叩けないよ。
あとは、この2つのクロックが同じ発振源から作られていることとか、
クロックの位相(50Mと100Mのクロック立ち上がりの時間差)なんかも
ちゃんと規定しておかないと、実機では再現性のある動作が期待できないよ >>278
ありがとうございます。
100MHzから50MHzを作ってます。
同じクロック元です。
2クロック幅にしてクロック制約調べて入れてみます。 100MHz enable 立てる
50MHZ enable立っているの発見 ack上げる
100MHz ack上がったの確認 enable下げる
50MHZ enable下がったの確認 ackを下げる
を
送信元クロックで2回FFで叩いて
受信元クロックで1回FFで叩いて
信号をやりとりする
というのが基本だと思っているんだが、どうよ 非同期入力ならシンクロナイザ入れてそこまでやるかもね なるべく複数のクロックソースを使わないのが基本だよね
どうしても必要なら>>280のようなこと(よく読んでないけど)もやるけど 100MHzの源振で、100MHz clockで1clock作り出すというのだから、↑↓で2clock必要だから、
↓の時点で100MHzが食ってくれそうな気もするけどね。
ホールド不足だろうか。 100MHzで1クロックのパルスを10kHzとか遅いクロックで使うにはどうするの?引き伸ばすの? >>286
HD映像データ(約74MHz)用メモリの空き領域に音声データ(48kHz)を居候させて、
出し入れする制御は実際に昔やったことがある。
メモリは74MHzで動いているから、読み出したデータは48kHzの1クロック期間ホールドする。
スピード差は3桁(1000倍以上)だが問題ない。 音声を映像と同じクロックで扱わなきゃいけないのがもったいない。
でもマルチサイクルパスとかクロック載せ替えやるとバグのもと。 シミュレーションでは動くのに実機で動いたり動かなかったりする。 遅延シミュレーションでも掛ければ、スグに正体現すよ
死ぬほど時間掛かるから、余程の事が無いとやらんけどな
大概は、論理シミュレーション & 制約MET -> 実動作で確認、で済ませてる
趣味でやってる人で、制約掛けてるヤツなんて殆ど見たこと無い
その結果が ↑の >シミュレーションでは動くのに実機で動いたり動かなかったりする
そりゃ、そうなって当然だって 遅延シミュレーションとか90nmの時代までかな。
STA 通れば問題にならないよ。 やっぱりそうだよね
STAあるのにインプリメント後のSimなんて意味が分からんわ FPGAでもSTAはあるな。
ってか、制約付けずに合成するかな?
ピン配置すら決めてなさそう。 新人の時CLKをCLKでそのまま打ってインプリ毎にグローバルに乗ったり乗らなかったりを繰り返し、最終版で見事グローバルから低温でしかエラーしないタイミングで外れ大規模不具合を引き起こしたぼくが通るぞ 新人僕「タイミングチェックってHoldもできるんですか?え?Holdって低温時のほうが厳しくなるんですか??」 東芝がシステムLSI事業から撤退、だそうだ。
https://monoist.atmarkit.co.jp/mn/articles/2009/30/news050.html
15〜20年くらい前、東芝・NEC・富士通などに発注して
DRAM混載のシステムLSI(今ではSoCと呼ぶ人のほうが多いのか?)
を度々作ってもらっていたのが懐かしく思い出される。
設計はVerilog。VHDLに出会うことは無かったな。 切りすぎて最後に残るのは経営陣とその太鼓持ちだけになる 入社するときは優秀な人たちが馬鹿になって行く不思議な会社 >>300
DRAM混在はあんまりなかったはず。プロセス違うからね。
VHDLってどこで使われてるんだろう。
米軍向け? 物好きな大学教授が「バグを検出しやすいから」とか言ってVHDL推してたわ
なおその教授の研究は昔から全然進んでない DRAM混在ASICを作ってもらえるユーザーは数社しかない。ほとんどが値段聞いてビビる。 君らVHDLの利点わかってないのか
レベル落ちたなぁ 利点があったってあまり使われてない言語なんて履いて捨てる程あるからな!
ばるてのーんとかw 信号処理でverilogなんてバグしか生まないクソ言語つかうない そういう場合、使えないのは言語でなくてお前のほう。
かと言って、Lint でガチガチにするのはやめてくれ。