【Verilog】プログラムで作る回路 Project1【VHDL】

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
回路設計も、最近ではプログラミングで行うようになってきました。
実際に回路を作ってみると、トラブル回避にはちょっとしたノウハウやテクニックが必要なことが多く、
資料すらなかなか入手困難です。

まあ、愚痴を言い合いながらプログラミングスキルをアップしていきましょう!

FPGA,CPLD関連のサイトは2-1000あたり。
2名無しさん@お腹いっぱい。:03/12/25 14:49 ID:fptRZF0z
プログラミングとか言っている時点で何か違う
3名無しさん@お腹いっぱい。:03/12/25 14:55 ID:51C5uejm
せめて言語設計とか言って欲しかった。
スレタイでスレを立てた奴のスキルが解るのがアレだが。
4名無しさん@お腹いっぱい。:03/12/25 15:53 ID:zojVWW+1
>>3
FPGAはフィールド”プログラマブル”ゲートアレイなので、プログラムでいいっしょ?

実装で苦労してるわけで。(w
5名無しさん@お腹いっぱい。:03/12/25 15:56 ID:51C5uejm
プログラムで作るって辺りがなどうもね。(w

プログラミングとはちと違うぞ。ところでHDLスレってここだけ?
6名無しさん@お腹いっぱい。:03/12/25 15:59 ID:CYT3jpqd
でも、いいんじゃないのかな。
今は、HDL、C乱立してるし、プログラムで書くストアドロジック、回路で書くワイヤードロジック、
更には順序回路の布線論理でゲートレベルで書く書き方や、RTLレベル、更にはチップ入出力レベルのビヘイビアレベルで書く書き方があるし。
いろいろ書き方があるから。
7名無しさん@お腹いっぱい。:03/12/25 16:26 ID:zojVWW+1
>>5
SystemCだと
「プログラムで作る」
って感じですな。

デジタル設計の仕事を始めた30年前に回路記述言語があったら、今ごろこんな苦労はしないだろうなあ・・・とほほ。
おやぢの頭には残らないんだ。文法とか、制限事項とか。
8名無しさん@お腹いっぱい。:03/12/25 16:33 ID:CYT3jpqd
>>7
でも、HDLでもそうだけど、言語設計段階のシュミレーション結果と合成段階のシュミレーション結果が違って苦労する点もあるみたいだよ。
更に、Cだと書き方によって、全然違う回路ができるみたいだし・・・。
実際どうかは知らん。
9名無しさん@お腹いっぱい。:03/12/25 16:35 ID:51C5uejm
でも、Cで書いてもRTL迄かみ砕いた書き方をするとそれなりに思った回路を
生成させることは出来るのではないかと思う。
但しそれにどの程度の意味があるかは解らんが。
10名無しさん@お腹いっぱい。:03/12/26 11:35 ID:wTzjnqQ7
CをHDLだと思っちゃいけないんだよ。VerilogやVHDLとは
まったく別物だと思わないとあの便利さは評価できないと思う。
あれは紛れもなくプログラミング言語だね。
11名無しさん@お腹いっぱい。:03/12/26 12:27 ID:hd73r4AI
そもそもスレッドが分かれてるんだが?
12名無しさん@お腹いっぱい。:03/12/28 22:08 ID:50lBvdLS
>>10
CをHDLだと思ってはいけないのではなくて、必要ならHDLとして使うCを
考えるはず。

VHDLもCもたいして変わらないよ。HDLとしてのVHDL, Verilogとプログラ
ミング言語としてのCしか考えられないだけでしょ。現実的に確保でき
るツールとか人材などを考慮すると。

言語仕様は関係ない。
13名無しさん@お腹いっぱい。:03/12/29 10:01 ID:aHjNU7md
>VHDLもCもたいして変わらないよ
漏れ的にはぜんぜん別世界だった。
HDLとして使えるCっていうアプローチじゃ、単にVerilogなりVHDL
の予約語をC互換とかC風味にするっていう程度のことになってし
まってぜんぜん美味しくない。(インターフェースの9月号なんて
典型的って感じ)
14名無しさん@お腹いっぱい。:03/12/31 14:11 ID:xF/8LQtZ
>> HDLとして使えるCっていうアプローチじゃ(ry
だから言語の違いより使い方の違いだよね。

どこからCの話になったんだ?
15名無しさん@お腹いっぱい。:04/01/07 10:46 ID:GxM0sTqS
単にmodelsimの代わりにgccが使えていいよ以外に意味あるの? > systemC
16名無しさん@お腹いっぱい。:04/01/07 11:33 ID:V1Upk76p
GCCでSimできんのか?(w
17名無しさん@お腹いっぱい。:04/01/07 20:05 ID:pvUeR+KI
漏れはHandel-Cしか知らないけど、C/C++の気分で書いて、
そのまんま動くところは美味。

>>16
gccでシミュレーションするつーか、C/C++でテストベンチが書ける
という感じかな?ベンチ部分はネイティブコードで走ってくれるし、
ファイル入出力とかWinのAPIも叩けるから使いようによっちゃ
結構便利かも。
18名無しさん@お腹いっぱい。:04/01/07 22:33 ID:ZErKptrG
>>15
シミュレーションが速い、ソフトとの同時設計・検証とからしい。
SystemCはC++のクラスライブラリの形になっているから、C++コンパイラで
実行可能だと聞いたが。
19名無しさん@お腹いっぱい。:04/01/08 00:03 ID:/oo2Q6KU
>>17
結局仕事に使うとなると、FPGAなりに回路を実装することになるんだけど
コンパイルエラーの確認程度の意味が無いなら現実的にGCCが使えるとは
言い難いな。
20名無しさん@お腹いっぱい。:04/01/08 04:06 ID:M7lLE5OI
>>19
知りもしないで何を偉そうに。
ModelSim 5.8 のPC番以外はSystemCを使うがすべてgccベースで動くんだよ。
少なくともシミュレータレベルは所詮プログラムなんだからC++処理系を
利用しようとするのは当然だ。
論理合成はそうは問屋がおろさないけどね。
21名無しさん@お腹いっぱい。:04/01/08 04:47 ID:/oo2Q6KU
>>20
GCCだけあっても役に立たんと言ってるんだよ
22名無しさん@お腹いっぱい。:04/01/08 04:48 ID:/oo2Q6KU
けんか腰で書くならレスくれるな
23名無しさん@お腹いっぱい。:04/01/08 09:34 ID:fymclxvq
>>17
ステートマシンの部分がC++で書けると楽っぽい気がしますね。Verilogだと結構制限が厳しかったりしますんで。

>>20
俺みたいな貧乏人はMXEIIの5.7c Starterまでしか使えないんだよ。金出してレジストしてくれというメッセージがうるさいけど、金がないんだからショウガナイ。
(うわーん)
24名無しさん@お腹いっぱい。:04/01/09 01:39 ID:srU/f0/v
でもプログラムで回路ができるわけじゃないんだけどな。
ネットリスト+タイミング記述で回路ができるのがHDL
25名無しさん@お腹いっぱい。:04/01/09 23:17 ID:taTSJ5HG
>>24
FPGAなんかはRTL書けば回路になるじゃん。ネットリストなんか書かないよ。
26名無しさん@お腹いっぱい。:04/01/09 23:39 ID:zcWOiv7E
ってか、ネットリストはいいけど、「タイミング記述」ってなによ?
SDFを書けば回路になるのか?

検証と記述をいっしょにしてんのかな。
27名無しさん@お腹いっぱい。:04/01/09 23:50 ID:aQXIjZPE
>>26
ディレイパラメータかな?
28名無しさん@お腹いっぱい。:04/01/10 00:08 ID:a+hCOgHI
今から回路設計を初めてやる人っていきなりHDLからやるのかな?
どう考えても最初は回路図で設計して、慣れてからHDLのほうがよさそうだが。
29名無しさん@お腹いっぱい。:04/01/10 00:12 ID:x20c8r7p
>>28
残念ながら回路からって事は無いようだ。
3026:04/01/10 00:33 ID:Hw5nSq6C
>>27
ん? SDFと書いたんだが。

なんでテストベンチとかじゃなくて「タイミング記述」なのかが分からんのよ。
回路作るのに必要なもの、って意味ならHDLとテストベンチが必須でしょうに。
そこそこの経験あればタイミングなしでFPGA程度ならできちゃうよ。

>>28
FPGA程度ならHDLだけで充分。まさにプログラミングでいいと思う。
論理さえ保証できればいいわけだし。
31名無しさん@お腹いっぱい。:04/01/10 00:40 ID:x20c8r7p
>>30
> 論理さえ保証できればいいわけだし。

そんな訳はない。論理合成のエンジンが優秀になっただけで
書き方が悪いと全然速度が出ません。
32名無しさん@お腹いっぱい。:04/01/10 09:08 ID:YSlds7Az
>>28
某大手さんに出向いたとき、今の人は回路図で説明
されてもわからないんで、HDLで説明してくれと言われた。
33名無しさん@お腹いっぱい。:04/01/10 12:51 ID:YcxvMkdN
>>32
某大手さんにVerilogで納入したら、(中堅どこの連中に)回路図付けてくれと言われた。
未だに、ISEでschematicオンリーで作ってるんだから・・・
34名無しさん@お腹いっぱい。:04/01/10 16:28 ID:wSeU1X4c
HDL見てプログラムと見てしまう奴はプロとしてはやっていけないな。
35名無しさん@お腹いっぱい。:04/01/10 16:47 ID:x20c8r7p
>>34
回路をガチガチにチューンする事がない職場が殆どだと思うよ。
だから手軽に回路を書いて、クリティカルパスをクリアしてるからOK
としてるところが多いのかと。
これだとHDLの便利さと手軽さのみの恩恵を受けて回路など不要と
言いたくもなるだろう。
36名無しさん@お腹いっぱい。:04/01/10 18:03 ID:YrdDEezm
>>34
プログラムとしてみていますが、給料貰っています。

あなたのいいたいことはなんとなく分かるのですが、
あなたは「プログラム」に詳しくないのでは?
37名無しさん@お腹いっぱい。:04/01/10 18:35 ID:x20c8r7p
どっちにしろ、物事は視点によって変わって見えるわけで追求する点が
解れば落としどころも変わって来るもんだろう。
もう少し冷静になれよお互い。
38名無しさん@お腹いっぱい。:04/01/10 19:11 ID:brt7nR+b
プログラムとしてしか見てない奴が書いて投げ出したソースを、
バグを取った上にデータシート見ながらサイズとスピードを満足させるのが最近の俺の仕事。
やってて腹が立つし、残業手当も出ないので、あまり穏やかな気持ちでは無い。
39名無しさん@お腹いっぱい。:04/01/10 19:24 ID:i9/eJ8Dh
>>36の言いたいことはだいたいわかるのですが、
念のため確認すると「オレは給料泥棒だ」ってことですよね?
40名無しさん@お腹いっぱい。:04/01/10 19:28 ID:YSlds7Az
人間オプティマイザにされているんじゃ、そりゃ面白くなかろうな。
41名無しさん@お腹いっぱい。:04/01/10 19:30 ID:x20c8r7p
>>39
求められる品質によってそれでも良い場合がある。
それだけのことだよ。

餅つけ
42名無しさん@お腹いっぱい。:04/01/11 14:09 ID:AubitIqi
>>26
PKSのタイミング制約のことじゃない?
43名無しさん@お腹いっぱい。:04/01/11 14:12 ID:AubitIqi
>>42
IDがbitだ(w
44名無しさん@お腹いっぱい。:04/01/11 23:28 ID:klQl5IVe
>>38
そいつが間抜けなだけ。
サイズとスピードを満足させ、バグのないプログラムを作れば問題ない
だろうが。
プログラマもアウトプットが要求を満たすことを目標に作ってるんだよ。
なんかプログラミングという作業に幻想を抱いていないか?
45名無しさん@お腹いっぱい。:04/01/11 23:43 ID:Bnuiew+6
>>44
蒸し返すなよ。
議論がしたいならそれなりのやり方もあるだろ。
46名無しさん@お腹いっぱい。:04/01/11 23:53 ID:zGXm4kd1
回路とプログラムは異質なもの
もしプログラムで解決できる問題なら組込みCPUを使えばいいだけの話
それじゃ遅い/電気食う/規模でかくなる等の問題があるから回路設計するんだろ

そのような回路設計がいわゆるプログラムというもので表現できるわけがない
RTL表現はプログラムのように見えるが、実はまったく異質なのだ
47名無しさん@お腹いっぱい。:04/01/12 00:01 ID:uQ93T+bM
クロックを意識したRTL書かないと高速回路は難しい。
DCやPKSなどのツールだけでは限界がある。
わかっている人が書くRTLは、レイアウトのし易さが全然違う。
48名無しさん@お腹いっぱい。:04/01/12 00:13 ID:LWfrgeFi
>>47
禿しく同意

漏れはFPGA使いなんだが、スペックめいっぱいの高速回路を
書くには結構センスが要る、

漏れはヘタレなので何度も組みなおさないとそこまで逝けぬ。
しかし下には下がいるもので、何度組みなおしてもスペック
満たせない奴の尻拭いが良く漏れに回ってくる。
49名無しさん@お腹いっぱい。:04/01/12 00:57 ID:3nsy4PN/
>>47
「RTL」にすらなっていない記述が横行している所が問題なのでしょう。
50名無しさん@お腹いっぱい。:04/01/12 09:44 ID:5GSPO/5z
>そのような回路設計がいわゆるプログラムというもので
>表現できるわけがない
ご参考
http://www.celoxica.co.jp/products/case_studies/cs_003.htm
51名無しさん@お腹いっぱい。:04/01/12 12:45 ID:cjxiP2Xn
>>50 この例なら
素直にCPU+GDC+αのシステムLSIを作ったほうが高速かつ安価になるだろ
なんでわざわざFPGA使う必要がある?

こんなのシステム学生実験や新人教育に使う以外の意味はないと断言する
52名無しさん@お腹いっぱい。:04/01/12 13:27 ID:wsiZsBik
>>51
俺は***本当に***こんなに簡単に実装できるなら、
全体的なコストを考えたらFPGAでやりたいとおもた。
ちょっと弄ってみたいと思ったが、試用版は論理合成できないのね・・・。
100マソくらいなら会社に買わせて見たいが・・・。
53名無しさん@お腹いっぱい。:04/01/12 13:42 ID:5GSPO/5z
>>51
>そのような回路設計がいわゆるプログラムというもので
>表現”できるわけがない”

54名無しさん@お腹いっぱい。:04/01/12 14:53 ID:3nsy4PN/
Cは、別スレッドがあったと思うが。
55名無しさん@お腹いっぱい。:04/01/12 14:55 ID:5GSPO/5z
>>51
確かにこのサンプルに「実用性」はないけどね(ボールが画面上を
動いているのを見て何が楽しいんだか・・っていう意味で)

>素直にCPU+GDC+αのシステムLSIを作ったほうが高速かつ安価になるだろ

数が出ないなら、システムLSIを作るだけの金がペイしないと
思う。あと、ROM/RAMが要るのかな?
CPUが実行するプログラムはシミュレータで確認してから内蔵?

速度はどうだろ?この例だとボールの位置のアップデート(移動)
はワーストでも2クロックで終わるけども。CPUだとどうかな?
20命令くらいは必要?1命令1クロックとして、20クロック。
このFPGAが20MHzくらいで動いてるとすると、CPUは200MHz
で動かさないといけない計算か。
結構忙しいね。
56名無しさん@お腹いっぱい。:04/01/12 16:26 ID:3nsy4PN/
>>55
そもそもダムヘッドをMPUでやらせようと言う話ではないでしょ?

FPGAが一個搭載された板と、ビデオ回路が載ったマイコンボードの
コストは大きく変わらないでしょう。
57名無しさん@お腹いっぱい。:04/01/12 16:50 ID:5GSPO/5z
FPGAで十分処理可能な範囲であったとして、ビデオ回路が
載ったマイコンボードと価格が大差なくて、ワンチップですんで
しかも速度がずっと速いならそれはそれで嬉しいんじゃない?
58名無しさん@お腹いっぱい。:04/01/12 17:24 ID:cjxiP2Xn
一般的には >>50の例で使われるようなFPGAはかなり高コストで
>>56のいうことは明らかに間違い。CPU+ビデオ回路の方が安く済む。

コストを考えるとFPGAは、教材とか新アーキテクチャの試験ぐらいにしか使えない
59名無しさん@お腹いっぱい。:04/01/12 17:42 ID:2hGs7y0k
>>58
んじゃーコスト計算してみてよ。

それと、製品にCPU積むかFPGAを積むか選択するのは単にコスト条件だけじゃない。ってことがわからんようでは
ダメだな。

あのサンプル回路では、CPUに軍配があがるのかもしれんが。


LEDを交互に点灯するという課題を与えられてもやっぱりCPU+LEDの方がいい。と主張するのかな?
60名無しさん@お腹いっぱい。:04/01/12 17:52 ID:3nsy4PN/
>>58
間違い云々て言われてもな。(w

アプローチの仕方完成形に何を求めるかで答えは変わってくるから間違いも糞も無いよ。
えらく好戦的だがなんか悪いものでも食ったか?
61名無しさん@お腹いっぱい。:04/01/12 20:08 ID:4G0zK9bz
>>49
ウチは「RTL???」なんて聞き返すような輩がゴロゴロしてます
「コンパイルが遅くなるから」という理由でquartusやmaxplusのタイミングアナライザを
OFFにしてる奴もゴロゴロしてます(外注もそうだな・・・)
ターゲットデバイスのデータシートなんてマジメに見やしません。
「セットアップ、ホールド、tpd、ハザード、同期回路」とか言っても通じません。
でも出荷します。で、戻ってくる。しばしば俺が直すことになる。
ウチだけじゃなくて外注のソースも酷いから、世の中こんなものなのかなと思ってきたけれど、
やっぱり辞めた方がいいのかな。。。
62名無しさん@お腹いっぱい。:04/01/12 20:13 ID:5GSPO/5z
>>50で使う程度のFPGAならそんなに高くないでしょ?
Xilinxのスパ2:XCS2S200(20万ゲート)の208ピンがDigi-Keyで
1個買いしても3千円位で買えるご時世なんだし、企業で
トレイ単位で買ったらもっと安いんじゃない?

20万ゲートもあったら、CPUも入っちゃうか(w
63名無しさん@お腹いっぱい。:04/01/12 20:15 ID:5GSPO/5z
タイプミスだな
XC2S200
だね。
64名無しさん@お腹いっぱい。:04/01/12 20:44 ID:3nsy4PN/
>>61
そりゃ余りにもレベルが低すぎですな。

細かい数字の意味するところ、概念は回路から来る部分が多いので
回路を知らないと辛い部分はあるでしょう。
ただ、余りにも回路が大きくなると見れる部分とそうでない部分が出て
くるので確認の方法も難しいところ。
65名無しさん@お腹いっぱい。:04/01/13 22:26 ID:8PbJ9cRR
>>61
なんか自分を見ているようだ(涙)。
違うのは漏れは不良社員なので今居る会社の居心地がいいくらいか(キュウリョウガスイガナー
66名無しさん@お腹いっぱい。:04/01/15 12:59 ID:iSFxpqb7
デザインウェブマガジンの何月号かにFPGA上にCPUをのっけた方が
安く済むっていう記事をみたことあるな。
昔に比べて、FPGAも低価格化、性能向上してるから、乗っけた方が安く済むかもな。
なんつったって、仕様変更に強いっていうのもコスト減につながるのでは?
67名無しさん@お腹いっぱい。:04/01/18 17:13 ID:RXxarl9o
age
68名無しさん@お腹いっぱい。:04/01/18 23:42 ID:boN+Pohk
>>66
CPUのコアだけ使うならそうだけど、
ふだん使ってるチップは、周辺やA/Dやメモリ込みのオールインワンだしなあ。
69名無しさん@お腹いっぱい。:04/01/19 12:08 ID:e1ItR7kW
>>68
つまり、使わないデバイスの分までお金をとられているってことだよなあ。
70名無しさん@お腹いっぱい。:04/01/19 12:24 ID:GLHAoc4L
>>66
最近のCQ出版も、提灯記事というか、メーカーや代理店の人間が広告
宣伝を兼ねた紹介記事書くことが多くなってるから、自分で情報を
フィルタリングしないとな。

ルネサスのH8/Tinyあたりで、32〜64KBのフラッシュROM+8MBのRAM、その他
汎用I/OやらA/Dポートが全部内蔵で、量産単価500円以下だが、これと
同等機能をCPLD/FPGAでいくらで置き換えできる?

> 仕様変更に強いっていうのもコスト減につながるのでは?

普通、CPUのコアに対する仕様変更なんて入らないだろ?

それより、fpga.orgあたりから、仕様実績のないIPを引っ張ってきて
使ってみたはいいが、バグが取れなくていつまでたっても製品が出荷
できなくなるニョガン!

>>69
それは設計以前にデバイスの選定に問題がアル。それに、CPLD・FPGAに
したって、使ってないゲート分を値引きしてくれる訳じゃないしな。
71名無しさん@お腹いっぱい。:04/01/19 12:59 ID:GLHAoc4L
>>59
> LEDを交互に点灯するという課題を与えられてもやっぱりCPU+LEDの方がいい。と主張するのかな?

部品点数、開発工数、製品コスト、仕様変更への対応の柔軟性などを全て考慮しても、
ワンチップCPUの方がはるかに合理的だと思うが?

PICやAVRならLEDを直接駆動できるし、リセット回路や発振回路内蔵も内蔵して
いる。8ピンSOPのCPUとチップ部品を組み合わせれば、44ピンのCPLD/FPGAパッケージ
に相当する基板サイズ上に全て実装できるだろう。実装費を除く部品原価は
1000個/ロットで300円くらいか?

だいたい、2個のLEDを交互に点滅させるくらいなら、CPUを使わずともマルチ
バイブレータでいいじゃん。これならTr×2個+R×4個+C×2個+LED×2個で
済む。点滅周期の変更は、CR時定数の変更にって対応。

CPLD/FPGAなら仕様変更に対応というが、例えば2個のLEDのうち、一方は
1秒ごとに点滅(0.5秒間点灯、0.5秒間消灯の繰り返し)し、他方は1時間毎
に1秒点灯(1秒点灯、59分59秒間消灯の繰り返し)なんて仕様に変更されて
対応できるか?CPLD/FPGAじゃ何ゲート必要だ?

点灯周期や点滅間隔を変更するのも、ワンチップCPUなら簡単だぞ。
72名無しさん@お腹いっぱい。:04/01/19 13:17 ID:ShqRbBEi
>>71
メール欄ぐらいは確認しようよな
73名無しさん@お腹いっぱい。:04/01/19 13:34 ID:iCJXnWUe
何を必死になっているのかさっぱり理解できんな。

>なんて仕様に変更されて
>対応できるか?CPLD/FPGAじゃ何ゲート必要だ?

0.1秒ごとのクロックで1時間でも、3万6千カウントだから、
15ビット程度だけどな。CPLDどころか、GAL22V10を数個
程度でできちゃうんじゃない?

ちなみに、5万ゲートクラス(DesignWaveのオマケ程度)
のFPGAで5ドルくらいだとか。
74名無しさん@お腹いっぱい。[:04/01/19 13:35 ID:iCJXnWUe
おっと、32768は超えてるから16ビットだな。失敬、失敬。
75名無しさん@お腹いっぱい。:04/01/19 13:39 ID:+vsPl1AR
>>73
SRAM型FPGAは別にROMがいるから、I/OとROMを内蔵した1chipCPUには
コスト、実装面積ともに対抗できません
76名無しさん@お腹いっぱい。:04/01/19 13:42 ID:iCJXnWUe
でも1chipCPU遅いし〜
77名無しさん@お腹いっぱい。:04/01/19 14:22 ID:ShqRbBEi
普通はさ、目的を実現するための最適解を探すのが「技術者」の仕事でもあるんだよね。
近所のコンビに買い物に行くのに10tトラックやフェラーリーで行くのか、自転車でいいのか?
どこかの人は何が何でもフェラーリーで行っちゃうわけだけど、徒歩であったり自転車という選択肢の方が楽な場合が多い。
TPOを考えないと、世間に取り残されちゃうよー。
78名無しさん@お腹いっぱい。:04/01/19 14:23 ID:GLHAoc4L
>>73
> 0.1秒ごとのクロックで1時間でも、3万6千カウントだから、
> 15ビット程度だけどな。CPLDどころか、GAL22V10を数個
> 程度でできちゃうんじゃない?

実現できるかどうかを問題にしているのではない。回路全体の部品点数
とコストを問題にしている。それに、1個のGAL22V10よりPICやAVRの方が安い
んだが?

ディスクリート部品やワンチップCPUで組んだ場合200円掛かる回路を10個ほど集積できる
規模のFPGA/CPLDが回路あたり単価100円だったとしても、必要なのは1回路
分だけなので、FPGA/CPLDを使う方が割高。

GALにしろFPGA/CPLDにしろ、パワーオンリセット回路も、発振回路も入ってないし、
低消費電力版だと、コア電圧用とI/O用の2系統の電源も必要。

> ちなみに、5万ゲートクラス(DesignWaveのオマケ程度)
> のFPGAで5ドルくらいだとか。

それって10万個とか買った場合の話だろ?1000個ロットじゃ単価1000円も切れん
し、ロットでそんだけ使うなら、普通は専用カスタム起こした方が安く付く罠。

>>76
何を必死になっているのかさっぱり理解できんな。(ry
79名無しさん@お腹いっぱい。:04/01/19 14:31 ID:iCJXnWUe
漏れもPIC,H8,SH,8051コアもんなんかいろいろ使うが、
必要に応じてFPGAも使ってるがな。
遅いって言うのがそんなに気に障ることか?良くわからんな。

「できるか、何ゲート必要だ」って言うから、あぁ、きっと
たくさんゲートが必要になると思っているんだろうなとしか
解釈できんかったからゲート数にしたらたいしたことはないと
指摘したまでなんだけどな。
80名無しさん@お腹いっぱい。:04/01/19 14:36 ID:iCJXnWUe
ワンチップ好みだったら、CypressのPSoCなんて面白いかもしれんぞ
今賞金3万ドルでデザインコンテストもやってるからチャレンジ
してみたらどうだ?
http://www.onfulfillment.com/cypress/landing_page.asp?source_code=M242a
こいつはリセットのCRはおろか、外付けのクリスタルすら必要ない。
しかもスイッチドキャパシタなオペアンプやらなんやら
結構いろいろ入ってるから、ちょいとしたアナログが必要
な時にも便利かもよ。
81名無しさん@お腹いっぱい。:04/01/19 14:50 ID:iCJXnWUe
ついでに・・こいつはSMP(スイッチ・モード・ポンプ)っていう、
昇圧用の発振回路も内蔵してるから、確かLCとダイオード
位つける程度で、乾電池1本でも動作できたはず。
小さくまとめるには便利かもね。
82名無しさん@お腹いっぱい。:04/01/19 15:07 ID:GLHAoc4L
>>80
> 「できるか、何ゲート必要だ」って言うから、あぁ、きっと
> たくさんゲートが必要になると思っているんだろうなとしか
> 解釈できんかったからゲート数にしたらたいしたことはないと
> 指摘したまでなんだけどな。

じゃ、もっと実用的な課題にしてやろうか?(w

一般的な時計のアプリケーションじゃ面白くないので、年、月、日、曜日、時、分、
秒、それぞれに1個づつ割り当てられた計7個のLEDを使って、現在の時刻を
LEDの点滅回数で表示する時計を実装してくれ。

各LEDとも、1回の点滅はON期間/OFF期間とも0.5秒とし、10の位と1の位との
間は1秒間のOFF期間を、再度繰り返し表示するまで3秒間のOFF期間を設ける
ものとする。また、カレンダーはうるう年表示に対応すること。時刻の設定機能
は省略する。

20ピンのPIC/AVRなら余裕で実装できる機能だが、CPLD/FPGAで実現する場合、
動作クロックとは別に外部から2Hz(周期0.5秒)に分周したクロックを供給する位の
ハンディをやってもよいぞ。(w

> こいつはリセットのCRはおろか、外付けのクリスタルすら必要ない。

繰り返すが、そんなのは最近のワンチップCPUでは当然で珍しくもなんともない。
ちなみにサイプレスは値段が高いし、国内代理店の対応もよろしくない。
83名無しさん@お腹いっぱい。:04/01/19 15:20 ID:FcVF8xoj
なんか一人の空気読めない奴のおかげですっかりおかしな流れになってるなぁ。
84名無しさん@お腹いっぱい。:04/01/19 15:22 ID:iCJXnWUe
>じゃ、もっと実用的な課題にしてやろうか?(w

なにをムキになってるんだ?わからん奴だ。
85名無しさん@お腹いっぱい。:04/01/19 15:29 ID:iCJXnWUe
>>83
御意。
以後スルーでいきましょ。
86名無しさん@お腹いっぱい。:04/01/19 15:57 ID:ShqRbBEi
>>84
彼は、77で俺が「普通はさ、目的を実現するための最適解を探すのが「技術者」の仕事でもあるんだよね。」
と書いているのに読めないみたいですね。だからムキになっちゃってるんだとおもあわれ。

FPGAで仕様を満たす回路ぐらいすぐに組めるレベルだけど、PIC使っても簡単にできるレベルだよね。
7セグを7個もダイナミック点灯させるとなるとPICあたりだと結構な量の外付け回路いるし。
まあ、GLHAoc4Lがどういうチップを選択して、どういう構成で作ろうとしているのかを聞きたいねえ。
回路設計のセンスがあるかないか、一発でわかる部分だから。

キミの考えている回路構成教えてくれる?>GLHAoc4L
87名無しさん@お腹いっぱい。:04/01/19 15:57 ID:iCJXnWUe
昔書いたのをちょっとチェックしていたんだけど、
CycloneのM4KをVRAMにして簡単なゲーム位
入りそうだな。

DesignWaveのCycloneボードの回路図だけでも
どっかに落ちてないかな?ちょっと書いてフィッティング
してみたいんだけど。
88名無しさん@お腹いっぱい。:04/01/19 16:12 ID:GLHAoc4L
>>86
> 7セグを7個もダイナミック点灯させるとなるとPICあたりだと結構な量の外付け回路いるし。

仕様書を最後まで読む能力もないヤシに、設計はできない。(w

あえて簡単な仕様にしたのは、価格の安いFPGA/CPLDでも実現可能なレベルに
抑えたから。

製品レベルなら表示制御なんてのは瑣末的問題で、2週間20プログラムタイマ付き
くらいでもワンチップCPU(場合によっては4bit)の領域だろ。当然、消費電力
なども問題になるしな。
89名無しさん@お腹いっぱい。:04/01/19 16:46 ID:iCJXnWUe
>>86
なるほどね。
「こうなっちゃいけない」という見本みたいな人ってことですね。

出してきた課題とやらも笑っちゃうけどね。FPGAでビデオゲーム
だって作れるご時世なんだけどな。PICに入る程度のプログラム
だったらそっくりそのままHDLに落ちるんじゃないかな。

「LEDじゃなくてDVI使って表示してくれ」とか言われたら、
DV内蔵のマイコンを必死で探すんだろうか?
90名無しさん@お腹いっぱい。:04/01/19 16:47 ID:iCJXnWUe
おっと、表現が変か。
HDLに落として、10万ゲートクラスのFPGAなら入っちゃうんじゃないかな?
が正しいか。
91名無しさん@お腹いっぱい。:04/01/19 16:50 ID:+vsPl1AR
>>90
入っても高コスト大電力になって意味ないじゃん
92名無しさん@お腹いっぱい。:04/01/19 16:53 ID:ShqRbBEi
>>88
ああ、読み間違えたよ。確かにね。それが何か?
鬼の首とったかのように言うのは止めてくれる?
で、キミの考えている構成くらいかけるだろ?
揚げ足取るだけで、何を使うか位書けないのは何故?

動作クロックから時計クロックくらい作れますが何か?

ムキになてカコワルー
93名無しさん@お腹いっぱい。:04/01/19 16:54 ID:iCJXnWUe
いや、この場合「入れられるかどうか」という感じの聞き方だからね。
実際の製品でこんなものだけのためにFPGA使ったら馬鹿だよ。

要するに、PIC並みのアルゴリズム処理がPICよりはるかに
高速にできることと、複数の処理を同時に並行してできることだろうね。

場合によってはこういうリアルタイム性が大事なこともあるから。
94名無しさん@お腹いっぱい。:04/01/19 16:55 ID:ShqRbBEi
>>89
「TPO」「適材適所」という言葉をしらんお人がおるようで・・・
95名無しさん@お腹いっぱい。:04/01/19 17:06 ID:+vsPl1AR
>>93
PICで動作するプログラムをそのまま論理合成にかけても、まともな回路は出てこない。
一本道のプログラムを自動的に並列化された回路に変換するなんて無理だ。

> 要するに、PIC並みのアルゴリズム処理がPICよりはるかに
> 高速にできることと、複数の処理を同時に並行してできることだろうね。

こういう結果を望むなら、人間様が設計しなおして、RTL形式で書く必要がある。
これが現実。
96名無しさん@お腹いっぱい。:04/01/19 17:15 ID:GLHAoc4L
>>89

プッ!FPGAでビデオゲームって、昔のビデオゲームやキャラクタ端末には、マイコンやCRTC
なんて入ってなくて全部TTLのランダムロジックで組んであったのだが?
集積度が高いデバイス使って詰め込めば何でも入って当然だろう。
まぁ、このスレ読んでると日本の技術レベルの低下が手にとるように判るな。

>>93
アルゴリズムとかリアルタイムとか、横文字並べたいだけの房のようだな。リアルタイム処理
とリアルタイム性は同じのもか別物か?パラノイアとパラノイドの違いが判るか?
97名無しさん@お腹いっぱい。:04/01/19 17:21 ID:FcVF8xoj
嫌な盛り上がり方をすんなよ。

いい加減空気読めよ、おめーら
98名無しさん@お腹いっぱい。:04/01/19 17:22 ID:bCsniI7k
>パラノイアとパラノイド
辞書引かなきゃ意味分からん。
>リアルタイム処理とリアルタイム性
名詞と形容詞?
99名無しさん@お腹いっぱい。:04/01/19 17:23 ID:ShqRbBEi
>>95
アルゴリズムとプログラムのコードは別物では?
ステートマシンを作ることによってイベントドリブンじゃない、ループぶん回しプログラムも可能ですが、どうでしょう?
ステートマシンはRTLでは無いですが・・・(VHDLではSTATE MACHINEブロック)
100名無しさん@お腹いっぱい。:04/01/19 17:25 ID:iCJXnWUe
>>95
あぁ、フルオートで並列化させようなんて無理でしょ?
ソース眺めて並列化できるところをちょっと指示する
程度でもいいんでは?

あと、たとえば
if (a==b) c=d+e;
でも、
aのロード、bとのコンペア、ジャンプ、dのロード、eとの加算、cへのストア
と、6命令として、FPGAが10MHz動作でも、CPUなら1命令1クロック
としても60MHz相当だし。意外とルーズにやってもハードって速いもん
なんだなと思った。
101名無しさん@お腹いっぱい。:04/01/19 17:29 ID:iCJXnWUe
おっと、また書き忘れた。
FPGAのとき各変数はF/Fに割付けられるから、このif分全体が
1クロックで終わる。ってことでね。
102名無しさん@お腹いっぱい。:04/01/19 17:37 ID:+vsPl1AR
>>99
純粋に質問なのだが ShqRbBEiがいうRTL記述の定義って何?
クロックエッジで遷移するように書かれたFSMならRTL記述だとオレは思っている
103名無しさん@お腹いっぱい。:04/01/19 17:42 ID:ShqRbBEi
>>102
architecture RTL of hogehoge is ブロックに書くコード。
104名無しさん@お腹いっぱい。:04/01/19 17:46 ID:+vsPl1AR
>>103 ワラタ
そんで冗談はさておき、実のところはどうなのよ?
105名無しさん@お腹いっぱい。:04/01/19 18:06 ID:ShqRbBEi
>>104
データパス部分だけというと、微妙だなあ。
意識した巡回遷移させない部分はRTL。(やっぱり微妙だなあ)
世間一般的にはRTL=データパス+ステートマシンなんだよなあ。
組み合わせ回路部分もRTLだし。
ああ、すまんねー。


P.S.受けてくれてありがd
106名無しさん@お腹いっぱい。:04/01/19 21:02 ID:Yglv0G64
横レススマソ。
おれはRTLというのはFF(レジスタ)を人間が明示的に指定して、勝手に
コンパイラなどに生成させないものをいうと思う。だめ?

でもこれじゃあHandel-CもRTLになってしまうな。
107名無しさん@お腹いっぱい。:04/01/19 21:58 ID:FcVF8xoj
>>106
レジスタトランスファと言うくらいだから、FFを想定した書き方なんだけど
クロック(信号の立ち上がり等)を中心にした同期回路ととっても問題無いかと。

VHDLで言うところの、プロセス分とイベントになる訳だが。
108名無しさん@お腹いっぱい。:04/01/19 23:08 ID:q4/yq0Ig
一寸さー教えてくれる?
 HDLで少し大きなプログラム作ろうと思って、ステートマシンを階層化したわけ。
main、
 sub1
   ,sub1-1,
   sub1-2,,,
 sub2,
    sub2-1
   ,sub2-2
見たいに3階層。
 そうすると、3階層になるとクロックがずれて、条件が成立するじゃない。
普通、ステートマシン作るのにFFつかって、その状態を1ッぱつラッチして
状態つくるでしょ。でないと配線伸びるから、うまく動作しないよね。
で、そうするとmainとsub1-1までに6クロックも開きが出るわけ。
 たとえば画像処理の場合なんかで、Vsync、Hsyncなんかで
ステート作った場合、データは6クロックバッファを通すして遅れを調整
せんといけんでしょう。
 わっちゅうほどバッファがいるんで、悩んでます。
 Cなんかで造ると絶対こんなんになるんじゃなかろうか?

 この考えただしい? 諸先輩がたご意見ください。



109名無しさん@お腹いっぱい。:04/01/19 23:20 ID:+vsPl1AR
>>108
日本語がまったく意味不明だが、間違っていることは確信できる
110名無しさん@お腹いっぱい。:04/01/19 23:24 ID:85ivYylo
>Cなんかで造ると絶対こんなんになるんじゃなかろうか?
仕様です。
でもって、貴方はすでにHDLシミュレーションの罠にはまってトリコろーる。
これも仕様です。誰でもなります。(w
111108:04/01/19 23:59 ID:q4/yq0Ig
>>109
> 日本語がまったく意味不明だが、間違っていることは確信できる
 
 その確信を説明に具体化する作業を試みよ。
そうすると新しい光が見えてくる。 単なる信仰や確信では
暗黒のロジックの中をさまようだけである。何チャって。

>>110
 階層化している例をあまり見ないのだが、単に便居不足だけだとは
おもうが、皆バカスカバッファつかってんだろな。きっと。
112名無しさん@お腹いっぱい。:04/01/20 06:41 ID:c6JfNl/8
バッファをばかすか使う以外にもFFの多重化なんて手法もあるね。
まぁ配線遅延の問題はデバイスベンダーが提供するツールに
おまかせしちゃうのがいいんだと思います。

HDLのレベルでは、そんなの気にせずに論理だけ書けばいいんでない?
113108:04/01/20 09:01 ID:isvNwWzq
>>112
> HDLのレベルでは、そんなの気にせずに論理だけ書けばいいんでない?

 ん? 俺の頭のなかではそういう風には簡単にいかんので、
 もう一寸きいてくれる?

たとえばだよ
if((MainState == "DataRead" ) &&
( Sub1State == "Post") &&
( Sub1sub1State == "RamMode") ){
CS_1420 = ON;
Databus[] = ADIN[];
}
みたいにしょうと思うだろ。へたら。
----------------------------- data
..----------------------------- mainState
....---------*******@@@@@@@@@@@@@ sub1State
......--***@@@@ sub1sub1State
それぞれ上の階層の条件を待ってステートを決めると、2clock
づつずれていくじゃない。でマッチを取るためには

ffffff----------------------------- data
ffff..----------------------------- mainState
ff....---------*******@@@@@@@@@@@@@ sub1State
......--***@@@@ sub1sub1State
こんなことして、FFをいれて時間調整するわけ。
これって結構面倒なんで、こういうこと意識せずに書けたら
最高なんだけど。
114108:04/01/20 09:13 ID:isvNwWzq
HDLって組み合わせロジックの判断はできるけど、
ステートの判断はできないんだよね。
 時間軸を考慮してというかFFの挿入も考慮して論理合成できるツールってあるの?
115名無しさん@お腹いっぱい。:04/01/20 09:37 ID:c6JfNl/8
>>108
有限ステートマシンが実際どのような回路で構成されるか知ってる?
ムーア型とかミーリー型とか教科書に載ってるから調べてみろ

いわゆるRTL記法で書けば、勝手にFFが挿入されたりしないよ
116108:04/01/20 10:51 ID:isvNwWzq
>>115

> いわゆるRTL記法で書けば、勝手にFFが挿入されたりしないよ

「 勝手にFFをいれて欲しい」というのが趣旨なのですが。

 階層化ステートマシンと言う概念は、当然あるはずです。そしてそれを
実現しようとすると、前述のような問題が発生するのですが、それについての
言及をみたことがないので、不思議だなーとおもうているのです。

 基本的には表記法(設計手法)を確立すれば、そういうロジックコンパイラを
つくることは難しくないはずです。

117名無しさん@お腹いっぱい。:04/01/20 11:01 ID:iNybmR5v
>>116
> 基本的には表記法(設計手法)を確立すれば、そういうロジックコンパイラを
> つくることは難しくないはずです。

  /⌒ ⌒ヽ、
 // ノノノヽヽ
〃σ;--◆-◆
 || ;ミ  ω 彡  < だったら、藻前が作ってみろと言うことになる。
 ヽ;ミミミ⌒彡
    ゙゙゙゙゙""  メンセキ メンセキ メンセキ
118名無しさん@お腹いっぱい。:04/01/20 11:03 ID:c6JfNl/8
>>116
> 階層化ステートマシンと言う概念は、当然あるはずです

当然かどうかは疑問だが、108の脳内に存在するのは確からしい。
だが、現実世界では、広く知られたものでもないし、必要ともされてない。

正しくRTL記法を用いれば、階層化しなくても十分に複雑なステートマシンが
容易に書けるし、細かくブロック(エンティティ)に分割したって、勝手に
FFが挿入されてタイミングがずれていくなんてこともありえない。

>  基本的には表記法(設計手法)を確立すれば、そういうロジックコンパイラを
> つくることは難しくないはずです。

需要がないからね。108が自分でつくる以外にないだろうな。
というか、108が何かすごい誤解をしているだけの気がする。
素直にムーア型FSMで設計してRTL記法で書くべし。
119名無しさん@お腹いっぱい。:04/01/20 11:03 ID:zhCX/DIl
RTL記法ってふつーのRTLのこととちがうの?
ふつーのRTLなら勝手にFFが挿入される例ってHDLの教科書見れば口がすっぱくなるぐらい注意点が載ってるけど
それとは違うわけ?
120名無しさん@お腹いっぱい。:04/01/20 11:07 ID:c6JfNl/8
>>119
論理合成すると勝手にFFが入るような書き方はRTLとは言えんだろ
121名無しさん@お腹いっぱい。:04/01/20 11:35 ID:9Jj2rR4d
てか、FFがどう生成されるかを明示的に書いて同期式回路を
生成させるのがRTLでしょ。
レジスタ、トランスファなんだからクロックによるデータ移動と
とっても良いと思うが。
122名無しさん@お腹いっぱい。:04/01/20 11:44 ID:zhCX/DIl
>>120
>論理合成すると勝手にFFが入るような書き方はRTLとは言えんだろ
RTL記述であっても書いてる本人は意識しなくても前のクロックの状態を保持してるから論理合成ツールに勝手に
FFを挿入するわけだし、RTL記述であっても論理合成できない場合もあるよ。

記述レベルを正確に言うと
ビヘイビアレベル、RTL、ゲートレベル
であって、>>120が言うのは3つのうちの最後、ゲートオンリー+ライブラリセルの接続のみの記述のことかな?
でも、普通HDL使って回路書く場合、そういう書き方は面倒すぎてしないな。
123名無しさん@お腹いっぱい。:04/01/20 11:49 ID:c6JfNl/8
単に、>>122がいうRTL記述の定義が世間一般のものとは違うだけと見た
意図どおりに論理合成できる書き方すべてをRTLと呼ぶ定義もあるよね
124名無しさん@お腹いっぱい。:04/01/20 11:54 ID:zhCX/DIl
>>123
それ今言おうとしてたんだけど。

シンセサイザブル == RTL記述

ってのは厳密には正しくないよ。言葉の定義だけの問題だけど。そう言ってる人も居るけど。正確じゃない。
125名無しさん@お腹いっぱい。:04/01/20 12:18 ID:XTpcHNZG
AとBというステートマシンがあって、
BがAのステート値を直接参照して動くように
したのが「階層化ステートマシン」で、

これをやると、Aのステート値が確定した次のクロック
サイクルでしかBが動かないので、それを「ずれ」と
言ってるわけ?
126108:04/01/20 14:50 ID:1J0castu
>>125
> AとBというステートマシンがあって、
> BがAのステート値を直接参照して動くように
> したのが「階層化ステートマシン」で、
> これをやると、Aのステート値が確定した次のクロック
> サイクルでしかBが動かないので、それを「ずれ」と
> 言ってるわけ?

ですね。
127名無しさん@お腹いっぱい。:04/01/20 14:58 ID:c6JfNl/8
>>126
ステートマシンとは、ある時点の状態によって次クロックの状態が決まる回路のこと

というか、ステートマシンに限らず、完全同期回路とは
すべてのFFの状態がクロックエッジでのみ変化できる回路のことだ。

そもそも、なぜ「階層化」をしたいの?
状態が遷移する条件を抽象化(隠蔽化?)したいってこと??
だったら aliasとかマクロを使ったらどう?
128名無しさん@お腹いっぱい。:04/01/20 15:01 ID:9Jj2rR4d
階層化ってのは記述の階層化、回路のモジュール化の意味だろうか。
129名無しさん@お腹いっぱい。:04/01/20 15:15 ID:zhCX/DIl
一発目データ処理の遅延は多分避けようがないがうまくパイプラインを作ってやれば
2発目以降ははじめの遅延以外発生させずに処理できることがある。
バッファっていうのはBが処理してる間Aの出力を保持して、そのときAは新たなデータを
受け付けて処理してるのかな?
>>108 は知らず知らずのうちにパイプラインと等価な回路を作ってるんじゃないの?
130名無しさん@お腹いっぱい。:04/01/20 15:39 ID:c6JfNl/8
>>129
データパスじゃなくてステートマシンの話だからなぁ…
ステートマシンのパイプライン化って意味あるの?

単に>>108がステートマシンの設計のやり方を誤解してるだけだと思う
131108:04/01/20 16:51 ID:1J0castu
>>118
> 正しくRTL記法を用いれば、階層化しなくても十分に複雑なステートマシンが
> 容易に書けるし、細かくブロック(エンティティ)に分割したって、勝手に

その能力を持ってすれば、階層化すれば256倍楽に書ける。(はず)
>>127
> そもそも、なぜ「階層化」をしたいの?
> 状態が遷移する条件を抽象化(隠蔽化?)したいってこと??
> だったら aliasとかマクロを使ったらどう?

そういうことです。

 そもそも、CPUのプログラムなんかは、クロックの遅れなんて意識
 しないでしょ。だから複雑になっても楽にプログラムできる。
  いまのHDLはサブプローセス(モジュール、マクロ、そのた)を通せば必ず
 時間遅れ(ゲート遅延のことじゃないよ、かん違いしている人いるけど)
 が出るのに、自己管理以外対処方法がないでしょ。
  例えば漫画かいて、そのままインプットして、AのエッジとBのエッジを
 アンドして一致を待ってるのに永久に一致しない。
 「あれっ」てことあるでしょ。

  そこで階層化(簡単化、単純化、抽象化、隠蔽化、省力化、そのた)したいけど、
  モジュール(実体配置)による抽象化だと、そこらへんが問題になる。
 なんか簡単な方法で簡単化する方法はないか? それがテーマなのです。
132名無しさん@お腹いっぱい。:04/01/20 16:53 ID:WrtHlV3z
ピンアサイメントしてタイミングチャート(漫画?)書いたら、合成してくれるツールきぼんぬ。(をい
133108:04/01/20 16:57 ID:1J0castu
 >>129
> >>108 は知らず知らずのうちにパイプラインと等価な回路を作ってるんじゃないの?

 そう何もしないパイプ6段構成ってこと。
ステートマシンを見やすくするのにそりゃー一寸もったいないだろかなってこと。

 高速回路だとパイプをバコバコ使うでしょ。そして、ゲートを叩くタイミングが
こんがらがって解らなくなる。自己管理できないために。
そんなことがないためにも、まずこんがらない手法の確立が急がれるわけです。
134108:04/01/20 16:57 ID:1J0castu
>>132
> ピンアサイメントしてタイミングチャート(漫画?)書いたら、合成してくれるツールきぼんぬ。(をい

 それはあるだろ。
135名無しさん@お腹いっぱい。:04/01/20 17:10 ID:c6JfNl/8
>>132
MATLABのsimulinkのこと?
用途に寄るがそこそこ使えるらしいよ
136名無しさん@お腹いっぱい。:04/01/20 17:14 ID:9Jj2rR4d
スマンが>>108の言ってることを翻訳してくれる人って居ますか?
さっぱり解らんよ。
137名無しさん@お腹いっぱい。:04/01/20 17:16 ID:c6JfNl/8
>>131
まず誤解を解くと

> いまのHDLはサブプローセス(モジュール、マクロ、そのた)を通せば必ず
> 時間遅れ(ゲート遅延のことじゃないよ、かん違いしている人いるけど)
> が出るのに、自己管理以外対処方法がないでしょ。

マクロやモジュール(エンティティ)では、遅延させないことも可能。
なんで必ず遅延(FF)が入るなんて勘違いしてるんだろう?

プロセスというかレジスタを生成するプロセス部なら
レジスタなんだから1クロック後に結果が反映される。

細かくマクロやモジュールに分けるのはいいことだ。
でも、なんでわざわざマクロやモジュールごとにFFを入れたがるのか
それが理解不能なところだ。
138108:04/01/20 17:26 ID:1J0castu
>>137
> マクロやモジュール(エンティティ)では、遅延させないことも可能。
ん?
> なんで必ず遅延(FF)が入るなんて勘違いしてるんだろう?
> プロセスというかレジスタを生成するプロセス部なら
> レジスタなんだから1クロック後に結果が反映される。
 そうだがしかし、、、。

> 細かくマクロやモジュールに分けるのはいいことだ。
> でも、なんでわざわざマクロやモジュールごとにFFを入れたがるのか
> それが理解不能なところだ。

 理論的にはできる。しかし、1クロック後に結果がでるような
 回路にしたら、配線が広がって非常に動きにくいんでは?
 なんか説明がわるいのかな?
  パイプってなんでする?て聞いたらもっとわからなくなる?
  
139108:04/01/20 17:28 ID:1J0castu
>>135
> >>132
> MATLABのsimulinkのこと?
> 用途に寄るがそこそこ使えるらしいよ

 Muxplusについてなかった? 講習会でやった気がするが。
140108:04/01/20 17:29 ID:1J0castu
>>136
> スマンが>>108の言ってることを翻訳してくれる人って居ますか?
> さっぱり解らんよ。

 すまんなー。おれからも頼むよ。
141108:04/01/20 17:33 ID:1J0castu
>>130
> データパスじゃなくてステートマシンの話だからなぁ…

 データパスのゲートをコントロールするのがステートマチンだと、、、。

> ステートマシンのパイプライン化って意味あるの?
 それはあまりいみがないでしょう。
142名無しさん@お腹いっぱい。:04/01/20 17:35 ID:c6JfNl/8
>>138
>  理論的にはできる。しかし、1クロック後に結果がでるような
>  回路にしたら、配線が広がって非常に動きにくいんでは?
>  なんか説明がわるいのかな?

>>112で既出だが
> まぁ配線遅延の問題はデバイスベンダーが提供するツールに
> おまかせしちゃうのがいいんだと思います。
>
> HDLのレベルでは、そんなの気にせずに論理だけ書けばいいんでない?

ステートマシンなんて、すごく小さい回路なんだから遅延なんか気にしなくても問題ないよ。
もちろんデータ幅が多いデータパスについては考える必要がある。

そもそも論理設計ってのは、信号のタイミングチャートをまず書いて
それを実現する論理回路を書いてくものだ。
そこまで機械に自動的にやらせるのは無理。

その代わりファンアウトとか配線遅延の問題は機械任せにして良い。
143名無しさん@お腹いっぱい。:04/01/20 17:36 ID:9Jj2rR4d
>>140
普通にVHDLなりVerilogなりで回路を書いていてるんだよねぇ?
だから余計君の言ってることが謎に満ちて聞こえる。
144142:04/01/20 17:42 ID:c6JfNl/8
あ 念のために補足すると
配線遅延ってのは1クロック遅れることじゃなくて物理的な配線遅延のことだよ。
完全同期回路のクロック周波数の上限に影響する
145名無しさん@お腹いっぱい。:04/01/20 17:56 ID:WrtHlV3z
>>139
うちはザイ リンクス猪木!という上司がいて或寺のmaxplusは縁がなくて知らんかったよ。
早速インスコしまつ。
146108:04/01/20 18:00 ID:1J0castu
>>142
> > HDLのレベルでは、そんなの気にせずに論理だけ書けばいいんでない?
> ステートマシンなんて、すごく小さい回路なんだから遅延なんか気にしなくても問題ないよ。

あのー。ステートマシンが小さくても、モジュール化しないってことは
配線の海のなかに埋没するってことになりません。
しょうもないステートマシンの頭でタイミングが間に合わないって事も当然あるでしょ。
おもいもかけないところに配線がつながったりしますよね。
 いや、LCELLで切れ、バッファ(ノンクロックのね)で切れって話は当然です。
 でもやっぱり海は深い。最後はFFで逃げるしか手はない。常套手段だとおもうよ。
 でその常套手段から話を出発しているつもりなんだけど。
147名無しさん@お腹いっぱい。:04/01/20 18:04 ID:c6JfNl/8
もひとつ補足
>>138
>  理論的にはできる。しかし、1クロック後に結果がでるような
>  回路にしたら、配線が広がって非常に動きにくいんでは?
>  なんか説明がわるいのかな?
>   パイプってなんでする?て聞いたらもっとわからなくなる?

これは恐がりすぎ。ばしばし1クロック後に結果がでるような回路にしろ。
どうせ、ステートマシンなんてどんないいかげんにつくっても
32bit+32bitの加算器よりずっと小さくて高速にまわる回路になるんだから
いちいち恐がるな。
148名無しさん@お腹いっぱい。:04/01/20 18:11 ID:c6JfNl/8
>>146
ちなみに今時の論理合成ツールは、モジュールをフラットに展開してから処理する。
つまりモジュール分けはソース可読性を良くしたり、
シミュレーション時の信号名を階層化するのに使うだけで、
論理合成にはまったく関与しない。
149108:04/01/20 18:33 ID:1J0castu
>>142
> そもそも論理設計ってのは、信号のタイミングチャートをまず書いて
> それを実現する論理回路を書いてくものだ。
> そこまで機械に自動的にやらせるのは無理。

回路によって、多分意識のもち方として、データパスに重きを置く場合と、
論理回路に重きを置く場合があるんじゃないかな?
 論理回路の場合はそれこそ、あなたの言うとおりだとおもう。
ところがすこし大きなシステムになると、データパスに重きを置いて、
ステートマシンでそのゲートを閉じたり開いたりするようなイメージで考えた方が、
考えやすい場合がある。そうすると、ステートマシンの設計が重要になってくる。
ステートマシンもかなり大きくなる。
 抽象的レベルで考えた場合、動作は簡単なのに、実際には1、2
クロックの時間ズレの調整がすごく煩雑になってくる。簡単というのは
ストーリーに沿って流れているので簡単なのであって、実現しようとすると
細かいタイミングで難しい。 そういう経験をしたので、みんなはどうしてるのかな?
ておもうのです。

>>147
> これは恐がりすぎ。ばしばし1クロック後に結果がでるような回路にしろ。
> どうせ、ステートマシンなんてどんないいかげんにつくっても
> 32bit+32bitの加算器よりずっと小さくて高速にまわる回路になるんだから
> いちいち恐がるな。

 慧眼。なるほど。
150108:04/01/20 18:39 ID:1J0castu
>>148
> 論理合成にはまったく関与しない。

 そうだね。 だけど、自分が使うモジュールはFFがたいてい入っているなー。
 
151名無しさん@お腹いっぱい。:04/01/20 18:45 ID:c6JfNl/8
>>149
> ところがすこし大きなシステムになると、データパスに重きを置いて、
> ステートマシンでそのゲートを閉じたり開いたりするようなイメージで考えた方が、
> 考えやすい場合がある。そうすると、ステートマシンの設計が重要になってくる。
> ステートマシンもかなり大きくなる。

だから全然でかくないんだってば! 結局ここの感覚の違いなのかなぁ?
確かに、ステートマシンってHDLのソースコードでは結構な行数を使うんだけど
合成される回路は非常に小さいものだ。

逆に std_logic_vetctor(31 downto 0)型のA B Cについて
 A <= B + C
って一行さらって書いたコードの方が、行数は少なくても回路はえらくでかくなる。

A <= B * C なんて書いたらどうなることやら…
152108:04/01/20 18:51 ID:1J0castu
 例えば1clock 10nsec 加算に9.98nsecそして、その結果をステートマシンに
反映しなければならない。
ん?
そしてさらに、、、
やっぱり現実的には色々あるから、1clockでやるのは難しかったりする。

153名無しさん@お腹いっぱい。:04/01/20 19:01 ID:c6JfNl/8
>>152
それは1clockでは難しいね

加算するデータパスはパイプラインにしてあるんでしょ?
そしてステートマシンは、データパスパイプラインの
任意のステージから信号ひっぱってきて、次の状態を決めれば
いいってことだよね。

つまり、ステートマシン自体はパイプラインにする必要はないでしょ?
ステートマシンの階層化なんて謎の概念も出てくる余地ないでしょ?
154108:04/01/20 19:26 ID:1J0castu
>>153
 しごく尤もなご意見です。不味い例を出してしまったかなと思ったところです。
私も仕事を引き受けるときは、あなたのように、常に歯切れ良くしゃべるのですが、
月末になるとど坪に嵌って、歯切れがわるくなります。その原因を解決するのが
ステートマシンの階層化だと思うのですが、そもそも階層化するからそういう状況に
なるのだといわれると今は返す言葉がありません。
 まいりました。ぺこり。再度熟考してみます。
155名無しさん@お腹いっぱい。:04/01/20 21:25 ID:kyOyevsY
或寺や材リンクスだけじゃなくて、ラティスや、ActelのPLD使っている、谷津はいませんか??
156名無しさん@お腹いっぱい。:04/01/21 01:07 ID:6xQgjGpM
状態図を階層化して考えるのは普通だと思う。
自分なら次のようにRTL化する。

たとえば main状態が{A,B,C}の3状態で、
A/B状態はそれぞれsub状態{i,j,k}/{l,m}を持つとしてVerilogで
  input condition;// 遷移条件
 
  parameter A = 0, B = 1, C = 2;
  parameter i = 0, j = 1, k = 2;
  parameter l = 0, m = 1;
 
  function [1:0] main_next; // main状態遷移関数(AかBかCを返す)
  function [1:0] Asub_next; // Asub状態遷移関数(iかjかkを返す)
  function [1:0] Bsub_next; // Bsub状態遷移関数(lかmを返す)
 
  reg [1:0] main_state, main_next;
  reg [1:0] sub_state, sub_next;
 
  always @(posedge clk) main_state <= main_next;
  always @(posedge clk) sub_state <= sub_next;
  always @(*)
  case (main_next)
  A: sub_state = Asub_func(sub_state, condition);
  B: sub_state = Bsub_func(sub_state, condition);
  C: sub_state = 0;
  endcase
  always @(*) main_next = main_func(main_state, condition);
157名無しさん@お腹いっぱい。:04/01/21 02:31 ID:ZjnNF5Y4
always @(*)
ってどういう意味?
158名無しさん@お腹いっぱい。:04/01/21 02:34 ID:WT0oMe4p
いつも@(*)
159156:04/01/21 03:59 ID:6xQgjGpM
>>157
間違えた @(*) じゃなくて @* で。
Verilog2001のセンシティビティリストの省略です。
実際の回路で使ったことはないのさ〜
160名無しさん@お腹いっぱい。:04/01/21 11:19 ID:mu8q7ylj
>>156
よくわからないが
  A: sub_next = Asub_func(sub_state, condition);
  B: sub_next = Bsub_func(sub_state, condition);
  C: sub_next = 0;
のtypo?
状態遷移の条件をわかりやすく記述するために
マクロや関数を使うのはいいことだよね

108の言ってる「階層化」は、それとは違う何か別のモノを指すっぽいけど…
161名無しさん@お腹いっぱい。:04/01/21 11:31 ID:KviOxay0
>>>125
>> AとBというステートマシンがあって、
>> BがAのステート値を直接参照して動くように
>> したのが「階層化ステートマシン」で、
>> これをやると、Aのステート値が確定した次のクロック
>> サイクルでしかBが動かないので、それを「ずれ」と
>> 言ってるわけ?

>ですね。

と言っているんだよね。
漏れはどうもBがAのステート値を直接参照するっていうのが
気味悪くて嫌なんで、結局こういうときは別信号こしらえてるな。
(単なる感覚の問題なんだろうけど)
C++でいうと、ステート値なんていうのはそのステートマシン
内部で閉じていて欲しいprivateデータだ、勝手に覗き見するな
って感じで。

データもみんな受け渡しするように書いてるから、結局コマンド
とデータをセットで「ホイッ」と投げるような書き方だな。

・・・というのじゃ答えになってないのかな?
162名無しさん@お腹いっぱい。:04/01/21 11:45 ID:mu8q7ylj
>>161 何の答え?
163名無しさん@お腹いっぱい。:04/01/21 12:08 ID:KviOxay0
いや、なんか遅れが出て、データのラッチタイミングが
ずれるから、そこでディレイ用のF/Fが・・とかいう
話みたいだったから、
「データとコマンドをいっしょにして投げるように習慣づければ
いいんじゃない?」っていうことなんだけども。
ぜんぜんはずしていたらゴメン。
164名無しさん@お腹いっぱい。:04/01/21 15:04 ID:yMug5Hly
> なんか遅れが出て、データのラッチタイミングがずれるから、そこでディレイ用のF/Fが・・・

なんて話を聞くと本当にこの方設計しているのかしら?と思いたくなる。
165名無しさん@お腹いっぱい。:04/01/21 15:15 ID:mu8q7ylj
>>164
スレタイとか >>1が やばいから、同類を引き寄せるんだろうね

そもそもHDLはプログラミング言語じゃなくて、ハードウェア記述言語だし
ソフトウェアのプログラム手法では、マトモな回路を合成できない
166名無しさん@お腹いっぱい。:04/01/21 15:41 ID:yMug5Hly
>>165
ま、HDL系とC系は今後分けた方が良いかもね。
もう何がなんだか。(w
167名無しさん@お腹いっぱい。:04/01/21 15:52 ID:WT0oMe4p
C系では回路がわかってなくてもまともな回路になるのか?
プログラムのCでもまともにアセンブラを書けない奴のソースははまともな実行コードにはならないが?
168名無しさん@お腹いっぱい。:04/01/21 16:17 ID:yMug5Hly
>>167
それは仰る通り。
ただ、このスレでCとHDLをごちゃ混ぜにして進行することに無理がありそうな
気がしてるだけだよ。
169名無しさん@お腹いっぱい。:04/01/21 21:32 ID:KtwvPfPr
変なのをHDLスレに残せって言ってる?
170名無しさん@お腹いっぱい。:04/01/21 23:09 ID:WT0oMe4p
PWB CAD は自動配線を競わなくなったけど。
シンセツールはソフト屋でもSystemC使ってまともな回路が合成できるまでがんばるのかな?
それよりVerilogの文法や書式をもっとCに近づけてくれた方が個人的にはうれしいんだけどな。
begin end が面倒だし、`が見にくい。それ以外はあんまり不満がない。
171名無しさん@お腹いっぱい。:04/01/22 00:36 ID:hxb6pUH2
>>170
> シンセツールはソフト屋でもSystemC使ってまともな回路が合成できるまでがんばるのかな?

それはCOBOLerにまともなJavaアプリが作れるよう、コンパイラが頑張るようなもの
原理的に不可能でしょ
172名無しさん@お腹いっぱい。:04/01/22 05:02 ID:48TiayCH
Javaなんて誰でもかけるよ。優秀なCOBOlerなら問題なく書けるでしょ。
173名無しさん@お腹いっぱい。:04/01/22 11:18 ID:hxb6pUH2
優秀だったら、単にCOBOLも書ける/書いた経験があるってだけで
他の分野もこなせる普通の技術者だ。COBOLerと呼ばれることはない。
174名無しさん@お腹いっぱい。:04/01/22 12:57 ID:H9L3lZAs
>>173
Java書きはJavaerというのか?
CはCer?C++er? Pascaler?Assemblerer?COBOLerってなに?
175名無しさん@お腹いっぱい。:04/01/22 13:06 ID:xFHemUX2
所でHDLで回路を記述する場合、論理合成後の結果を予め想定した
明示的記述をすることがあると言うか漏れはそれが多いのだが、
Cでもやっぱり場合によっては似た記述をするんだろうね。(w
176名無しさん@お腹いっぱい。:04/01/22 13:47 ID:hxb6pUH2
>>175
もちろんそうでしょ CでもRTL風に書かないとダメっぽそう

ただ、Cで float型の変数 a bについて a * b って記述して合成すると
固定小数点の乗算回路として実装されたりするなら
デジタルフィルタの設計において、見通しが良くなるし
ロジックの検証も楽かも知れない
177名無しさん@お腹いっぱい。:04/01/22 13:54 ID:xFHemUX2
>>176
なるほどね、使い分けか。
今一Cの便利さってに懐疑的だったのだがそれなら解る。

アルゴリズム検証と回路生成を共通にするには若干努力が
必要なわけか。 ただ開発がシームレスに出来る可能性を
考えると恩恵は大きそうだね。
178名無しさん@お腹いっぱい。:04/01/22 14:58 ID:48TiayCH
たのむからSystemC,SpecCをいうときはC系と"系"をつけてよ。プログラムのCと見分けがつかんから。
179名無しさん@お腹いっぱい。:04/01/22 15:09 ID:hxb6pUH2
>>178
C系ってどういう意味で使ってるの? 直訳するとC systemだが…
C like HDLって意味なら C風の方がピッタシくる

アタマ悪い女子高生の「みたいなー」の言い換え語の「〜系」って
技術的な話題にはそぐわないと思うっす
180名無しさん@お腹いっぱい。:04/01/22 15:43 ID:xFHemUX2
>>178
スマンがどう混乱するんだろうか?
181名無しさん@お腹いっぱい。:04/01/22 15:53 ID:48TiayCH
>今一Cの便利さってに懐疑的だったのだがそれなら解る。
これだけ見たら日ごろアセンブラ書いてるやつが遅まきながら
C言語の便利さに気づいたようにも取れる。
182名無しさん@お腹いっぱい。:04/01/22 16:13 ID:48TiayCH
>C++er?
Cプラプラーってのはど?
HDLer は HDエラー "ラ"は上あごにしっかり舌をつけて発音してください。
じゃないとHDErrorになっちゃうから。
183名無しさん@お腹いっぱい。:04/01/23 00:14 ID:5Pb5Mvwh
>>160
typoについてはご指摘どおり。スマソ。
'階層化'って、
 http://members.jcom.home.ne.jp/pascal/cpp/state.html
のようなステートチャートの入れ子を、
回路でどう実装するかって話かと思ったのだけど
>>108の'階層化'は別の概念をさしてるのかな?
184名無しさん@お腹いっぱい。:04/01/23 00:20 ID:5Pb5Mvwh
C系の良さって、良く言われるソフト屋を回路設計に転用できるってメリットよりも
ビヘイビアコンパイラーと組み合わせた時のメリットが大きいと思う。
現状のVerilog1995-2001は制約が多すぎて、RTL以上の抽象度で記述するのに向かない。

けれど、SystemVerilogは抽象化についてもカナリ強化されているから結構期待。
185名無しさん@お腹いっぱい。:04/01/23 00:39 ID:/HtKENr3
C系厨キターーーーー

C系にはCそのものは含まれるのか?
太陽系には太陽は含まれないのか??
186名無しさん@お腹いっぱい。:04/01/23 01:12 ID:AvZloHjt
正直、文脈から誤読はなさそうだから系を付ける付けないなんて
どうでも良いことなのですが・・・。

論理合成と記述の抽象度に関しては今までだんだん改善されて
来てるのでこれからもだんだん良くはなっていくでしょうが、ある日
突然劇的に改善されて、記述を目一杯サボっても良い様になる
訳はないでしょうね。

簡単にはメーカーもツールも信じられなくなるほど騙されてきたのに
ここで又騙されるのは嫌。
187名無しさん@お腹いっぱい。:04/01/23 01:44 ID:cRL3U17d
記述をサボりたいから抽象度を上げるんではなくて、
RTLには限界があるように思えてならない。

昔は回路が決まればタイミングもほぼ決まって、
後は巧くレイアウトすれば収束したんだけれど、、
最近は回路が決まってもレイアウトした後に予想もつかない
クリティカルパスが出来てしまい、回路修正が必須になっている。
それも組み合わせ論理をいじるだけではすまなくて、
パイプライン中でF/Fを切る位置をずらしたりしないと収束しないことも有る。
そうなると制御系のFSMも書き直さなければならず大変。

それだったら、データパスとかは最初からサイクルアキュレートでない抽象的な
記述で書いておいて、緩いタイミング制約としてサイクル数を指定して、
ビヘイビア合成ツールに配置配線を考慮して合成したもらった方が
良い回路ができる可能性があると思う。
(現在のツールはそこまでの能力は無いかもしれないが)

RTLは'回路を意識'した記述は出来るけど、'レイアウトを意識した'記述は難しい。
どのように配置されてもタイミング収束しやすい回路を記述することはは
出来るかもしれないけどきっと冗長なぬるい回路になる。
188名無しさん@お腹いっぱい。:04/01/23 03:23 ID:BlyyP1Mw
でもアルゴリズムは普通プログラムCで考えるだろ?
それ見ながらHDLに翻訳して手順を回路にマッピングし直す作業がなくなれば
それはそれで非常にメリットがあると思うんだが、
アプリケーション考える->即回路ができるってことでソフト屋どころか
HDL書いてた奴の人減らしも出来るのではないかと。
189名無しさん@お腹いっぱい。:04/01/23 03:46 ID:AvZloHjt
同じフレーズを10年前にも聞いた気がします。(w
190名無しさん@お腹いっぱい。:04/01/23 09:53 ID:SWWnGgbP
>>189
たぶん10年後も同じフレーズが売り文句でしょう。w
191名無しさん@お腹いっぱい。:04/01/23 10:27 ID:/HtKENr3
>>187
問題意識としては正しいと思うけど、それは大学で研究するレベルの長期的課題だよね

今のところ、そんな魔法みたいなツールを開発する手間かけるくらいなら、
まともな技術者をたくさん雇ったり、ターゲットに早いプロセスを採用した方が
コスト、時間ともに小さくできそう

RTLは同期回路の抽象的なネットリストを表現するには十分な抽象度があると思う。
俺は、RTLって日進月歩で進化する新しいプロセスに対応する手間を削減するために
使うものだって意識をもってる。

もしプロセスの進化速度がいまの1/10だったら(半世紀で倍の速度)
いまだにスケマ図ベースでカリカリにチューンして設計してるかも知れない
192名無しさん@お腹いっぱい。:04/01/23 10:33 ID:YqOMtdjy
漏れはHandel-Cしか知らないけども
たとえば
http://adsp2191.hp.infoseek.co.jp/program/fir/fir03.shtml

for ( k=0; k<TAP-1; k++ )
{
sum += delay[j--]*h[k];
if ( j < 0 )
j = TAP -1;
}
sum += delay[j]*h[TAP-1];

で整数演算でいいなら、j--が[]の外に出て
if (j==0) j=TAP-1; else j--;
にしてやる程度かな。
ついでにsumの計算とif文、それからk++は
並列動作可能だから
k=0;
while(k<TAP-1) {
par {
sum += delay[j]*h[k];
  if (j==0) j=TAP-1; else j--;
  k++;
 }
}
sum += delay[j]*h[TAP-1];
ってとこか。(乗算のロジックは勝手に生成される)
これで、whileループは一回あたり1クロックでまわる。
浮動小数点演算なんかだと、関数呼び出しの形になるから
ちょっと読みにくくなるけれども。

人手でHDLにして最適化していけばずっといいものには
なるだろうけども、それであがる何割かの「よさ」と、かける
時間のトレードオフを考えるとどっちが得か、微妙なシーン
が多い気がする。
193名無しさん@お腹いっぱい。:04/01/23 14:11 ID:BlyyP1Mw
こういうのが居るからわけがわからなくなるんだよ。
FIRフィルタをわざわざハード使ってやるのになんでまたCPUやDSPと同じような構成にせにゃならんのだ。
チミはマッチドフィルタを勉強したまえ。ハードでやるってのはそういうこと。乗算、加算器を一つしか使わないという発想自体が
よくない。

それから、プログラムにしてもそれじゃチミお話にならんよー。
あくまでももとの式に忠実に書くが

x, h を配列、px, phをポインタtして

*px = x + N-1;
*ph = h;

for( k = N-1; k >= 0; k-- ){
 y += *px-- * *ph++;
}

で事足りる、配列のインデックスに カウンタ値を持ってくること自体よくない。
因みにDSPでやる場合xの並べ方を逆にしておいて、
y+= *px++ * *py++
になるような工夫をしておけば乗算、加算、2箇所のポインタのインクリメントが1命令で実行できるはずだ。
194名無しさん@お腹いっぱい。:04/01/23 14:23 ID:YqOMtdjy
ちゃうちゃう。別にFIRフィルタを書きたいのではなくて、
先にCで書いたようなのを、まんま持ってきて軽く並列
部分を切り出す程度でも落ちるってこと。

プログラムが話しにならないって話は、先のリンク先
を書いた香具師にでも言ってくれぃ。
195名無しさん@お腹いっぱい。:04/01/23 14:25 ID:/HtKENr3
>>194 「落ちる」ってどういう意味?
196名無しさん@お腹いっぱい。:04/01/23 14:27 ID:YqOMtdjy
HDLなりEDIFになるよってこと。
197名無しさん@お腹いっぱい。:04/01/23 14:29 ID:YqOMtdjy
補足
ソフトのコンパイラでCのソースがアセンブラになるのと同じように、
C=>HDL/EDIF
っていう変換がされるわけ。なんとなくイメージで
C/C++=>アセンブラ=>機械語
って階層で下がっていくイメージがあったからつい「落ちtる」と
言ってしまった。すまん。
198名無しさん@お腹いっぱい。:04/01/23 14:34 ID:/HtKENr3
そういう意味なら

> 人手でHDLにして最適化していけばずっといいものには
> なるだろうけども、それであがる何割かの「よさ」と、かける
> 時間のトレードオフを考えるとどっちが得か、微妙なシーン
> が多い気がする。

Cで書かれたコードが元からあるって前提がうさんくさいね
Cのコードを書く工数を省いて、最初からハードを意識してHDLで書けば
時間もかからないのでは?
199名無しさん@お腹いっぱい。:04/01/23 15:04 ID:BlyyP1Mw
>>195
了解。

http://adsp2191.hp.infoseek.co.jp/program/fir/fir03.shtml

リングバッファ部分で速度が落ちることを言いたいわけね。それは間違いないが、データの格納の話をFIRに絡めて
書いてあるからわけがわからなくなる。実際にFIRフィルタ内部で複雑なことやろうって言うのがそもそも間違い。
データを絶え間なくハンドリングしなきゃならない場合、格納は必要なバッファx2倍のリングバッファをこしらえて、
格納自体はDMAに任せる。FIRフィルタ演算はデータがバッファの半分まで溜まった時に一挙にやってしまって、
メモリに書き込む、その間もデータはリングバッファの残りの半分の部分に書き込まれ続ける。そして演算結果の
読み出しは外部から均等間隔の割り込みを与えてそのタイミングで出力するような割り込みルーチンを作るとか
DSPの外部にFIFOを用意してFIFO経由で正確なタイミングで読み出すかだな。

>Cのコードを書く工数を省いて、最初からハードを意識してHDLで書けば
>時間もかからないのでは?
実際の仕事したことないだろ?Cもしくは何がしかのプログラム言語で十分シミュレートして、アルゴリズム検証を
してからHDLに持ってこないと、わけのわからないものが出来上がる。シミュレートしたり、アルゴリズムを検証するのは
LSI屋がやらないことも多い。そこはアプリケーション屋の仕事であったり、研究部門の仕事であったりする。LSI屋はテスト
データとか検証の終わったCソースを持ち帰ってRTLへの翻訳作業をやる。
Tiなんかがすごいと思うのは、たんなるチップの下請け屋じゃなくて、ありとあらゆる規格制定委員会などに顔を出して
(出せる能力のあるアプリケーション分野のエンジニアを揃えることが必要)くること。顔出すだけじゃなくて当然口も挟む。
200名無しさん@お腹いっぱい。:04/01/23 15:14 ID:/HtKENr3
プログラムで書かないでMATLABなどのツールで
アルゴリズム検証やるケースも多いと思うぞ

むしろそっちの方がアルゴリズム検証の段階で
並列化を十分検討できるので回路化するのが楽
201名無しさん@お腹いっぱい。:04/01/23 15:16 ID:dMiFs0xO
あったま良さそぉ〜
202名無しさん@お腹いっぱい。:04/01/23 15:27 ID:BlyyP1Mw
MATLABはプログラム言語の実行環境だよ。プログラムレスっていうならSimlinkか?
できるっていうのと売り物になる製品を作るのは大違い。MATLABってのは方向性を探る上では利用価値が
大きいけど。用意してくれたライブラリのユーザになってるだけじゃだめなんだよ。
その中身を十分理解したうえでハードウェアの実情に合うように構成しなおさないと売り物にはならない。
MATLAB->HDL自動変換で売り物にならないRTLは生成出来るだろうけどね。
203名無しさん@お腹いっぱい。:04/01/23 15:39 ID:BlyyP1Mw
>並列化を十分検討できるので回路化するのが楽

どういうことなの?
204名無しさん@お腹いっぱい。:04/01/23 15:49 ID:YqOMtdjy
ちと刺激的な書き方してしまったのと、サンプルが不適切で無用
の反発を買ってしまったことはお詫びしますわ<(__)>

HDLとCって別に対立構図で描く必要はないと思ってるんだけどもな。
Handel-Cの場合Interfaceを使ってHDLで書いたものとも結合でき
るし、適材適所で使い分けすればいいだけで。

最初からHDLで考えた方が楽なものをわざわざCなんかで考え
直す必要はないだろうし、逆に既にソフトウェアで検証できたもの
とか、ソフト的に考えた方が楽なものをわざわざ人間様の脳みそ
使ってHDLに変換してやらなくても、まぁそこそこ(あくまでも
「そこそこ」だろうけども)のものとして動かせるようになってきて
いて、「そんなもんでいいよ」という場面も増えているんじゃないかな?

だったら、そんなものはアルゴリズム考えたソフト屋なり研究部門
に押し付けて、ただでさえ人手不足で忙しいハード屋はそんなやりかた
じゃ話にならないような、脳みそに汗かくような部分に注力したほうが
いいんじゃないかなと思うのだけども。
205名無しさん@お腹いっぱい。:04/01/23 15:57 ID:/HtKENr3
>>203
MATLAB/Simulinkを使うとブロック線図を描くだけで実際に計算できる
C言語のような1本道じゃないので、ASIC/FPGAによる実装と親和性高い

こんなイメージ
http://www.cybernet.co.jp/matlab/product/dsp/highlights03.shtml

>>202のいうことはわかるが、それが
「Cもしくは何がしかのプログラム言語で十分シミュレート」が必要って
理由にはなってないんじゃない?

MATLAB環境でだって十分なシミュレーションはできるし
C言語だって、libcライブラリのユーザになってるだけじゃダメでしょ
最初からHDLで開発するんだってわかってるなら
わざわざC言語でプロトタイプつくる必要ないのでは?

いままでDSPでしかやったことがない技術者が「HDLとかRTLとか勘弁してよ〜」
って弱音吐いてるようにしか見えないよ
206名無しさん@お腹いっぱい。:04/01/23 16:16 ID:BlyyP1Mw
>MATLAB環境でだって十分なシミュレーションはできるし
>C言語だって、libcライブラリのユーザになってるだけじゃダメでしょ
>最初からHDLで開発するんだってわかってるなら
MATLABってのは単にblasをラップしただけ。何でMatlab使うかといえばライブラリが揃ってるから。
その演算部分に相当するところをハードで起こしたいのに、ライブラリに頼っちゃ意味ないだろうが。

>libcライブラリのユーザになってるだけじゃダメでしょ
それを言うなら、libmに頼るだな。libcが持ってる部分をハードで起こす必要なんかないだろ?
そうだよハード起こすのに最終的には libm も頼っちゃだめ。

>いままでDSPでしかやったことがない技術者が「HDLとかRTLとか勘弁してよ〜」
俺はもともとハード屋で、DSPこそ経験がないのだが・・・

というより、もうちょっと勉強しろよ学生ちゃん。
207名無しさん@お腹いっぱい。:04/01/23 16:44 ID:BlyyP1Mw
>>205
わかった。お前、Cごときもまともに使えないだろ。Cで十分検証とか書かれてるのを見て不安になったんだろ?
卒論は行列エクセルことMatlabちょこちょこ使ってお茶濁しただけだろ?

いまれまでMatlabしか使ったことないバカ学生が「Cで検証なんて勘弁してよ〜」
って弱音はいてるようにしか見えないよ。

お前、System CなんてC++そのものだぞ。
208名無しさん@お腹いっぱい。:04/01/23 16:54 ID:BlyyP1Mw
でもまぁ安心させてやろう。RTL書くのをメインの仕事にするだけなら、Cは読めるだけでも何とかなる。
俺が書いただろ、
"Cもしくは何がしかのプログラム言語での検証"

仕様に基づく部分がC、それを見ながら頭ひねる段階で何がしかの計算が必要になる場合が多い。
それには別にMatlab使っても構わない。
俺は別にMatlabは否定してないよ。ただお前のMatlabがプログラム言語じゃないって解釈が間違ってると言ってるだけ。
209名無しさん@お腹いっぱい。:04/01/23 20:25 ID:qdrSD/ws
どうでもいいが、21世紀にもなったことだし
そろそろalways @(posedge clk)がFF専用記述としか思えないオヤジには、
退場してもらってもいいよな。
210名無しさん@お腹いっぱい。:04/01/23 20:33 ID:OmcGfvdX
新しい物、やり方ってのは、必ずどっかしらに問題はらむもの。
always記述をFF専用として使ってきたのなら、さてちょと踏み出してみようとなったとき、充分な検証もされずに製品に移すと、シッペが帰ってくるんじゃないの。
特にシミュレーションと実装との差や、タイミングスキューで。
211名無しさん@お腹いっぱい。:04/01/23 20:36 ID:AvZloHjt
>>209
もう少し詳しく説明してくれないと無知な私には一体何を言ってるのかさえ解りません。
212名無しさん@お腹いっぱい。:04/01/23 20:41 ID:OmcGfvdX
verilog-HDLのalwaysを使った記述方法、functionを使った記述方法のことでしょう。
シュミレーションプログラミングする段階で異なったプログラムになる。
213名無しさん@お腹いっぱい。:04/01/23 21:00 ID:OmcGfvdX
自分は確実な組み合わせ回路をどんどんモジュール化してって、それを一種のライブラリみたいにして、モジュールの組み合わせで組んでくのが着実な方法だと思うYO。
ステート図、ステート表も、ステート一個一個の記述が安定しているからその組み合わせの図が安定して分かりやすくなる利点もあるわけでして。
214名無しさん@お腹いっぱい。:04/01/23 21:01 ID:AvZloHjt
解るけど、適当なところで改行する方が読みやすいよ。
215名無しさん@お腹いっぱい。:04/01/23 21:51 ID:qdrSD/ws
>>211
alwaysの中に
data<=data_n;
みたいな記述だけが、延々と並べてあるRTLを想像してくれ。
この類のは大概シミュレーションも遅いし、再利用もしにくいし。
216名無しさん@お腹いっぱい。:04/01/23 21:56 ID:sShPQ7EO
教えて下さい
VHDLの勉強を始めたばかりの初心者です。
エディターでソースを書くとき、「コメント」は'--'とのことなのですが
広範囲にわたってコメントアウトしたいときは、何か良い書き方が
あるのでしょうか?
すぐにCと比較してしまうのですが、Cだと1行のコメントアウトは、//で可能で、
複数行のときは先頭に/*、末尾に*/を書けば、その間の行もコメントアウトできますよね。
これと同じような書き方が、VHDLにあるのかしら と思いまして。
宜しくお願いします。
217名無しさん@お腹いっぱい。:04/01/23 22:09 ID:AvZloHjt
>>216
ありません、諦めて下さい。
218名無しさん@お腹いっぱい。:04/01/23 22:20 ID:EDbk669G
>>216
verilogなら/*  */で複数行のコメントアウトが出来るんですが・・・
219名無しさん@お腹いっぱい。:04/01/23 22:28 ID:FPG3wUsE
>>216
デバッグ用にコメントアウトしたいなら、
if generate 文を使え。
220名無しさん@お腹いっぱい。:04/01/23 23:46 ID:WaSiDtHD
216です。
みなさんありがとうございました。
やっぱ、だめですかー。Verilogならあるんですよねぇ。
なんかVHDLは使いにくいなぁ って感じです。
どうしようかなVHDL..... 迷いが出てます。
ありがとうございました。
221名無しさん@お腹いっぱい。:04/01/24 00:13 ID:DE/t6GXn
216です。
もう一つ教えてください。
同じVHDLでも、XilinxのISEとALTERAのなんとか(名前知らない)では
デバイス焼き込み後の実行スピードが異なると思うのですが、
それは大きく違うものなんでしょうか。それともあんまり変わらない
のでしょうか。
また、VHDLとVerilogでは、同様に動作速度に差が出ますでしょうか?
宜しくお願いします


222名無しさん@お腹いっぱい。:04/01/24 00:15 ID:dwkuCZoR
>また、VHDLとVerilogでは、同様に動作速度に差が出ますでしょうか?
>宜しくお願いします
どっちだと思う?
223名無しさん@お腹いっぱい。:04/01/24 00:19 ID:DE/t6GXn
そうですねー、Verilogのほうがあとに出来たので、Verilogでしょうか?
224名無しさん@お腹いっぱい。:04/01/24 00:54 ID:Iyl9Gci4
>>215
退場云々言ってる割にはつまらん理由だな。(w

>>220
その程度で使いにくいなんて言っていたらVHDLなんか使えんよ。(w
225名無しさん@お腹いっぱい。:04/01/24 01:52 ID:PzSlSidC
質問〜!
VHDLとVerilogって何が違う?
言語がとかではなくて・・・。
後者のほうはなんだか、シミュレートが〜とか聞いたり・・・
226名無しさん@お腹いっぱい。:04/01/24 02:17 ID:zbam2rDJ
>>225
シュミレーションと実装のギャップはどちらも引けをとらない位わr・・・(ry・・・っと・・・uいよ。
ただし、書き方による。問題ない組み合わせ回路を繋いで組めば問題ない部分が多いし、変則すればそれだけスキューが広がったりする。
お隣の板で、オールオーバのシュミレートで1clock遅れて出て来たなんて、とんでもHAPPNなことも書かれてた。
227名無しさん@お腹いっぱい。:04/01/24 02:25 ID:USEUNYuU
>>223
言語の違いは速度には直接影響しない。
影響するのはツールの賢さと、チップ自体の速さ。

XILINXの場合はどうだろう。
TranslateとImplementationってやるでしょ。
Translateで言語の違いを吸収してImplementationで配置配線を
するものだと俺は思っている。
VHDLで書いてもVerilogで書いても配置配線は同じだから
結局、動作速度は同じじゃないかな?
もし差がでるとしたらそれはツール(Translate)の差だと思うよ。
228名無しさん@お腹いっぱい。:04/01/24 12:02 ID:A9vHMw10
>>227
ためしにVHDLとverilogで同じ回路を書いてみてみた。@ise6.1foudaton

吐くRTL全然違う・・・・_| ̄|〇
229ペパーダイン古賀:04/01/24 13:08 ID:FLz3z7TR
ise?
Synplify か Leonardoのどっち使ってんの?

zbam2rDJ いい加減恥さらしてることに気づけよ。
230名無しさん@お腹いっぱい。:04/01/24 13:38 ID:A9vHMw10
>>229
罪のISEの組み込みシンセだから、どっちでもないよー
synplify買ってもらったほうがいいかなあ
231名無しさん@お腹いっぱい。:04/01/24 15:08 ID:IgBvTT/6
216です。ご回答ありがとうございました。
やはり当初の予定通り、Xilinx, ISE, VHDLで行くことにしました。

さて、XilinxのISE(伊勢と読めますね?)で勉強しているのですが、
このツールの使い方がよくわかりません。ISEの使い方について、
「日本語で結構詳しく」書かれた本やURLなどがありましたら、教えて下さい。

ISEのテキストエディターで、カーソルを行末に持っていき、
さらに右に動かすと、さらに右に行くんですが、これを通常の
エディターのように、さらに右に動かすと、次の行の先頭に
カーソルが移動するようにはできないでしょうか?
使いにくくて困っています。先輩の皆さんはどのようにしていますか?
宜しくお願いします。
232名無しさん@お腹いっぱい。:04/01/24 15:47 ID:9lnbvkLj
どこのでも一緒だとおもうけど、だいたいあぁいうものに
付いてくるエディタって、エラーなんかが起きたときにその場
で確認したりちょっと直すという程度のことしか考えてないの
が多いと思う。

どうせテキストファイルなんだし、自分が使い慣れたもので
書くのが一番では?
233名無しさん@お腹いっぱい。:04/01/24 23:13 ID:FLz3z7TR
>>231
PIC応用ガイドブックにISEの基本的な使い方なら載ってるよ。
Verilogの方がよっぽど手っ取り早いと思うぞ。modelsimもお試し版はVHDLサポート辞めるようだし
234名無しさん@お腹いっぱい。:04/01/25 00:02 ID:NMN/fukY
「まぁ・・・何をお使いになられても似たようなものですが・・・」
「こ・・これなんですか?」

・・・・・・
235名無しさん@お腹いっぱい。:04/01/25 00:06 ID:51C5uejm
蛇男か
236名無しさん@お腹いっぱい。:04/01/25 01:34 ID:Fw+tmI5Y
>>234
Visual C++ですね。おつかいになられまつか?
237名無しさん@お腹いっぱい。:04/01/25 09:48 ID:MmzQkgpz
>>236
ま、まさか私が・・・。はっはっは
えー。こ、これなんですか?
238名無しさん@お腹いっぱい。:04/01/25 10:00 ID:M8rTax5n
VHDL信者って赤日とか捨民とかと同じ匂いがする。
とっくに終わっちゃった言語なのに。
239名無しさん@お腹いっぱい。:04/01/25 10:04 ID:NMN/fukY
>>237
「MS-BASCOMです。おつかいになられまつか?」

>>238
「まぁ、何をお使いになられても似たよ〜なもんですが・・」
240名無しさん@お腹いっぱい。:04/01/25 12:38 ID:51C5uejm
>>238
そういうしなくて良い無駄な論争に持ち込むのはサヨクの手口なのですが。
どっちにしろそう言う物言いは賢そうに見えない。
241名無しさん@お腹いっぱい。:04/01/25 15:01 ID:doVzgSOU
VHDLが終わったというのは間違いないよ。
国防総省御用達ってだけで、Verilogより後発で、しかもめんどくささ倍増、
生産効率極めて悪しでもう終わりだよ。
242名無しさん@お腹いっぱい。:04/01/25 15:05 ID:/jFVs7t8
じゃぁ、残るは、CとSchema?
243名無しさん@お腹いっぱい。:04/01/25 15:13 ID:51C5uejm
>>241
VHDLに先はないだろうね。
ただ無駄な論争はこのスレでして欲しくない。
244名無しさん@お腹いっぱい。:04/01/25 15:20 ID:/jFVs7t8
Verilogは「先がない」から外されてるのは何で?何でVHDLだけ?
245名無しさん@お腹いっぱい。:04/01/25 15:45 ID:doVzgSOU
VHDLよりは生産効率がいいから。書いてみればすぐわかるだろ。
246名無しさん@お腹いっぱい。:04/01/25 15:51 ID:doVzgSOU
別に無駄な論争だとは思わないね。実際仕事してれば廃れていくことが
まさに見えているのに、これからやろうとしてる新人君に、そのことを隠して
役に立たない言語習得に無駄時間費やさせることのほうがよっぽど無駄だろ。
247名無しさん@お腹いっぱい。:04/01/25 16:03 ID:51C5uejm
>>246
VHDLは消えゆく運命にあるのは解るがその事をひたすら強調して
しなくて良い論争や、叩きを無駄と言ってるの。
248名無しさん@お腹いっぱい。:04/01/25 18:10 ID:llX8wRQ2
「FPGAボードで学ぶ論理回路設計」
ttp://www.cqpub.co.jp/hanbai/books/33/33461.htm

で、VHDLを勉強しているのですが、
VHDLが駄目なら何を勉強したらいいでつか?
とりあえず、7セグLEDをチカチカさせたけど・・。
ここからどの本を順番に読んでいったらいいかも教えてください。
249248:04/01/25 18:14 ID:llX8wRQ2
あと、今使っているツールはクオータス2のwebエディションです。
将来はniosで遊びたいです。
250名無しさん@お腹いっぱい。:04/01/25 18:20 ID:51C5uejm
>>248
なんか一つ覚えておけば乗り換えるのはそれほど難しくないと思うよ。
普及率から言うと、Verilogだろうけどね。

あと、在る寺ならVerilogエディションも只でDL出来るんでないかい?
試してみてはどうかと。
251名無しさん@お腹いっぱい。:04/01/25 22:53 ID:doVzgSOU
>>247
知らない人間に現実を諭してやるのは全然問題ないしむしろ親切ってもんだ。それを知って上で自分で取捨選択すればいい。
判断材料を十分与えてあとは自身で決めればいいんだよ。
お前のような現実を覆い隠す姿勢こそが問題なんだよ。

>>248
Verilogでやり直してみると随分記述量が少なくてすむことはすぐわかる。
暇があればVerilogで書いてみれば?後発で乗り込んできた癖に、ほとんど方言程度の違いしかない。そのくせ記述量だけやたらと
多くVerilogと比較すれば生産効率はマイナス。何のために登場してきたのか首を傾げたくなると思うよ。
252名無しさん@お腹いっぱい。:04/01/25 22:56 ID:51C5uejm
>>251
つまらん議論でレスを無駄にするなと言う事が「隠す」事なのかい?
うんざりだよ。
なんでおかしな言いがかりをする奴が粘着するんだ?
253名無しさん@お腹いっぱい。:04/01/25 23:00 ID:doVzgSOU
つまらんと思ってるのはお前個人の判断だ。つまらんと思うならレスせずに無視するか立ち去れよ。
これからどのHDLを勉強しようかと悩んでる人間には貴重な情報かもしれん。自分の物差しだけでものごとを推しはかるな。
推し量ってもいいがそれをつまらんとかかってな憶測を書き込むな。
254名無しさん@お腹いっぱい。:04/01/25 23:08 ID:51C5uejm
>>253
> 自分の物差しだけでものごとを推しはかるな。

貴方にも言えることです。私一人無視できずに俺を無視しろとはよく言えますね。
で、私を叩くことでこのスレの雰囲気は随分悪くなりましたね。お解りですか?
これこそが無駄な議論でしょうが。
255名無しさん@お腹いっぱい。:04/01/25 23:12 ID:doVzgSOU
じゃ、別な言い方をしてやろう。

つ ま ら ん な ら 立 ち 去 れ ば ?

これだけだよ。つまらん議論だというならレスするなってこった。
256名無しさん@お腹いっぱい。:04/01/25 23:16 ID:51C5uejm
>>255
頭悪いですね。
257名無しさん@お腹いっぱい。:04/01/25 23:20 ID:doVzgSOU
結局そういう捨て台詞しか残せないのかい?情けないね。
そんなことするぐらいなら書き込まずに去れといってるんだよ。
258名無しさん@お腹いっぱい。:04/01/25 23:20 ID:/jFVs7t8
(゚∀゚)ノイヨウ!いつものようにやってますねェ〜
259名無しさん@お腹いっぱい。:04/01/25 23:28 ID:51C5uejm
>>257
あのねぇ、必死になってVHDL叩きすることにどんな意味があるんだ?
と言いたいの。 終わってる言語だ、過去の言語だで、話はおしまい。
ことさら強調して言い続ける事ではないわね。 本当につまらん。

で、結果として悪い空気がだけが残りましたと・・・ほんとうに馬鹿でしょ貴方。
260名無しさん@お腹いっぱい。:04/01/25 23:34 ID:doVzgSOU
スレ汚すなといいながら

>頭悪いですね。

だの

>ほんとうに馬鹿でしょ貴方。

だの、糞なんだよお前。
だから、つまらんなら出て行けよ。誰も迷惑しないから。
261名無しさん@お腹いっぱい。:04/01/25 23:35 ID:51C5uejm
>>260
それに反応してるなら同じだよ。
262名無しさん@お腹いっぱい。:04/01/25 23:37 ID:doVzgSOU
お前のような下請けやって両方必要とする連中ばかりじゃないんだよ。
とりあえず手っ取り早く論理回路組めるようになりたいと思ってる輩により効率的なのはどちらか
という疑問をもつのは当然出し知ってるからレスしたわけだ。それがつまらんろいうなら2CHに来なきゃいいだろうが。
アフォかお前。
263名無しさん@お腹いっぱい。:04/01/25 23:41 ID:51C5uejm
>>262
より多く学ぶのも又学習です。
勉強なのであれば余計経験が必要と考えます。
264名無しさん@お腹いっぱい。:04/01/25 23:41 ID:/jFVs7t8
ゴホゴホッ・・。んっん〜。
みなさま〜、お騒がせしております、
毎度おなじみ〜、2chもんちゃくでございます♪
ご不要になりました〜、古新聞〜、古雑誌〜、ぼろきれなど〜・・・(ry
265名無しさん@お腹いっぱい。:04/01/25 23:54 ID:doVzgSOU
俺は 51C5uejm は糞だと思ってるだけで、ここで書かれてることがつまらんと思ったことないからレスしてる。
つまらんなら興味あるところに行けばどうよ。わざわざつまらんとコメントする方がよっぽどおかしな行為だね。
このスレの中で、少なくともおれ以外でもVHDLがよくないと思ってる奴が何人も居るようだし、どの言語が一番よさげ
か興味をもつのはぜんぜんつまらん話じゃないね。

>より多く学ぶのも又学習です。
>勉強なのであれば余計経験が必要と考えます。
じゃお前Pascal勉強してるのかFortranは?Lispはどうだ?Prologは? Eiffelは?
知識は無駄にならんかもしれんが、人生の時間って言うのは限られてるんだよ。最小の努力で最大の効率を
挙げたいと考えるのは当然だろうが。
さらに上で挙げたプログラム言語はそれぞれ特徴もあるがVHDLとVerilogなんてほとんど際立った特徴がない
そんなものは仕事で両方扱わなきゃならない人間以外は効率のいいほうだけ習得しようと考えるのは全く間違いじゃないよ。
お前こういう議論つまらないんだろ?
266名無しさん@お腹いっぱい。:04/01/26 00:00 ID:hd73r4AI
>>265
死に絶えた言語を掘り出して細勉強しろと言う主張は一切していないし
VHDLは、未だに使われている。 単に主流ではないだけで。

> じゃお前Pascal勉強してるのかFortranは?Lispはどうだ?Prologは? Eiffelは?

話題そらしですね。
267名無しさん@お腹いっぱい。:04/01/26 00:12 ID:2Txh63Fx
>>266

死に絶えた言語を掘り出して細勉強しろと言う主張は一切していないし
LISPは、未だに使われている。 単に主流ではないだけで。

ってのはどうだ?
268名無しさん@お腹いっぱい。:04/01/26 00:14 ID:hd73r4AI
VerilogとVHDLの関係は、CとLISPなのかい?(w
馬鹿言っちゃいかんよ。
269名無しさん@お腹いっぱい。:04/01/26 00:16 ID:2Txh63Fx
hd73r4AI == 51C5uejm はつまらん言語論争に夢中だね。
270774ワット発電中さん:04/01/26 00:21 ID:hd73r4AI
>>269
どっちが良いか論争など無意味且つつまらんと言う典型だね。
271774ワット発電中さん:04/01/26 00:26 ID:2Txh63Fx
つまらんと言いながら何夢中になって書き込んでるんだよバカ
272774ワット発電中さん:04/01/26 00:30 ID://kCcg0B
第三者の目にはどっちも馬鹿に見えるが、VHDL叩きに必死だった奴の方が厨くさい。
別にどっちでも良いし新しいのがでてくりゃ勉強すりゃいいだろタコ。

そして一番ゆるせんのがこれだ
> お前のような下請けやって両方必要とする連中ばかりじゃないんだよ。

俺も下請けで両方やってるわけだが下請けを卑しむ奴は死んでくれ。マジで。
273774ワット発電中さん:04/01/26 00:32 ID:hd73r4AI
>>272
申し訳ない、もう止める。
274774ワット発電中さん:04/01/26 00:33 ID:cCImg6wW
でも、やるんだったらVerilogの方がいいんでしょ。

と、燃料を投下してみるテヌト。
275774ワット発電中さん:04/01/26 00:37 ID:2Txh63Fx
>俺も下請けで両方やってるわけだが

かわいそー。よっぽど自分の仕事にプライド持てないみたいだね。合掌。

>> お前のような下請けやって両方必要とする連中ばかりじゃないんだよ。
どこにも侮蔑する表現ないのにねー
276774ワット発電中さん:04/01/26 00:41 ID:cCImg6wW
>>275
燃料くべるなヴぉけ。
277774ワット発電中さん:04/01/26 00:45 ID:DTZ6OgCp
名無しが変わったの気付いたかな?>>ALL
278774ワット発電中さん:04/01/26 00:48 ID://kCcg0B
>>275
やっぱり厨はお前なわけだ。(w

で、どうみても人を見下した書き方だからむかつくんだよその書き方。
もろに下請けを馬鹿にしてる。 なんでわざわざ「下請けやって」等と
入れる?理解に苦しむクソ野郎だ。
279774ワット発電中さん:04/01/26 00:51 ID:hd73r4AI
そろそろ、終わりにしよう。

漏れが言っても説得力ないか。(w
280774ワット発電中さん:04/01/26 00:53 ID:2Txh63Fx
>>277
よっぽど自分の仕事にプライド持てない糞下請けだなぁ。仕事やってるだけでもありがたく思えよ。
バカはホントの事言われると怒るんだよバカ。人としてみてるとでも思ってるんか?あーん?
281774ワット発電中さん:04/01/26 00:55 ID:2Txh63Fx
ゴミン >>277 mOm >>278 の糞しも請けと一緒にしてしまった。ゆるちてね。
282774ワット発電中さん:04/01/26 00:56 ID:cCImg6wW
>>278
クスォアマな可能性もあるわけで・・・。
もしそうなると、燃料くべる毒牙をもった魔女か・・・。
モマイラは、こんなマジョタンにムチでピチピチつァれだいでつか?
283774ワット発電中さん:04/01/26 00:57 ID:hd73r4AI
>>278
むかついたら、2chブラウザで消すとレスを見ることもなくなるから
精神衛生上良いでしょう。
284774ワット発電中さん:04/01/26 01:02 ID://kCcg0B
>>281
恥ずかしくないか?ボケ。その言い様を見て誰もまともとはおもわん。

>>283
そうする。
285774ワット発電中さん:04/01/26 01:14 ID:2s/uigbe
216です。

VHDLで書ける物は、Verilogでも書けますよね? 
ってか、このロジックはVHDLでしか実現できないなんてことは ないですよね?
(あるいはその逆です)
また普及率でいうとVHDLとVerilogと どちらがどのくらいなのでしょうか?

実は、今日本屋で本見ていたら、
あきらかにVerilogの方が行数少なくて1画面内での見通しがいい。
/* */もあるっていうし、よく見ると記述がC言語に似たところがあるし。
みなさんの話では、普及率も記述量の少なさもVerilogの方が優れているとの
ことですし。またまた迷ってしまいました。
本当はCで書けるといいんですけどね。
286774ワット発電中さん:04/01/26 01:15 ID:2Txh63Fx
愉快だなぁ!でも、まぁそう怒るなよ。
少なくとも時間給からすると俺の給料よりたかーい害虫費払ってんだから、まともに仕事ちてちょーだいね。
これでも君らがへそ曲げないようにぴりぴり注意して接してるんだから。お願いちゅるね。
287774ワット発電中さん:04/01/26 01:20 ID:hd73r4AI
>>285
> VHDLでしか実現できないなんてことは

今となっては、あまり使わない記述で一部存在します。
ただし実用上無くても無問題なので気にせず、Verilogを
学ばれれば宜しいかと。
288774ワット発電中さん:04/01/26 01:36 ID:2s/uigbe
>>287
ありがとうございます。了解です。私は、組み込みマイコンでは不足する
部分にCPLDやFPGAを使いたいと思っています。ありがとうございました。
289248:04/01/26 01:46 ID:NkNIKu3E
「FPGAボードで学ぶ論理回路設計」でVHDLを勉強中の248です。

どうやら、VHDLは後発でシェアが少なく、記述量が増えるようですね。
移行は簡単との事ですので、基盤とそのチュートリアルが付いている
今の本を最後までやってからVerilogを試してみます。
回答してくれた皆様、ありがとうございました。
290774ワット発電中さん:04/01/26 02:28 ID:2s/uigbe
>>248=289
216です。私もVerilogにしようかと考えています。
いっしょにがんばりましょう。って、関係ないか.......
291774ワット発電中さん:04/01/26 09:54 ID:4Fd5FXEV
>>265
pascalはまだ現在進行形で開発システム売られています。ボーランドのやつね。

COBOLはPC用の市販システムは淘汰されましたが、事務系の開発ではいまだに現役です。

で、Algol-Pascal-ADA系を経てC/C++を勉強してましたが、VHDLもVerilogも一瞬で言語体系が理解できました。(^^)v
趣味でForthとかlispとかprologとかAPLとかFORTRANとかCOBOLとかBASICとかアセンブラ各種(80/68/86/PPC/41他)やりましたけど、
他の言語をやって初めて見える世界もあったりするわけさ。

まあ、死んだ言語は良い言語。バージョンアップで苦しまないし(w

292774ワット発電中さん:04/01/26 09:55 ID:4Fd5FXEV
>>291
あ、うちの会社の発注元は
VHDLもVerilogも信用してません。
「漢ならSchematicぢゃろうが!」
だそうですよ。
シミュレーション面倒なんで勘弁してくれ。>某社
293774ワット発電中さん:04/01/26 11:01 ID:cCImg6wW
>>292
そいつは頼もしい。
CISCマイクロプログラムのようなストアド設計の部分もSchemaのモジュールを組み合わせてやってしまうのかな。
まぁ、シミュレーションでの信頼性はSchemaだからループを作るような事をしたり、メタステーブルするようなタイミングマージンの無さがなければ、
シミュレーションにも信頼性が高いと思うけれど。
294774ワット発電中さん:04/01/26 20:38 ID:gMGgLTc+
>>293
信頼性の話じゃなくて、シミュレーションが遅いんじゃないの?
アクセラレータとか使えなさそうだし。
295774ワット発電中さん:04/01/27 04:08 ID:9gIPYHz3
シミュレーション遅いなんて、たいした秒数かかんないんだし。
確実性、実機との近似性が問題。ストアド(プログラム)上のシュミレーションは信用できず。
せめて合成後でなければ・・・。しかし、合成後のシミュレーションの結果が・・・。
メタステ、グリッヂの起こすタイミングマージンきついコードをはくこともあるでしょ。
スケマはゲートの数で見れば一目瞭然だし。
296774ワット発電中さん:04/01/27 18:08 ID:BLf8/3Of
>>295
数秒で終わるような短い記述の方が少ないので一寸驚いた。(w
297774ワット発電中さん:04/01/27 20:30 ID:Kf4jMxno
ゲート数見て分かっちゃうのも驚いた。
配線遅延は気にしないのか?
298774ワット発電中さん:04/01/27 20:50 ID:v4fjOYG1
シミュレーションが数秒で終わる程度の規模なら、場合によっては
スケマもいいかもね。回路全体が把握しやすいから。
299774ワット発電中さん:04/01/27 21:01 ID:BLf8/3Of
>>298
DHLを始めた頃簡単な回路だと、記述を初めて面倒くさくなって回路図に
戻ったこともありました。(w
今では、小さい回路でもHDLで書いてしまうなぁ。
300774ワット発電中さん:04/01/27 21:29 ID:9gIPYHz3
>>297
分かるよ。Schemaで組むと綺麗に並んでるからね。
1ゲートは大体同じくらいの遅延を持つものでできている。
>>299
制御回路は巨大化するならマイクロプログラムのようにストアドで書いた方が良いけれど、
高速部分だし、できるだけSchemaで書いた方が良いと思う。
レジスタとかはSchemaで組んだモジュールとして蓄積しておけば、組み合わせて使えるでしょ。MUX、GATEなんかSchemaで繋ぐべきだし(←こんなんで吐くソース変えられてたら像が分かりにくくてしょうがないw)

あと、Schemaで書く時の利点は、整然としてるから、リクロック・リタイミング(組み合わせ回路で一番遅いタイミングに出力が合い伝搬してゆくこと)が見つけやすい。外部ではタイミングズレを修正するのに使われたりするけど、
石内部だと良くない、てか致命的になることもある。完全に同期なら良いけれど。
301774ワット発電中さん:04/01/27 21:36 ID:9gIPYHz3
追加
>>297
>配線遅延は気にしないのか?
最も高速な命令デコードや制御回路をど真ん中に配置することで各部への分散長をそろえられる。
302774ワット発電中さん:04/01/27 21:40 ID:Kf4jMxno
スケマって回路図入力のことじゃないの?フロアプランや配線も
含んでるの? きれいに並んでるって、配線密度低すぎじゃないの?
楽しすぎだよ。

あと、ゲートが同じくらいの遅延って、どこのデバイスだ?
303774ワット発電中さん:04/01/27 21:46 ID:9gIPYHz3
>>302
スケマツールにも色々あるからね。EDA前に綺麗に並べられたりするよ。
MENTERのはよいと思ふ。
ゲートはNANDやNORのことだが・・・。
この組み合わせで、ANDだのORだのNOTだのmodulu作っといてステート表に沿ってビシバシ繋ぐでしょ?Schemaんときは。
304774ワット発電中さん:04/01/27 21:49 ID:BLf8/3Of
>>300
FPGAで50万ゲートを越える回路書いてるんで事実上無理>スケマ
305774ワット発電中さん:04/01/27 21:52 ID:9gIPYHz3
>>304
制御回路だけで50万ゲートじゃ無理かもしれないけど、
レジスタ、メモリが大半占めれば、単位モジュールをブロック塀感覚で積み上げるだけだよ。
306774ワット発電中さん:04/01/27 21:55 ID:9gIPYHz3
命令デコーダ、制御回路はストアドで書いて、レジスタ、メモリ、そのGATE、MUXはスケマで組めばなんてことな・・・(ry
307774ワット発電中さん:04/01/27 21:59 ID:Kf4jMxno
NANDとNORとORとANDじゃ遅延が異なると思うが…。UPとDOWNでも違う。
まあ配線遅延に比べればゴミだが。
ちょっとしたゲート数の違いより配線長や配線層の違いのほうが効くだろ。
距離が同じでも配線がすなおに引けるとは限らないし。
だからゲート数ではあまり分からんと思うのだが。
308774ワット発電中さん:04/01/27 22:03 ID:9gIPYHz3
>ゲート数ではあまり分からんと思うのだが。
うん。配線長の違いをゲート数でクッションできたりするしね、Schema。
ストアドコードが吐いた回路じゃ修正どころか解析するのも一苦労。
309774ワット発電中さん:04/01/27 22:13 ID:9gIPYHz3
でも、CやHDLがないとデカイシーケンスは組めない訳で。
使い分けでしょ。確立してる、カウンタ・レジスタ・メモリなんかはSchemaで組んで、シーケンスはストアドと・・・。
CODE・コントロールピンが多かったりするとなおさらストアドロジック要るし。
310774ワット発電中さん:04/01/27 23:06 ID:goc7cpNy
あれだな。ソフトで言うところのアセンブラとCの差みたいなもんだな。
311774ワット発電中さん:04/01/27 23:23 ID:9gIPYHz3
CADENCEのLSI、IC(含アナログ)、EDA統合設計ツールも良いね。
家電なんかで使われてるHYBRID-ICもこれ使ってる気がする。
フォトマスク製造装置用のMEBES等の多層マスクに非常に近い。
EDA見たことない方は見てみると良いよ。↓
http://www.cadence.co.jp/images2003/top2003-22.gif
このツールでコードから実際の石内部のPNP構造の絵までこのツールで流れてく。
絵の中の色の一つ一つがマスクの一枚一枚だよ。このファイルをMEBES変換して
で、フォトマスク製造装置にファイル入れて、ガラスマスクにレンズ超縮小描画する。
で、複数マスクを作って、露光装置(ステッパ)でマスクをフィルターにして、シリコン上に露光して、レジスト・エッチングをする。
で、複数マスクでこれを繰り返し、何層も半導体層を築く。で晴れてチップの焼きあがりーとなります。
312774ワット発電中さん:04/01/27 23:27 ID:9gIPYHz3
↑ごめん。imageリンクしてどうすんだYO。ばか俺。
こちらで↓
http://www.cadence.co.jp/product/pro1.html
313774ワット発電中さん:04/01/27 23:29 ID:v4fjOYG1
いっそのこと、昔みたいにトランジスタレベルで
組んでいけば速度も消費電力も最適化できるかもね。

時間はいくらあっても足りなくなりそうだけど。
314774ワット発電中さん:04/01/28 00:30 ID:nFTP+HKJ
>>305
いや演算回路を入れまくりだから実ゲートの部分でも、ゲート換算で
30万を越えることはありまくり。
315774ワット発電中さん:04/01/28 00:45 ID:IVDEkQqw
>>311
訂正。
セルをPNPと書いたのは良くない。PNPは石内部の抵抗構成で使われているけど。
MOSは
 P ゲート  P
 ̄□ ̄ ̄□ ̄ ̄□ ̄
N
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
N層上に載せたP層だからこうなる。
P層の作り方はレジスト剤と付して、マスクして露光、観光してない部分をエッチング、穴ポコにイオンビームドーピングまたはガス雰囲気で浸透拡散でよかったよね。
で、レジスト(レジスト剤洗浄)と。
>>311のリンクのカスタム石の文章ででてくるガードリングは、
_ _
 □
 .↑ココ
の角が電界が強くて、特にTrの場合、なだれ増倍効果(アバランシェ効果)により、絶縁破壊を起こさないように丸くする。
316774ワット発電中さん:04/01/28 00:47 ID:nFTP+HKJ
>>315
スマン、顔文字に見えて笑ってしまった。(w
317315:04/01/28 01:01 ID:IVDEkQqw
>>315
ゴメソゴメソ
間違いと書いておきながらまた間違いた。
MOSはこう
 N  ゲート   N
 ̄□ ̄ ̄□ ̄ ̄□ ̄

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
P層の上にN層が乗ってる。
318311=315=317:04/01/28 13:47 ID:IVDEkQqw
スマソ、大訂正!(w>>311,>>315,>>317
P-MOSは>>315でN-MOSは>>317
>315,317のはデプレッションタイプ。エンハンスメントは
N-MOSなら
 P ゲート P
 ̄□ ̄□ ̄□ ̄
ドリフト抵抗層
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
  Nサブストレート層(ベース)
となってる。
あと、>>315のガードリングのもおかしい。
>絶縁破壊を起こさないように丸くする。
ガードリングは□の縁に堤防のように丸く厚みをつけたウェル(□のような部分をいう)を形成する。
そのようにしたウェルはこんな感じ
 ̄| ̄ ̄| ̄
  .U ̄U
これで、脇の面積が大きいことで絶縁破壊可能性を減じる。作り方はウェルの縁どりだけの深いウェル作るマスクを作る。
>>312リンクでは↓となってる。
>ガードリング効果の計算
あと、端子のPIN形状もピングリッド指定というので決められる模様。すなはち
 . | こういうのと |。_。_
 ̄| ゚̄ ̄| ̄      ̄|  |
  ̄ ̄ ̄         ̄ ̄
のようにウェルの上部にRING状に設けたり。
ラッチアップは
 N N   P P
 ̄□ ̄□ ̄| ̄□ ̄□ ̄| ̄
        |____N|
Pサブストレート層_______
となってるところで左側N-MOSと右側P-MOSは回路として分断されてるが、
帯電により、デカイNウェルとPサブストレートが順方向バイアスされて、PNPNの寄生サイリスタができて短絡する。
これを防ぐ為に、デカイNウェルの周りを丸く厚くしてガードリングして、帯電を分散させる。
>>312リンクのカスタム石の文章でこう表現されてる。
ラッチアップを考慮しながらウエル領域のマージやガードリングの作成を自動で行うことができます。(マージは分からないけど、フローティングウェルではないと思ふ)
あと、
>サブストレート・カップリングによるノイズは、ミックスシグナル設計で引き起こされる予期しない誤動作や歩留まりの低下などの主な原因となることがあります。
>キーとなるトランジスタのサブストレート・カップリングの影響を正確にモデリング
のサブストレートカップリングはラッチアップのような寄生Tr。↓参考
http://www.rohm.com/products/databook/memo_std/standerd/ba101b-j.html
319774ワット発電中さん:04/01/28 18:24 ID:QV0I6lYk
デザインコンパイラがコンスタントアダーを全然コンパクトにしないんだけど、
どうにかならないかな。
実はDCって時代遅れ?
320774ワット発電中さん:04/01/29 18:13 ID:bIfAKZyA
vhdlとverilogをgoogleで検索をかけました。
vhdlのほうがヒット数が多いです。
vhdlは嫌いです。
321774ワット発電中さん:04/01/29 18:39 ID:9XB1bLpC
なんでVHDLが嫌いなの?
322代弁:04/01/29 18:44 ID:O1IHPjK6
マカーだから(w
323774ワット発電中さん:04/01/29 18:55 ID:s/36dqjU
>>321
一般的には記述量の多さが嫌われる理由の様です。
324774ワット発電中さん:04/01/29 19:10 ID:bIfAKZyA
記述量が多いので、つらいのは、コーディングする人だけ、
仕様として読む場合、記述が多いほうが助かる場合が多い。
コンピュータ言語はただでさえ、記号が多い。
 記述量が少ないほうがよいなら、みんな数学が好きなはずだ。
 
325774ワット発電中さん:04/01/29 19:16 ID:s/36dqjU
>>324
では嫌いな理由は?

漏れは好きだが。
326774ワット発電中さん:04/01/29 19:23 ID:bIfAKZyA
学校の先生がベリロガーだったからです。
verilog XL しか使えないからです。
modelsim 使い方むずい
327774ワット発電中さん:04/01/29 19:30 ID:s/36dqjU
>>326
おいおい。
ASICを起こすだんになってツールのことを考えると、VHDLは確かに
不利だったけどね。

最近FPGAしか使ってないから漏れ的にはどっちでも良い感じですが。
何れにしろ、VHDLは完全に斜陽、VerilogはC迄のつなぎなのだろうか?
FPGAのツールが対応したらこっちも対応するんだろうけどね。(w
328774ワット発電中さん:04/01/29 19:32 ID:s/36dqjU
連投ごめん
あと漏れの主観だけど、レジスター、ワイヤーって概念より信号の変化を
イベントとして駆動するVHDLの方が漏れの性に合ってた。
329774ワット発電中さん:04/01/29 20:07 ID:O1IHPjK6
Schema好きな俺も制御回路はそうだと思う。(ストアドで組むし・・・)
シーケンシャル(ソフトで言うとインタプリテッド)な感じじゃなく、イベントドライブンな感じ。
Schema好きでもブール計算はいや。
330774ワット発電中さん:04/01/29 20:21 ID:bIfAKZyA
VHDLはタイプ変換

A <= to_integer(unsigned(signalA)) 

が、めんどうくさい。堅苦しい。
331774ワット発電中さん:04/01/29 21:31 ID:DYciJ0y3
オマイラ タイプ数が多いとか言ってないで まともなエディター使え
332774ワット発電中さん:04/01/29 21:47 ID:fSDbFgLr
タイプ数云々より、コンパイラオプションすら満足なものないじゃん。それ用のスクリプトでも組まなきゃやってられんだろ。
333774ワット発電中さん:04/01/29 22:24 ID:bIfAKZyA
modelsimのサイ(たぶん白サイ)はかわいい
334774ワット発電中さん:04/01/29 22:46 ID:ZCPFednN
>>333
なんでサイなんだろう?
335774ワット発電中さん:04/01/29 23:33 ID:nrlbbT9n
やっぱりCだな
336774ワット発電中さん:04/01/29 23:56 ID:fSDbFgLr
昔のバージョンはもっとfunnyだったんだが、だんだんリアルなサイに変貌してきた。
337774ワット発電中さん:04/01/30 13:25 ID:e68KHtCq
サイはメングラがスポンサーシップしてる黒サイらすぃ
http://www.mentorg.co.jp/N-V/99_4/com.html
338774ワット発電中さん:04/01/30 13:30 ID:amqIoQ4g
VHDLとVerilogのどちらを勉強しようか、いろんな本を買ってみたら
いい本に出会いました。
デザインウェーブBooks HDLによる高性能デジタル回路設計
対比表まであって、みなさんの仰ることが、よくわかりました。
みなさんありがとうございました。
339774ワット発電中さん:04/01/30 13:52 ID:e68KHtCq
>>338
どっちのHDLショー
関口サイド Verilog
三宅サイド VHDL

城島サイド ABEL(ここだけ愛のヱプロン3ぽく)


さあ。Dotch!?
340774ワット発電中さん:04/01/30 14:28 ID:DWmBkehu
PALASMもイレテクレヨー
341774ワット発電中さん:04/01/30 14:51 ID:FrnjidOD
AHDLも
342774ワット発電中さん:04/01/30 14:57 ID:FrnjidOD
>>335
Verilogなんかは、Cの予約語と同じにしてしまってもいいのがあるね。
begin end とか `if とか。
343774ワット発電中さん:04/01/30 15:13 ID:e68KHtCq
>>342
begin を{でエイリアスできないかな
344774ワット発電中さん:04/01/30 15:44 ID:A2I1Rs8b
漏れ、pascal使いなんでbegin,endは全然苦になりません。
345774ワット発電中さん:04/01/30 17:08 ID:e68KHtCq
>>344
verilogはpascalで、VHDLはAdaか?
346774ワット発電中さん:04/01/30 17:50 ID:FrnjidOD
Pascal のような Cのような・・・構成としてはPascalに近いのかな?
347774ワット発電中さん:04/01/30 22:03 ID:UUePzDRu
>>343
連接演算子とかぶるからダメ。
348774ワット発電中さん:04/02/03 02:01 ID:0SMMhEh3
今度、1日研修に参加して、Verilog HDLを勉強することになりました。
大阪なので、ちょっと遠くてつらいが。たこ焼き食べて頑張ります。
349774ワット発電中さん:04/02/03 15:23 ID:+BtltF8w
OBPか?
350774ワット発電中さん:04/02/03 16:25 ID:ooGO+gvQ
お前らHDLをはじめる前に小林本を読破しとけよ
351774ワット発電中さん:04/02/03 16:28 ID:qUxrSfY4
最近すっかりC化してしまって、HDLに戻れなくなってる
自分が怖い
352774ワット発電中さん:04/02/03 22:56 ID:+BtltF8w
読破するような高尚な本じゃないじゃん。
353774ワット発電中さん:04/02/04 13:47 ID:4AZb+HZo
今後の業界の流れとしては、System-C と System-Verilog の役割分担が進む。
VHDLとVerilog-HDLの言語争いはもう終わり。設計対象のRTLを記述するのは、
System-Verilog 3.1 に統合される。
今までの Verilog-HDLの不満点を全て解消してくれた感じだ。
その修正・追加内容は非常に合理的で納得がいくものばかりだ。
アサーション記述も強化され Verification言語としての機能も大幅強化される。
これに対してテストベンチを記述するのが、System-C になる。
両者の役割は、明確に分かれていく。
354774ワット発電中さん:04/02/04 14:20 ID:3NSEo1bv
お利口さんの優等生的な回答ならそうなるんだろうな。
間違ってはいないと思うけど、面白みがない。
355(´∀`∩) ◆R4000nX4Mk :04/02/04 14:51 ID:mkzAF1/L
 これで開発お願いねって言われると選択の余地がないのが
自営の辛いところ。(w
 Cには興味有りだけど、仕事で使うのはもう少し先かな。
356774ワット発電中さん:04/02/04 16:44 ID:PHH1IWkd
Cは吐く回路の実機とのギャップ、信憑性が怖・・・。
例えばアセンブラ埋め込むと省略されたりするだろ、それと同じことが・・・。
シミュレーションも悩ませてくれそうだ・・・、しかも実機との差が・・・。
ヤパー、スケマが安心して使える・・・。
357774ワット発電中さん:04/02/04 18:23 ID:3NSEo1bv
別に無理して使うようなものでもないからいいんでないの?
やりやすいものでやれば。
358774ワット発電中さん:04/02/05 00:19 ID:znA1geIC
仕事でやってりゃ、無理して使うもんだよ。
上もしくは客から、これ使えって言われれば、
嫌だとはいえない。
359774ワット発電中さん:04/02/06 00:13 ID:9PLWt4NM
>>353
e言語とかVeraはどーなっちゃうの?
Verificationは言語設計よりも実装の方が大事っぽい。
360774ワット発電中さん:04/02/06 19:56 ID:4H6c55Z9
system verilogとか、C言語設計とか、
畢竟、hdl toolが業界に行き渡ったため、
次の食いブチを、模索するEDAベンダのバズワードだとおもう。
自分はABELでもvlogでも、もうおなかいっぱいです。
361774ワット発電中さん:04/02/07 15:11 ID:8lr6onaa
漏れはC言語系は楽だから好きだ。
362774ワット発電中さん:04/02/13 00:57 ID:Xj2iRVoV
先月 Verilogの勉強会に行ったんですが、
casexの文字がcarsexに読めてしまい、笑いをこらえるのに必死。
このときり講師、偶然女の人。まじめ顔で発音してたけどね。
類義語に「おこめ券」とかあります。

さて、VerilogはCに似ていて いい感じなんですが、
Cのプリプロ命令の #define みたいに、単純に置き換えのできる表記って
あるのでしょうか? 例えば #define { begin #define } end とか
できるとソースが見やすくなると思うんです。
363774ワット発電中さん:04/02/13 07:50 ID:2WVXTQsf
>>362
ちったあ自分で調べろ
まんまの'defineがあるだろ
それから、例にあげた置き換えは
ガイシュツだけど、連接演算子とかぶるよ。
364(´∀`∩) ◆R4000nX4Mk :04/02/13 07:54 ID:/bGxHvyN
 carsex、おこめ券では学習出来たと思えませぬよ。(w
365774ワット発電中さん:04/02/13 09:31 ID:3tfo6YwD
>>363
自己レス`define(バッククォート)だった。
スマソ
366774ワット発電中さん:04/02/13 14:47 ID:9XWBb3rL
>>363
ありがとうございました。知らなかったです。ありがとうございました。

ちなみに、C言語には「C言語辞典」みたいな、コマンド一覧の本が
あるんですが、Verilogにはそんな本はありますですか?
いい本があれば教えて下さい。

また、私のパソコンでは、以下の内容で 完了までに1分ほどかかるんですが、
これは「遅い」でしょうか? 私にはとても遅く感じるので、新しい
パソコンを買い直そうと思っています。みなさんは、どのくらいの
スペックのパソコンをお使いなのでしょうか。

 環境   IBM ThinkPad セレロン600MHz RAM 256MB Win2000SP4
 実行内容 Xilinx ISE6.1.03 Verilogで書いた'3 to 8'デコーダーを
      論理合成、配置配線、その後 jedecFile生成まで 約1分!!!

どうでしょうか?
367774ワット発電中さん:04/02/13 15:42 ID:qwoXhca+
>>366
実際にもう少し大きい規模の回路を組むと死ぬほど遅くなります。P4-2Gで、やっとというレベル。
368774ワット発電中さん:04/02/13 16:11 ID:9XWBb3rL
366です。
やっぱりP2-2Gくらい必要ですか。
今のままで行くと、256セルくらいの容量になると、仕事になりませんね。
近所のコンビニ行って帰ってくると終わってる....? たまんない。

やっぱり新しいパソコン買います。
369774ワット発電中さん:04/02/13 23:29 ID:9XWBb3rL
>>366です
その後、今日知人の家のパソコン(P3-1.2G)で、同じことをやったら、
びっくりするような結果が出ましたので、ご参考までに.....
4MHzClockを24bitのDFFを使って0.1secを切り出し、
それを4bitカウンタ4個でカウント、7SEGのLEDに9999までの時計みたい
な表示するものをVerilogで作成。同様に 論理合成、配置配線、jedec生成まで
  P3-1.2G......25秒
  私のセレロン700..............なんと3分11秒 あちゃちゃー。信じれん。

370774ワット発電中さん:04/02/13 23:35 ID:AdwDJIm7
RAM容量の影響も大きいかも。
371774ワット発電中さん:04/02/13 23:45 ID:frks6cEU
新人レイプマン誕生!スーフリとの関連は?!
電通のレイプマン
サトウ食品のバカ息子を追放せよ
広告板は今お祭り騒ぎ!!
http://society.2ch.net/test/read.cgi/koukoku/1076247919/l50
※※※※※※※※※※※※※※※※※※※※※※※※※※※※
電通社員と受付嬢が会議室でバックでやってるところを会議室の監視カメラが
しっかりと記録していて、受付嬢だけが首になった。社員はというと・・・、結局
なんの影響もないし。
これってどうなの?
顔がキモイので学生時代モテなかったらしい
それで親のコネで電通入社
モテなかった反動からか、電通内部でやりたい放題
電通社員2年目で和田さん並の暴れん坊に昇格。
この底辺生物に社会的制裁を!
372774ワット発電中さん:04/02/13 23:46 ID:9XWBb3rL
それが実は、同じ256MBなんですよ。しょぼ。

みなさん、どのくらいの時間がふつーなんでしょう。
どこぞのCコンパイラみたいに、コンパイル2-3秒で終わりみたいな
感じにはいかないですよね? たぶん。
373774ワット発電中さん:04/02/14 12:15 ID:M4xsN6nC
>>366
本じゃないし最新版のverilogでもないけど、
ここのサイトは文法の説明がまとまってて、
リファレンスに便利。
http://www.sutherland-hdl.com/on-line_ref_guide/vlog_ref_top.html
374774ワット発電中さん:04/02/14 13:47 ID:C6VNaLTU
数分で文句いってるのか…
375774ワット発電中さん:04/02/14 15:40 ID:o06mArXO
はい、1分は なかなか待てないんです。(気が短い?)
374さんは、何分ぐらい待ってみえるのでしょうか。
10分以上? てことはないですよね。
376374:04/02/14 15:51 ID:C6VNaLTU
この前やったときは論理合成より後で30分から1時間くらいでした。
PCの2GHz位のやつです。6000LE程度なのでたいした回路じゃありません。

FPGAはこんな簡単にできるのか!と思いましたが…
しかし、こんなので育ったら人間が腐ってしまいますね。
(実際困ってるらしい)

でも便利で早いほうがいいに決まってる。
377774ワット発電中さん:04/02/14 16:41 ID:GVw2URs/
えーーっ、1時間ですか? うわぉ、信じられません。
いつもそんなに時間がかかるとなると、わたしのように
ちょっと変えて、はい焼き込んで、評価 というやり方だと
全然ダメですね。シミュレーターできっちりやらないと
いかんのでしょうね。 でもModelSim高いし。
378774ワット発電中さん:04/02/14 16:59 ID:C6VNaLTU
そういうやり方だとFPGAしか作れんだろ。
FPGAにしたって(あるいはソフトでも)効率悪すぎ。
379774ワット発電中さん:04/02/14 17:37 ID:hYEXQ5Li
>>377

そのやり方は大規模ロジック設計に向いていない。
シムレーション(modelsimより安価なのがある)で検証、
FPGAでも検証がスジ。
380(´∀`∩) ◆R4000nX4Mk :04/02/14 19:01 ID:CYer15p/
 最低数百万から始まるシミュレータはなかなか手が出ないわね。>Modelsim
 色んな意味で便利だから欲しいところだけど。

 そう言えば、二万数千LEクラスの回路になるとマシンパワーがあってもフィッティングに
一時間前後かかった様な気がします。
381774ワット発電中さん:04/02/14 21:57 ID:GVw2URs/
377です。
LEって何でしょうか? Logic....Eは....
ModelSimより安いシミュレータって、教えて下さい。
ISE6から起動できるものがいいんですが。

パソコン決めました。
IBMの ThinkCentre S50, HT-P4 3GHz 512MB 7200rpm です。
どのくらい速くなるか、楽しみです。
382774ワット発電中さん:04/02/14 23:16 ID:C6VNaLTU
LE = Logic Element
ALTERA用語みたい。XILINXだとSlice相当かな?
383774ワット発電中さん:04/02/14 23:59 ID:/aT4cYTI
LE = LUT + DFF
LAB = LE x n
MegaLAB = LAB x m
384774ワット発電中さん:04/02/15 11:34 ID:DDM8xEmx
>>380

modelsim のSEは数百万だけど、PEは数十万円じゃないかな。
メンターが対応するようになって、風通しがよくなったな。
前は・・・
385774ワット発電中さん:04/02/15 19:13 ID:vSNKU3E1
Xilinxだと、LCAっていうのがあった・・よね?
死語?
386774ワット発電中さん:04/02/15 19:14 ID:vSNKU3E1
あれ?CLBだっけ???
うーん・・古すぎる記憶・・・
387774ワット発電中さん:04/02/16 10:52 ID:PGDduGnS
FPGAの内部構造をLCA,LEの事をCLBといったような。
388774ワット発電中さん:04/02/16 23:42 ID:/YEVY2Cb
SystemCってホントメジャーになるのかな?
プログラム言語ではC++があまりに難解で生産性があがらずWindowsの
メジャープログラム言語の座から滑り落ちてる。ハード屋が
ストラウストラップの電話帳読んでる暇あるか?
389(´∀`∩) ◆R4000nX4Mk :04/02/17 00:12 ID:CtN6aS5i
>>385
 FPGAと言う名前に変わってるからね。
 ロジック セル アレイだっけかな。 もはや古語ってか死語ですね。
390774ワット発電中さん:04/02/17 20:25 ID:hBxmhgku
>>388

FPGAユーザーとコストを無視出来るセットメーカーのASICはあると思うよ。
391774ワット発電中さん:04/02/17 22:17 ID:3eqPpgJm
今日、XilinxのISEの研修に行って来ました。
講師の人に質問攻めにしたのは、この私です。
すごく勉強になって、行ってよかった。講師の人ありがとう。
392774ワット発電中さん:04/02/17 23:18 ID:hBxmhgku
VHDLかverilogかの正解は無いと思うんだけど、僕の場合はverilogが優勢かな?
verilogは1988年から使っていて、ここ6-7年はVHDLなんだけど。

理由は3つ:
・シムレーションがラク
・行数が少ない
・デザインコンパイラがVHDL-93をきちんとサポートしていない

ってことかな。後者は痛かった、最後に変更をいれなきゃならんかったし、
シノプシスはVHDL-93はサポートしてますっていっているしなぁ・・・

まぁ、人それぞれ。
393774ワット発電中さん:04/02/18 10:56 ID:a49KKV4/
>>388
昔Cとアセンブラの対比で言われたのと同じでしょ。
そのうち今のソフトと同じように下手なHDL'erが書くのよりも
ずっと良くなるかも。

ただ、Cベースってツボにはまったときの生産性の高さは
驚くほどだから、デバイス屋さんでも、Time is Moneyな
世界で先行者利益を稼ぐようなものを作る時には味方に
なってくれるかもしれない。
394774ワット発電中さん:04/02/18 14:09 ID:deO4eIJj
ただ、Cベースでしか設計できない人の生産性の低さは
驚くほどだから、デジタル土方さんでも Time is No Moneyな
デスマーチで人件費おさえてものを作る時には人柱に
なってくれるかもしれない。
395774ワット発電中さん:04/02/18 14:57 ID:EcImi+KN
まあ、ファームウェアみたいに、CはCとしてつかって、
必要ならVHDLなりVerilogをアセンブラ的に使うのが良いのではないかなぁ(可能かどうかはしらん)。

個人的には、SystemCのようなシステム全体をCで抽象化する高尚なヤツじゃなくて、単にロジックをFPGAに
書けるレベルに落としこんでくれるツールが欲しいな。
396(´∀`∩) ◆R4000nX4Mk :04/02/18 17:23 ID:qtr3vArX
 現状、ソフトの分野でもHALはアセンブラで書くことを考えるとハードの分野でも
どうしても回路を変えたくないモジュールは、ガチガチに記述したHDLで、と言った
感じで住み分けることになるんでしょうね。
 シミュレータ、合成ツール共に他言語混載が前提になりますが。
397774ワット発電中さん:04/02/18 21:50 ID:4DZl001z
結局のところ、優秀な設計者で生きていくには、Cベース、RTL,、回路図
の3者の利点をうまく行かして、高性能なLSIを作ることが出来るか?
ってことになるんだろうね。

システムの要求に比べてシリコンの性能が良すぎれば、Cベースの無駄
だらけのLSIでも製品にはなれるね。

先進のマイクロプロセッサの技術はその3者にCADを駆使したような
もんだから、シリコンをしゃぶり尽くしている観がある。
398774ワット発電中さん:04/02/18 22:48 ID:KVS7pLiW
>>394
Cとアセンブラの半紙をHDLに持ち込むつもりはないよ。
Cベースって一言で言うけど、CをベースにするかC++をベースにするかで全く様相が違うってこと。
習得も圧倒的にC++が難しいと思うよ。
ピュアCは随分成功した、C++はさらなる生産性の向上を期待されてたけど、習熟して使いこなす
(ベターCじゃなくて)には相当のイニシャルコストが必要ってこと。結局生産性が上がらなかっ
たってのがC++の実績だったように思う。
ソフトの世界で、もひとつうまくいかなかったC++ベースのSystemCをこれからHDLに取り入れて
生産性向上にどれぐらいつながるのかな?ってこと。
399398:04/02/18 22:53 ID:KVS7pLiW
半紙

だってよ



に訂正して読んでね。
400774ワット発電中さん:04/02/19 00:04 ID:oREbtSes
C++は言語仕様が肥大化したからね。
合成が前提ならCの範囲で十分いいと思うし、それでも
漏れにとってはすごく便利だった。

欲を言えばクラスを使ったカプセル化程度までは
サポートしてくれるといいかな?っていう程度かな?
401(´∀`∩) ◆R4000nX4Mk :04/02/19 00:20 ID:FcVF8xoj
 どんなハードが合成されるんだろう?想像もつかない。(w
402774ワット発電中さん:04/02/19 08:44 ID:oREbtSes
>>401
たぶん、各行を演算する部分をこしらえて、
Go-Doneでつないで動いてるって感じでしょ?

Cでよければ
http://science2.2ch.net/test/read.cgi/denki/1072282085/14-
ここの太古版が使えるみたいだから試してみては?

そいえば、XilinxもForgeとかいってJavaベースのを出していたよね。

403774ワット発電中さん:04/02/19 09:12 ID:pMo3wGZU
>>402
これは面白そうですね。
スレ立てます?・・・寂れそうだけど(w
404(´∀`∩) ◆R4000nX4Mk :04/02/19 09:18 ID:FcVF8xoj
>>402
 サンクス。 暇を見てやっています。
 どっちにしろ、クォータスがCに対応したら嫌でもやることになるんでしょうが。

>>403
 てか、寂れてはいるけどそのURLって電気電子板のCスレだよ。(W
405774ワット発電中さん:04/02/19 09:23 ID:pMo3wGZU
>>404
いや、分っているんですけど(w

スレタイがSystemC,SpecCになっているので。
HandelCの書き込みをしている人も遠慮がちに書いているみたいなので、
どうかなぁ、と思った次第。
406774ワット発電中さん:04/02/19 14:21 ID:WF/i8e5t
CとHDLは抽象レベルは同じではないでしょうか?
Cでもゲートレベル記述は出来るし、
HDLでも、動作記述(アルゴリズム記述)はできます。
ただ、アルゴリズムを書く人に、C使いが多いのでは?
HDLでRTLを書くのは、単に合成のためでは??
407774ワット発電中さん:04/02/19 14:48 ID:DsdYN/Gp
>>406

まぁ、人間ってそんなに器用じゃないからさ、全部をプロとして
扱える人なんて極々少数だよ。企業としてはさ、全体として
生産性があがればいいから、それぞれに分化させちゃうのさ。

408774ワット発電中さん:04/02/19 22:06 ID:oREbtSes
抽象レベルっていうのが何を指すのか良くわからんけど、
書いてみて楽ならそれでいいんでないの?
409774ワット発電中さん:04/02/20 12:14 ID:DyjFE2Wq
Verilogスレはこっちに来てたのか。

Xilinx ISEでSynthesizeするときにでる警告で
Input <clk> is never used.
ってどういう意味なんでつか?
module hoge(clk)
  input clk;
  always@(posedge clk)
こんな感じで入力信号の値を一切参照しない時に出てくるんだけど。
Hierarchical block <module> is unconnected in block <topmodule>.
って警告も意味がよくわかんないし。
ひょっとしてXilinx使うときの暗黙のルールみたいなのあります?
410774ワット発電中さん:04/02/20 12:57 ID:u+YEoqVL
>>409

ザイリンクスを使ったことはないけど、このサンプルではclkを内部で
回路を構成するようには使っていないということでしょ?

だったら英語のメッセージ通りで:

・入力<clk>は使われていませんよ!

ってことでしょ。

もうひとつは:

・アイアラキ上のブロック<module>は上のブロックでは
接続されていませんよ!

ってことじゃんかな。

辞書引いた?

っていうか、このくらいは辞書無しでも理解できないといかんよ。
411774ワット発電中さん:04/02/20 13:43 ID:DyjFE2Wq
>>410
あー、いや、警告の意味はわかるんだけど、
入力<clk>使ってるのに、モジュール繋がってるのに
警告がでるんでつ。
ModelSimでのシミュレートは問題なかったんで、
Xilinx特有の現象なのかなぁと。
412410:04/02/20 14:05 ID:u+YEoqVL
>>411

あ、そんなんか・・・スマソ。だったら、回路を構成しないということ
以外に考えられないなぁ・・・合成結果を見ました?
413774ワット発電中さん:04/02/20 15:28 ID:XTpcHNZG
最適化する段階で
「なんだよこのソース、クロックなんか意味ねーじゃんよ!
寝ぼけたもん書いてんじゃねーよ、ヴォケ!取っ払ってやったから
有難いと思え!」
ってことになったんでは?
一箇所しくじると、芋づる式に不要なロジック(絶対動かないところとか)
が出てきて、最終的にごっそり意味なしになったりするから。
ここ以外の場所のメッセージを先にチェックしてみては?
414774ワット発電中さん:04/02/20 15:58 ID:jW3J3GCg
module hogehoge (clk,hoge,foo,bar)
input  clk;
input hoge;
output foo;
output bar;
 always@(posedge clk)
begin
  foo <= hoge;
bar <= ~hoge + 1;
end
endmodule

って設定しても、合成する時点で
xxxx never used
ってわらわらとwarningが出ますね。

415774ワット発電中さん:04/02/20 16:42 ID:XTpcHNZG
最適化されて、hogeが変化しないなと思われて、
それならfooもbarも固定値でいいじゃん・・ってことになってしまったとか?
416410:04/02/20 17:10 ID:u+YEoqVL
>>415

そんな気がする・・・入力信号やclkが上のレベルで固定値に
なっているとか、出力が使われていない・・とかではないかな・・・
417774ワット発電中さん:04/02/20 21:20 ID:c1nlfKK8
ああっ、もうダメッ!
ぁあ…VHDL書くっ、Verilog書きますうっ!!
カタッ、カタッッ、カタッカタッカタッッッッーーーーーッッッ!!!
いやああああっっっ!!手伝って、お願いぃぃぃっっっ!!!
カタッ!カタタタタターーーーーーッッッ…カタッ!
カタタタタタタタタタッッッッ!!!!
んはああーーーーっっっ!!!アッ、アルッ、アルテラァァァッッ!!!
ムリムリイッッ!!論理合成ッッ、論理合成ィィッッ!!!
おおっ!エラーッ!!エッ、エラッ、エラーーーッッ!!!デバッガ見てぇっ ああっ、もう
ダメッ!!はうあああーーーーっっっ!!!
カタッ!カタッ!カタカタカタッッッッ!!!!
いやぁぁっ!あたし、こんなにいっぱいソース書いてるゥゥッ!
かたかたかたっっっっ!!!!修正ッッ!!!
ぁあ…同期っ、同期取れないっ!!
カタッ、カタッ、カタカタカタッーーーーーッッッ!!!
いやああああっっっ!!同期取れてっ、お願いぃぃぃっっっ!!!
カタッ!カタカタカターーーーーーッッッ…カタッ!
カタタタタアアアアアアッッッッ!!!!
んはああーーーーっっっ!!!ザッ、ザイッ、ザイリンクスッッ!
418774ワット発電中さん:04/02/20 22:23 ID:C9XX2j9o

          ∧_∧
        ⊂(´・ω・`)つ-、 >>417 ツマラン
      ///   /_/:::::/   
      |:::|/⊂ヽノ|:::| /」
    / ̄ ̄旦 ̄ ̄ ̄/|
  /______/ | |
  | |-----------| |

419774ワット発電中さん:04/02/20 22:42 ID:u56OnQQZ
まぁ〜
||ムリムリイッッ!!論理合成ッッ、論理合成ィィッッ!!!
このあたりっは、ちがう意味でわかる気がする…
420774ワット発電中さん:04/02/20 23:20 ID:r6QrXof0
VHDLは読めるんだけど、未だに回路図で書いてしまう俺。
やっぱHDLの方が良いんすかね?
421(´∀`∩) ◆R4000nX4Mk :04/02/21 00:16 ID:yMug5Hly
>>420
 生産性はHDLの方が上でしょう。

 新たに回路設計をする時に一気に変えるのが宜しいかと。
 面倒そうに見えても慣れると楽。
422774ワット発電中さん:04/02/21 00:28 ID:TyXZlYVw
>>421

タイミングが複雑なロジックは回路図で書きたい衝動に駆られる。
たぶん、回路図のほうがいいんはじゃないかな、このケース。

RTLになって状態機械を多用するようになりました。回路図時代でも
使っていましたが、いあまはステートダイアグラムを書いてステート
マシンとハードロジック、データパスの組み合わせになっていますだ。
423(´∀`∩) ◆R4000nX4Mk :04/02/21 00:40 ID:yMug5Hly
>>422
 漏れもそう思っていたけど、馬鹿みたいなステート数のワンホットを
さらりと書けてしまう現実を知ってしまって馬鹿らしくなってしまいました。
 今でも回路で書けと言われれば問題なく出来ますが、仕様変更の事を
考えるともはや回路には戻れない感じかしら。
424774ワット発電中さん:04/02/21 02:36 ID:NdNkdqQt
回路図で書こうとしましたが、FD3RCE(←テキトー)みたいな型番と
中身の機能が全然覚えられずに やめました。
また、私の価値観として「回路図というにはひどすぎる図面」しか
できないので、精神衛生上よくありません。

そんなわけでマイコンのほうに逃げていましたが、
uSecオーダーの制御になると、マイコンではできないため
HDLをやることにしました。
425422:04/02/21 11:13 ID:ptb1VJF6
回路図というのはそもそも実体の無いもので、実体としては
レイアウト図しかないんだよね。そんでRTLを使っても良い回路
というのは、状態遷移図やタイミングチャート、FFや組み合わせ
回路や信号線をあらかじめ書いた図があり、しっかりと練ってあ
るものが質も高いよね。

RTLをそのままエディタで書いちゃう奴でろくな設計者をみたこと
ないな。

再利用の出来ない設計データなぞ、ゴミみたいなもんだ。
426774ワット発電中さん:04/02/21 12:50 ID:0JEnylR8
>RTLをそのままエディタで書いちゃう奴
じゃ、お前はどうやってRTLを書いてるんだよ。
427(´∀`∩) ◆R4000nX4Mk :04/02/21 13:04 ID:yMug5Hly
 ・・・えっとRTLって抽象度の低い回路に近い記述だと理解していたのですが。
428774ワット発電中さん:04/02/21 13:43 ID:IFzR+Y5p
モジュール作って、検証したものをつなぎあわせってことだろう。
自由なHDLだとどう動作するか分からないってことじゃないの。
ステートダイアグラムだって、幾つかのパターンに分けられるわけだし。
429422:04/02/21 18:02 ID:BsDmKuPR
>>426-428

そうですね、428さんが言っている通りです。仕様を見て、すぐにRTLを
書いてシムレーションで検証してRTLを修正するという輩が多いのですが
(昔はこれはEWSの回路図エディタだったりする)、再利用が出来るような
データベースにはなりませんね・・・僕の経験からすると。

>>425 で書いたのはブロック図、状態遷移図、タイミング図をきちんと
書いてから、RTL設計している奴が結局は優秀な設計者になるということ
です。

朝だったので寝ぼけていたかな・・・
430774ワット発電中さん:04/02/21 22:53 ID:wk8e3eF+
>>424
アホな上司が「74シリーズ互換のライブラリー作って回路図で描いてくれんか?」だって。
Verilogで書くという話じゃなかったんかい!

と、転職しようかと思ったよ。
431(´∀`∩) ◆R4000nX4Mk :04/02/21 23:06 ID:yMug5Hly
>>430
 十年前の話じゃないんですか?(w
432774ワット発電中さん:04/02/22 00:13 ID:9ocq87K9
>>430
そういう輩には74189とラッチをずらっと並べただけの回路にしてやろう(w
「一応初期値は入ってるものとします」ってか。

要するにLUTとF/Fだなや。
433411:04/02/22 09:58 ID:fdu5U/Db
always @(inp)
if (inp) outp = 0;
else outp = 0;
のinpが取り除かれるのは仕様らしいな。
じゃぁ、どーゆーコード書けちうねん。とツっこんでみた。
434774ワット発電中さん:04/02/22 11:30 ID:o10/RNSA
そういや、レベルとエッジトリガをラッチとFFと呼び分けて
いるんだけど、どう使い分けています。尤も、ラッチを使う
のは、IO端子とかスペシャルセルのインターフェースの
部分だけなんだけどさ。

ただなぁ、FFとラッチの内部構成を知らないとか、ラッチで
回路を組む(「IFのデータバスはエッジで取り込むんじゃなく
て、ラッチを使うんだよ!」とか言っても)のが理解出来ない
のが結構居るんでツカレマツ。

ああ、HDLの話題から遠ざかる・・・
435(´∀`∩) ◆R4000nX4Mk :04/02/22 11:58 ID:xFHemUX2
 トランスペアレントラッチは、アドレスバスデータバス共用のマイコンの
アドレスラッチ用にしか使ったことが無いです。(w
436774ワット発電中さん:04/02/22 14:36 ID:I0EplnYf
>>435
内部ゲートはトランスミッションゲートで構成?
なら、カスタム石用のツールですね。
437774ワット発電中さん:04/02/23 10:32 ID:/HtKENr3
最近はすべてエッジトリガのFFだけで組むことも多いな
特にFPGAだとラッチとか立下りエッジFFとかは有害無益だ
438434:04/02/23 14:47 ID:Zftc+pgB
こっちはLSI設計専門だけど、かつての設計はラッチ主体で設計した
んだけど、論理合成導入でFF主体に変えました。ラッチや
立下りFF、非同期セット・リセットFF、非同期FFは同じように特殊
セルとして扱うようにしています。

特殊セルはそれぞれ別モジュール化にしています。ちょっとは
バックエンドワークがラクになるかなっ?てことですが。

439774ワット発電中さん:04/02/23 22:47 ID:9xRc8cFY
クロックスキューによるオーバーヘッドが大きい
高速LSIではラッチを使って同期設計すると
効率がよくなるとういう話はありますね。
いまのところ合成ツールが対応していないから、
RTLをF/Fで合成してからラッチに置き換えることになるけど
440774ワット発電中さん:04/02/23 23:57 ID:WsCaZMUG
>>434
> 回路を組む(「IFのデータバスはエッジで取り込むんじゃなく
> て、ラッチを使うんだよ!」とか言っても)のが理解出来ない
> のが結構居るんでツカレマツ。
すれ違いかもしれないけど、こういう奴いるんだよねぇ。
しかも、こういうのに限って知ったかが多くて扱いに困る。
441774ワット発電中さん:04/02/24 00:42 ID:9lnbvkLj
でも、「Dラッチ」とも言うからやむを得ないかも
442774ワット発電中さん:04/02/24 10:19 ID:2UetxYgA
ハードは趣味でしかやらないから業界内の慣習には詳しくないんだけど、
同期・非同期という呼び分けはしないもんなの? 10年前にPALASMとか使ってた
時代でも非同期動作は極力排除しろって風潮だったと思うけど。
非同期バス嫌いだったな。
443434:04/02/24 11:00 ID:9lcYX8gF
>>442

いまでも非同期は極力排除だよ。バグを生みやすいし、生産性が落ちるしさ。
スーパーな設計者なんて極々少数だから、一般設計者でも設計できるように
マネージメントしないと、設計なんて出来ないよ。

非同期回路のインプリメント方法を示して、その範囲で設計をさせて、レビューで
チェックか、本当に分かっている奴しか、非同期回路を組ませない。
でも分かってないということが分かってないから困るんだけど。
444434:04/02/24 11:02 ID:9lcYX8gF
>>439

そうですね、ラッチベースだと高速回路を設計できますね。
そういった場合にはトランジスタレベルで回路を組むという
技を使ったりします。
445(´∀`∩) ◆R4000nX4Mk :04/02/24 11:35 ID:Iyl9Gci4
 もう十年以上前から非同期排除は叫ばれ続けてるね。
 FPGAが非同期回路を入れてくれるなって感じだったし、漏れは
小林某を本を教科書にしてたから余計非同期回路嫌い。
446434:04/02/24 12:38 ID:9lcYX8gF
>>445

かつてはLSI設計屋はラッチベースの同期設計、TTL設計屋さんは
FFベースと非同期設計が主体だったんネ。

昔のボード屋さんの設計は非同期カウンタとか、タイミング
合わせにワンショットとかの嵐だったよん。

古いボード屋さんの非同期設計からの脱出が問題だった
んだと思うよ。古いLSI設計屋はASIC手法の導入でFF
ベース設計に変わったんだけど。

小林さんの本は入門編しては良いよね。VHDLを始めたときに
(verilogは長い使用経験があるけど)、小林さんの本を使用した
なぁ・・・でも、仕事で使うVHDLの参考書はAHENDENの
The designer's Guide to VHDL 2nd edとVHDLの規格書ですネ。
447774ワット発電中さん:04/02/24 14:00 ID:TlnaIUlE
>>414 reg宣言は?
reg宣言したら、うちのISEでは問題ない。
448774ワット発電中さん:04/02/24 15:16 ID:9lcYX8gF
>>447

あ、ほんとだreg宣言が無い!んじゃ、動かないな。
449774ワット発電中さん:04/02/24 17:00 ID:9lnbvkLj
データ駆動型と非同期設計を組み合わせたというのがあったような
気がしたな。
同期型と違って速く動けるところは速く、時間のかかるところはそれなりに
遅く動くから、全体としてのパフォーマンスはあがるとかいう理屈だった
ような。
非同期=>同期=>非同期
っていう感じかぁ・・なんて漠然と思っていた。

450774ワット発電中さん:04/02/24 20:21 ID:iDw2i3MA
>>446
Ashendenじゃないかと思いまつ
451774ワット発電中さん:04/02/24 22:58 ID:DE/t6GXn
ラッチで、トランスペアレントでないラッチってあるのでしょうか?
FFには、R-S, T, Dなどがありますが。もしラッチでトランスペアレントでないものが
あるとすれば、それはD-FFと同じなのではないかと思うのですが。
どうでしょうか?
452774ワット発電中さん:04/02/24 23:16 ID:Ph31sfYR
キモヲタが多いなここは。
オシャレな青学理工様にひれ伏せよ。
http://jbbs.shitaraba.com/study/3045/
453774ワット発電中さん:04/02/24 23:28 ID:3dP2+vmP
すみません 先輩方々 よきアドバイスを・・・
XC9572を 汎用プログラマで焼いた時
誤ってセキュリティー(プロテクト??)が掛かってしまい
次から消去も書込みも出来なくなりました。
この石は、もうゴミ箱行きですかねぇ?
454774ワット発電中さん:04/02/24 23:28 ID:9lnbvkLj
>>452
キモヲタにすらなれない田舎者は引っ込んでいた方が身のためだぞ。
455774ワット発電中さん:04/02/24 23:45 ID:yGtlBZrg
>>453
NAXJPを使え。回復できるかもしれんぞ。
http://www.nahitech.com/nahitafu/naxjp/naxjp-j.html
456(´∀`∩) ◆R4000nX4Mk :04/02/25 00:03 ID:51C5uejm
セキュリティービットが落ちている状態は解除できないでしょう。
つーか出来たら意味がないんじゃ?
457774ワット発電中さん:04/02/25 00:07 ID:HkiAnitS
>>455
ほんとですねぇ
説明書見たら 保護状態でも消去出来るようなモードが有りました。
実験開始してみます。
有難う御座いました・
458774ワット発電中さん:04/02/25 00:17 ID:1xXpspvE
>>456
できるよ
459(´∀`∩) ◆R4000nX4Mk :04/02/25 00:25 ID:51C5uejm
 セキュリティービットの意味はあまり無いって事か・・・。
 消すだけなら出来ると言うのなら解らないでもないが。
460434:04/02/25 08:57 ID:CLVZfMKV
>>451

うーん、FFでもTとかを区別していないなぁ。TだRだとか言っても、同期FFだったら、生のFF部分に
外付けの回路が付くだけなんで、あんまり意味がないと。つまりさ、論理合成時にその外付けの
回路と周辺回路を一緒に回路を構成させちゃうので、生のFFしか使わないんだ。

で、ラッチ(つまりトリガがトランスペアレントね)も、同じことになるんだと思うんですが。その
「トランスペアレントでないもの」という意味がわかんないけどさ。D-FFはFFでエッジトリガ
という意味だとすると、ラッチとは別物でしょ?

デザインウェイブとか読んでも、ラッチとFFの意味を区別して名称を分けていないな。まあ、普遍的な
決まりごとじゃないわな。自分との関連する人の間では明確にしているんだけどさ。

>>450

Ashendenですね。サンスコ。ジジイなんで目が悪いっす・・・
461(´∀`∩) ◆R4000nX4Mk :04/02/25 09:23 ID:51C5uejm
 と言いますか、トランスペアレントラッチを使うシチュエーションになったことが無いから
よく解らんですな。
 特にFPGAだと記述でDFFしか使わないのが普通でしょ。
462774ワット発電中さん:04/02/25 10:39 ID:b2MAWWnh
Xilinxのツールを入れると、USBフラッシュメモリが使えなくなる
ってな話が昔ありましたが(http://www.mkusunoki.net/z-gypsy/kousaku/CPLD
この不具合は直っているんでしょうか?
463774ワット発電中さん:04/02/25 19:53 ID:hQznJb5X
なんで大文字と小文字の区別ができないんだ。。。
464774ワット発電中さん:04/02/25 22:18 ID:P7D8hY/M
>>463
VHDLの仕様です。
嫌だったらVerilogを使いましょう。
465(´∀`∩) ◆R4000nX4Mk :04/02/25 22:29 ID:51C5uejm
 つまらないバグの元になることもあるから善し悪しかもね。>大文字小文字の区別
 しかし、論理値であるZはしっかり大文字と小文字の区別があるからそれで
何時間も悩んだ経験あり。(w
466774ワット発電中さん:04/02/26 00:15 ID:mspi2LpI
369=377 です。
パソコン届きましたので、さっそくやってみました。
P4-3.2GHz 1GB RAM で、13秒でした。
これなら、なんとかイライラせずにできそうです。
ご報告まで。
467【内閣府】骨太抜本改革:04/02/26 00:29 ID:7jHkeM6J
サ−ビス分野における530万人雇用創出促進チ−ム  小泉内閣

座長
島田 晴雄 内閣府特命顧問 慶応大学教授

小平 信因 内閣府政策統括官(経済財政ー運営担当)
坂  篤郎    〃    (経済財政ー社会システム担当)
青木  功 厚生労働省政策統括官(労働担当)
大田 弘子 内閣府官房審議官(経済財政ー景気判断・政策分析担当)
小川  洋 内閣府官房内閣審議官

藤原  隆 金融庁総務企画局長
瀬川 勝久 警察庁生活安全局長
高原 耕三 総務省情報通信政策局長
房村 精一 法務省民事局長
藤井 秀人 財務省官房長
近藤 信司 文部科学省生涯学習政策局長
水田 邦雄 厚生労働省政策統括官(社会保障担当)
川村秀三郎 農林水産省経営局長
林  良造 経済産業省経済産業政策局長
三沢  真 国土交通省総合政策局長
炭谷  茂 環境省総合環境政策局長
中城 吉郎 構造改革特区推進室長
宮川  正 総合規制改革会議事務室長 
468(´∀`∩) ◆R4000nX4Mk :04/02/26 00:37 ID:hd73r4AI
7jHkeM6J

IDあぼーん推奨
469774ワット発電中さん:04/02/26 05:55 ID:+zSYa0hw
機械工学板のALTERAとXILINXスレに書いていたんだけど、電気電子板の方がいいよと紹介されたので、
こちらにも質問。

アルテラのFPGAで、分周したクロックをモジュールに供給するにはどうしたらいいのでしょうか?
分周回路の出力を単純にレジスタのクロックに乗せていいものかと、思案中

いちおう分周回路の出力は、一度、外に出して、クロック入力端子から入れ直した方がいい、
でも、Quartus2がグローバルというクロック用の配線に、分周回路の出力を自動的に配線してくれるのでは?
というレスはもらったのですが。。。
ちなみに、前者の方法は配線が決まっているので、できれば避けたいです。
470774ワット発電中さん:04/02/26 10:26 ID:x2yEQZf6
>>469
デバイスによる。データシート嫁
471774ワット発電中さん:04/02/26 10:44 ID:h25oj3eE
大文字小文字の区別が出来るツールと出来ないツールがあります。
上位側のRTL設計で区別して信号名を使うと、下流側で一緒にして
しまうものがあると、設計エラーになります。

ですんで、信号名やモジュール名は小文字を使う という取り決めを
しています。
472774ワット発電中さん:04/02/26 14:05 ID:LZlDUObr
D-FFのトランスペアレントモードは要するに垂れ流しだよ。
他のは、エッジトリガだったりするだろ。
473(´∀`∩) ◆R4000nX4Mk :04/02/26 14:09 ID:hd73r4AI
 データが筒抜けだから透過という意味でトランスペアレントなんでしょうね。
474774ワット発電中さん:04/02/26 20:07 ID:KPzlZ0K4
D-FFはエッジトリガのフリップフロップを指すと思いますが、
トランスペアレントにするということは、ラッチとして動かすとい
うことですか?

そうすると、このモードでは前段か後段の片側は常にスルー
になるのかな。

475774ワット発電中さん:04/02/26 20:53 ID:ECHDBrTE
>>461 亀レスですが

長大なランダムロジック(例:マルチプライヤ、それもWallaceなど)に
スキューを入れるために、クロックを2相つかうとか、1相でも立ち上がり
と立ち下がりでトリガするような方式を使って千切りにする方法があるのよ。

過去の技術で、(主にASIC)今はふつーに @posedge ck でいいと思うけどね。
LATは滅多に使うことはなくなった。

昔のASICをPLDに落っことしたいとか、HDLに落としたいとかいうような
課題をOJTかなにかで貰ったんじゃないかと思われ・・・・

素直にD-FF記述に書き直しなされ。
476774ワット発電中さん:04/03/01 01:41 ID:D9iRdIND
入力バッファを入れなければならない理由を教えてくださーい。
477774ワット発電中さん:04/03/02 09:23 ID:e0/bz1U5
signedとunsignedにarith
使い分けわけわかめ(+_+)
478774ワット発電中さん:04/03/02 15:38 ID:anzSBnIq
USB対応ダウンロードケーブル              
http://www.hdl.co.jp/DLC-008/index.html

これ、ずっと待ってるんですが。まだですか?
479名無し募集中。。。:04/03/03 22:54 ID:kCSBMmLj
論理合成までのスレで、ちょっとスレ違いかもしれませんが、質問です。
アルテラのFPGAを使っているのですが、
フィッターをうまく使いこなすノウハウとかありませんか?
いつも60〜70%くらいしか行きません。
FPGAの特性を考慮した記述というのもあると思うのですが、
簡単で効果の高い方法があれば、と思っています。
デバイスはCycloneです。
480774ワット発電中さん:04/03/03 23:35 ID:X3JoEEM+
プロジェクトXの再放送見た?
あの時代に回路の速度云々ってどうやって見積もってたんだろ?
テンプレート使って紙の上で設計して・・・・
ほとんど神業
481(´∀`∩) ◆R4000nX4Mk :04/03/03 23:39 ID:T/eZsZNm
>>480
 つい十年くらい前まで、CADを使っていない所は手計算当たり前でしたよ。(w
482774ワット発電中さん:04/03/04 00:11 ID:G4l5lWtw
>>480
スタジオで手にとって見せてた回路図は、回路図というよりシーケンス図に近いような気がしましたが、
どちらにせよ気が遠くなりそうな代物ですね。
それを、一箇所短絡させるだけで計算速度が速くなることを一目で見抜いてしまう伊藤氏って・・・
483(´∀`∩) ◆R4000nX4Mk :04/03/04 00:20 ID:mkzAF1/L
 故池田敏雄氏と言えば、何年か前、テレ朝が二時間番組を組んでやったドラマの方が
内容が濃くて好きだな。(w   田原宗一郎が案内役だったのがかなりアレだったけど。
484774ワット発電中さん:04/03/04 00:28 ID:xOf3uwxW
>>479
LEの構造を理解して、ツールが最適化しやすいように
ソースを書いてやるといいらしい・・っていうのは
聞いたことがあるけど、それ以上はわからんです。
485482:04/03/04 00:40 ID:G4l5lWtw
あっ、池田氏だった。そうだった。伊藤氏って何で思いついたんだろ?
486774ワット発電中さん:04/03/04 03:22 ID:mq7/ZRRt
田原は池田の本を書いてて、プロジェクトXのテロップにもその本が紹介されて
たから、テレ朝の2番煎じであることは間違いないな。
それはそうと、メンターのLeonardoSpectrumはもう開発終了なの?
Precision Synthに置き換わるの?メンターのHP見てもどうもよくわからないんだけど?
symplifyばっかいじってたので浦島太郎でつ。
487774ワット発電中さん:04/03/04 03:44 ID:mq7/ZRRt
http://www.chienowa.co.jp/frame1/ijinden2/Ikeda_Toshio.html
結局富士通って池田氏のおかげで成長しただけで、あとは何にも見るべきものが
ないんだよな。NECに負けただけのFM8、大赤字で終わったFM-TOWNS。松下から2年
ぐらい遅れて市場投入したFOMA、昨日から回収騒ぎになってるけど。
アナログ技術者に嫌がらせのソフト講習受けさせてるようじゃあとは崩壊していく
だけだな。これからどうやって食ってくんだろ?
488(´∀`∩) ◆R4000nX4Mk :04/03/04 09:00 ID:mkzAF1/L
>>486
 レオナルドは前バージョンで終わりみたいね。
 多分クォータス付属の合成ツールと大して変わらなくなったので
意味を失ったのではないかと。
489774ワット発電中さん:04/03/04 18:01 ID:9RW/EQQg
以前のクォータスの合成ツールは、代理店の人も「あれはおまけですから」と言って勧めない、
構文解析すら怪しくて使えない代物だったけど、
今のはレオナルド並に信用できるの?
490774ワット発電中さん:04/03/04 18:56 ID:PDrVSCrZ
>>487 はイイこと言うなぁ〜
491774ワット発電中さん:04/03/04 18:57 ID:fLF76plK
>>489
俺が使ったときは特に問題なかったよ。
492(´∀`∩) ◆R4000nX4Mk :04/03/04 19:12 ID:mkzAF1/L
>>489
 漏れは直接使ってないけど、かなり良いと聞いてるよ。
493774ワット発電中さん:04/03/05 11:16 ID:FihX+cto
>>489
3.0になって、Leonardoよりよくなくなかった部分も少々あれど
総合的な品質はぐっとよくなったとおもうよ。

WebEditionしかさわってないケド。
494774ワット発電中さん:04/03/05 14:46 ID:XANN4gWQ
富士通はIBMの真似して今後サービス業としてやっていきます。
495774ワット発電中さん:04/03/06 18:58 ID:5AiiViw/
無料の合成ツールがこれだけ使えるなら、
有料のツールはどこが違うのでしょうか?
496774ワット発電中さん:04/03/07 03:37 ID:zb4FrFMK
Cycloneでも使用率90%あたりからは、やっぱEDIF食わせないと
Web版では運まかせになるね
ちょっと変更しただけなのに。。みたいなことが多い。
ロジックロックとやらを使えってことだろね。
497774ワット発電中さん:04/03/07 10:15 ID:KHqQ03gQ
>>496
> Cycloneでも使用率90%あたりからは、やっぱEDIF食わせないと
> Web版では運まかせになるね

Cycloneで使用率90%も行く!?
EDIFを経由した方が使用効率は上がるの?
HDLからダイレクトに配置配線まで持ち込んでるけど。
498774ワット発電中さん:04/03/07 15:54 ID:hhqxdleh
>>487
FもNもPC事業でひとやまあてて儲けたのは事実だけど
根幹は電電公社の通信インフラ事業で食ってる会社だよ
PC事業や汎用機、大型計算機はあくまで副業でしょ
実際、PCが業績に貢献してたのは100年以上の社史の中では
煌き程度の時しかなかったし。
499774ワット発電中さん:04/03/07 15:57 ID:hhqxdleh
>>479
手動でマクロセルの配置を地道に替えていく
verilogやVHDLを書くよりも、この作業が
重要だと思うよ、これをやるかやらないかで性能に
雲泥の差がでるかも・・・・
500774ワット発電中さん:04/03/07 21:33 ID:RY6/fagF
最後の最後でパフォーマンス絞り出せるなら俺も有料ツール使いたい(´・ω・`)
ちなみにターゲットはStratix, Cycloneす。
EP1S10で100%近く使用すると166MHzがイイトコ。
501774ワット発電中さん:04/03/07 21:40 ID:XHevkR5/
昔Xilinxでそれをやっていたけど(っていうか、あのころは
手作業配置配線しないと満足に動かなかったような・・・)
結構泣いたなぁ。

私の地道な熱心さはあの時使い果たした気がする。
502774ワット発電中さん:04/03/07 22:23 ID:KHqQ03gQ
>>499
フロアプランナーですか?
一度も使ったことないし、一度も開いたことない。
結構地味な作業だと聞いたけど。
503774ワット発電中さん:04/03/07 22:39 ID:CHVmFb2j
>>499

そうですね。レイアウトをやって差を出すという方向でしょう。
504774ワット発電中さん:04/03/08 04:00 ID:ecizeeTL
俺は逆にISE/Quartusはディバイスフィッタとしてしか使ってないんだけど、
Quartusのシミュレーション機能とかまともに使えるようになったの?
ISE単体ではシミュレーションってできないよね?
使うディバイスごとにツールの細かい使い方まで覚えてられない。
Modelsim覚えるだけでも相当面倒だったしな。WindosベースでもTcl/Tk持ち込んでるし。
505774ワット発電中さん:04/03/08 04:14 ID:ecizeeTL
実際Quartus 3.0 立ち上げてみたけど、これってシミュレーション実行するのに
ベクタファイル作らなきゃいけないわけ?
Verirogで作ったテストベンチはどうやったら実行できるのこれ?
506774ワット発電中さん:04/03/08 04:32 ID:ecizeeTL
マニュアルざっと見たけどシミュレート用の波形エディタいじって入力波形作ってベクタファイル用意してっていうふうに
書いてるように思うんだけど?まさかそんなアフォなやりかたしかないわきゃないよね?
507774ワット発電中さん:04/03/08 07:36 ID:2krsLDez
ベクターウェーブフォームファイル作ってる。
HDLからの変換はわからない。
508774ワット発電中さん:04/03/08 16:09 ID:4PGXIswz
RTLをコンパイルしてからFPGAにネットとして渡すのと、そのデータから
VHDL/verilogのゲートモデルを吐き出して、modelsimを掛けるという
方法を取る事が出来ます。

FOGAメーカーはverilogとVHDLのセルライブラリを供給しているので
それを使用します。
509774ワット発電中さん:04/03/08 22:48 ID:ecizeeTL
>>507
ISEのほうはテストベンチの雛形作ってくれる機能はあるけど、
Quartusの方はそれすらないのかな?使えねー。やっぱりQuartusの
シミュレーション機能はおまけだね。
ISEのほうも実質はmodelsimに頼りきりなわけだけど・・・

>>508
論理合成後、あるいはポートマッピング後の遅延時間見積もりのシミュレーションのこといってるわけ?
論理合成後のシミュレーションならディバイスフィッタなしでもできるし、
ポートマッピング後のシミュレーションならディバイスフィッタがないとできないけどけどそれがどうしたの?
510774ワット発電中さん:04/03/08 22:52 ID:jXNvaHWY
>>509
Model Simってそんなに凄いのけ?
ISEにくっついてるのはただでしょ?
昔は論理合成ならQuartus(Leonardo)、シミュレーションならISE(Model Sim)と言われていたらしいけど
511(´∀`∩) ◆R4000nX4Mk :04/03/08 23:17 ID:/oo2Q6KU
 製品版のModelSimは、もの凄く機能豊富で使いやすいソフトだよ。
 普通に買ったら何百万の世界ですが。
512508:04/03/08 23:38 ID:x2gi6ump
>>509

modelsimは論理シムレーションのこと。

>遅延時間見積もりのシミュレーションのこといってるわけ

これはスジ違い。

ACパラメータは合成時にまかせる。ライブラリを使用したシムレーションは可能・・
やらんけどね。メモリやPLLのライブラリを使用して、modelsimでRTLシムレーション
するが。
513509:04/03/08 23:43 ID:x2gi6ump
>>511

SEは300万円ぐらいだけど、PEは数十万円だと思うよ。
機能はそんなに変わんないかな。うちはSEをLINUX/Solaris
で使っているが。

コンパイルはQUATUSではなくて(前にはFPGAコンパイラII
を使用していたが)、いまはシンプリシティです。300万円ぐらい
するよ。
514(´∀`∩) ◆R4000nX4Mk :04/03/08 23:52 ID:/oo2Q6KU
 うちは、シンプリファイPROがありますが私は使ってないです。(w
 ModelSimも客先の物が自由に使えるんで買うかどうかはもう一人のメンバーと
大分もめたのですが結局、買わずにすませています。
 PEが100万以下なら欲しいところだけど、償却出来るか微妙だな。
515774ワット発電中さん:04/03/09 19:18 ID:NonedC9b
>>513
何をわけのわからんこと言ってるんだよ。
modelsimではビヘイビアレベルのシミュレーションもできるし、
論理合成ツールとデバイスメーカから提供されてる遅延情報ファイル使って
遅延時間のシミュレーションもできるだろうが。お前は508でそのことを言っ
てるんじゃないのか?

>>514
modelsimはやっぱり使いやすいよ。$displayとかわざわざ書かなくてもちゃんと波形出力してくれるし。
フリーのicalusだとこうはいかない。仕事で使うんならその手間が省けるだけでも助かるんじゃない?
でも、ビヘイビアのシミュレートだけならicalus+gtkwaveでもかなりいけるみたい(手間だけど)。
516774ワット発電中さん:04/03/09 19:19 ID:NonedC9b
>>513
何をわけのわからんこと言ってるんだよ。
modelsimではビヘイビアレベルのシミュレーションもできるし、
論理合成ツールとデバイスメーカから提供されてる遅延情報ファイル使って
遅延時間のシミュレーションもできるだろうが。お前は508でそのことを言っ
てるんじゃないのか?

>>514
modelsimはやっぱり使いやすいよ。$displayとかわざわざ書かなくてもちゃんと波形出力してくれるし。
フリーのicalusだとこうはいかない。仕事で使うんならその手間が省けるだけでも助かるんじゃない?
でも、ビヘイビアのシミュレートだけならicalus+gtkwaveでもかなりいけるみたい(手間だけど)。
517(´∀`∩) ◆R4000nX4Mk :04/03/09 19:39 ID:OLFY06uf
>>516
 使いやすさは十分承知してまする。
 自営では例え100万以下でもなかなか手が出ないものなのですよ。
 色々と資金的に気にすることが多くて。(w
518509 :04/03/09 19:40 ID:GPc0n98u
>>516

>論理合成ツールとデバイスメーカから提供されてる遅延情報ファイル使って
>遅延時間のシミュレーションもできるだろうが。

これは遅延時間のシムレーションじゃないよ。遅延時間のシムレーションと
いう言い方は、タイミング解析のことを指すんですわ。シノプシスのプライムタイム
(名称が変わったかな?)が有名ですた。

たぶん、貴方が言いたいのは「遅延データを含んだゲート(セル)モデルの
論理シムレーション」じゃないの?いわゆるSDFデータを含んだ論理シムレーション
を指しているのでしょ?





519509 :04/03/09 19:44 ID:GPc0n98u
>>517

modelsimではなくて、もうすこし安価な論理シムレータもあります。
ソリトンだかが扱っていたと思うよ。Active-HDLですね。

520(´∀`∩) ◆R4000nX4Mk :04/03/09 19:52 ID:OLFY06uf
>>519
 色々とアリガd。、調べてみるわ。 でも一回ModelSimを使ってしまうと
なかなか他のは使えないかも。(w


 所で関係ないけどOpencoresのサイトデザインが変わりましたね。
 ttp://www.opencores.org/
521774ワット発電中さん:04/03/09 20:20 ID:GPc0n98u
>>520

finsimというverilogシムレータもあります。(知り合いのサイト)
安価だということです。

http://office.ki.nu/
http://www.applistar.com/fintro-about.html

522774ワット発電中さん:04/03/10 20:13 ID:FzMGjkr0
FPGAで、同時に使われることのない複数モジュールから、リソース節約のために、
同じ加減算や比較回路を各モジュールから呼び出すように回路を書いてみたつもりが、
それぞれのモジュールに組み合わせ回路を持たせていたときよりも大きな回路になってしまったよ。
なんで?
523774ワット発電中さん:04/03/10 20:59 ID:wUf6dCUE
>>522
憶測だけど、遠い場所にある回路まで線を引くために、
途中の領域がムダに使われてるんじゃない?

ソフトで例えれば、サブルーチンを一個にまとめたら
NEARコールが届かなくなってFARコールになってしまい、
コードサイズが増えるみたいな感じかな?
(ソフトの場合そんなに極端に増えはしないけど)
524774ワット発電中さん:04/03/10 22:21 ID:KWqKLkci
>>522
セレクタの分だけ、回路サイズが大きくなったとか?
FPGAならLUTだから、使用効率は変動するぞ。
特にビット数が大きいときは。
525(´∀`∩) ◆R4000nX4Mk :04/03/10 22:28 ID:x20c8r7p
 本当に演算回路が一個だけか調べた方が良いのでは?
 フロアプランを見て回路の分布を確認するのも一つかな。
526774ワット発電中さん:04/03/10 22:53 ID:NbKr+J8g
>>521
スレ違いだとは思うけど、シムレータって一般的な呼称なの?
リアルでこの呼び方をした人は一人しか知らない。
527緊急のお知らせ 七月中部関東に核が襲う:04/03/11 01:33 ID:aGEtETrZ
<< 【緊急】避難しつつ東海原発浜岡の停止に参加・友人に広めデモ参加お願いします >>
チェルノブイリと同様に偏西風に乗って、七月頃中部地区関東地区に核の雨が拡散、風向き次第では関西地区に拡散、何千万人が癌に侵されてしまいます。

●陳情詳細は2チャンネル臨時地震板のトップ・・【東海】原発浜岡なんとかスレ【地震】・・参照して下さい。
 トップリンクには・・とめよう裁判の会(訴訟団募集のお知らせ)で訴訟団加入申しこみお願いします
N0. 88には・・メ−ルで国内・外のマスコミにメ−ル攻勢
 NO.103には・・メディア偏向報道への怒りメ−ル攻勢
 NO.134には・・デモ参加(至急募集)

原告団・メ−ル攻勢・デモにならないと国会も動きません。原告団は300名余、メ−ル数も不足、デモ予定もない
●中国ODAよりも地方へ企業誘致の税源移譲、全国の津波防波堤や原発、石油コンビナ−トも危険整備すべき問題点でメ−ル等に入れてください。
●七月東南海地震、5月か9月関東大震災(火災旋風で首都消滅)NO,35参照、安全圏に避難しつつ攻勢もかけてください。 
詳細は世界の地震学者・各新聞社共同制作本 ニュ−トン「せまりくる巨大地震」ご一読を
●ニュ−トンで全国の活断層・過去の2次被害状況把握できます
★日本人の平和・安全・人権・財産・領土を脅かし、他国援助重視の日本政府に断固反対!!
 韓国>>>日本亡国! 2チャン廃止追い込む日本政府に反対!!
528522:04/03/11 07:01 ID:4afVijgQ
コンピレーション・レポートを見たら、
元の回路はレジスタ・オンリーのLCはほとんどなかったのに、
加減算や比較回路を共用した新しい回路では、
レジスタ・オンリーだらけだよ。
なんで?
529521:04/03/11 09:16 ID:GYr/RLi2
>>526

simulation シムレーション
simulator シムレータ 

yahoo USA で logic simulator でもくぐってみなされ。
530774ワット発電中さん:04/03/11 15:59 ID:ftWeDqmO
>>521
日本で通用しない日本語を使うな糞が!
531526:04/03/11 18:19 ID:QPKz07EA
>>529
いや、simulatorは分かるって。
>>530みたいには、思わないけど、それのカタカナ表記は
シ「ミュ」レータの方が一般的じゃない?
532774ワット発電中さん:04/03/11 19:46 ID:Y+CcYzeX
>>529はフォトカプラをホトカプラと言うに100万モナー
533774ワット発電中さん:04/03/11 20:07 ID:cFG/Vbfa
>>532
しかし、浜松ホトニクスという罠。
534529:04/03/12 00:05 ID:EpIQhPlj
>>513

sim・u・late [simjuleit]

発音記号では「みゅ」ですね。そーかぁ・・米国で働いていた時は
「む」と聞こえていました。。。変えるかな。
535529:04/03/12 00:07 ID:EpIQhPlj
言い訳を言うと・・・この「y」の発音は日本語読みにはならない。
・・弱いんじゃなかな・・ちゃうか!?
536774ワット発電中さん:04/03/12 00:13 ID:YMNMeBKi
>>528
レジスタだけ分離されたんだな。
組み合わせ回路を共用することを狙ってHDLソースを書き換えたのなら、
狙い通りになってるわけだw
537(´∀`∩) ◆R4000nX4Mk :04/03/12 00:19 ID:3nsy4PN/
 アメリカに行った時アメ公が使ってたのは、シミュレータってカタカナ語っぽい発音でしたよ。
 日本人には難しい発音だと思うけどね。

 私は、「シム」とか「シミレーション」と言う事が多いです。 色々と客先、友人関係で聞いた感じでは
「シミレーション」て言ってる、若しくは私がそう聞こえる発音をしてる人が多い感じ。

 ・・・どうでも良い話ではありますが。(w
538774ワット発電中さん:04/03/12 08:57 ID:yC0qlAm5
「y」じゃなくて「j」でしたね。ジジイは目が悪いので。

かつては「シュミレーション」と言って笑われました。
539774ワット発電中さん:04/03/12 22:18 ID:65cYx/C8
std_logic_vectorてintegerの間で、
なんでキャストしなくちゃならんのだ?
同じでいいだろ?
540774ワット発電中さん:04/03/13 10:58 ID:d437/38V
>>539

汚いよなぁ・・この表記。verilogに戻りたーい。convをしましょう。
541774ワット発電中さん:04/03/13 21:11 ID:dgP1nUtl
もういいじゃんVHDLなんかほっとけば。
いったい何だったんだVHDLって?
542774ワット発電中さん:04/03/14 02:35 ID:TeNkFUhE
vhdlやverilogをキーワードにハローワークのHpで職を検索してみると
いっつも同じ会社が年から年中募集している。
そういうのは先物取引の電話セールスマンやフリータと同じで
人材を使い捨てにしている会社ということなのだろうか?
543774ワット発電中さん:04/03/14 03:04 ID:K0ak5oMq
当たらずとも遠からずだと思う。
年がら年中募集しているのは、ちょっと変だと思ってまちがいない。
よほど出入りの激しい会社でしょう。人材派遣業とかね。

たとえば人材派遣会社は「人送ってなんぼ」の世界みたいなので、
中途で入社した人の希望する職種の派遣先がスグには見つからず、
「ひとまず頑張って」と、とりあえず押し込む。
一度押し込んだら、ローテーションなどしたくないので、社員が
配置変え希望を出しても、なかなか動きが悪い。
よって社員は辞めていく。そんなケースがとても多いな。
544774ワット発電中さん:04/03/14 08:30 ID:tAIva3jZ
再びschemaに戻る。
54571:04/03/14 11:02 ID:LecCArQB
24歳職歴なしです。
回路の設計関係(ディジタル・アナログ)で就職できるでしょうか?
SEやソフト系はよく未経験者OKとかみかけるのですがハード系は
どうなんでしょう?
546774ワット発電中さん:04/03/14 12:06 ID:2wDKT5zl
>.540
ばかじゃね?
Integerに,レジスティブHや不定があるかってーの。

VHDLに限らずVerilogでもcasex,不定を扱う構文があるが明示的にcase
とわけてるだろう。

おまえにはSystem-Verilogなんて絶対に使えないだろうな。
AHDLがいいんじゃねーの?
547540:04/03/14 14:03 ID:isOsPhg5
>>546

VHDLでintegerを使うケースはあるよ。例えばだ、メモリなどのライブラリ記述とか
ステートマシンなどなど・・あるいはテストベンチなどだ。こういった場合はconvを
多量に使わないといけないので記述が汚くなる。そういったのもstd_logicで記述出来
ないし、面倒なのはファイルを使用したときに、c言語で言う、8ビットサイズのデータ
の使いだな。

まぁ、回路記述だけならintegerナシでもいいけど、使いこなすことが出来る連中は
integerを使うのさ。使わないと必要な機能を書き込めないんんだよなぁ・・・integerは
使いにくいけどさ。

言い換えれば、「VHDLでintegerを使えない奴は、使えない奴」かもしれない。

という話をしているんだね、>>540 ではさ。

system-verilogの話をしているわけでもないし、LSI屋なのでAHDLなんていう、
ローカルな話は知らんな。



548774ワット発電中さん:04/03/14 18:54 ID:HKKhiBV9
Cには「不定」はないからいいもん!
と強がってみせる。
(なんで不貞が先に出るんだろう・・)
549774ワット発電中さん:04/03/14 18:58 ID:C6VNaLTU
>>548
符号付き整数をオーバーフローさせると不定。
負の数の右シフトも不定。
など、Cにも不定がある。
550774ワット発電中さん:04/03/14 20:08 ID:HKKhiBV9
(涙 マジレスせんでくれぇ〜
551774ワット発電中さん:04/03/14 22:20 ID:2wDKT5zl
>こういった場合はconvを多量に使わないといけないので記述が汚くなる。
そのためにstd_logic_1164.allのパッケージがあるんだろ?

ひょっとしてconvしなければ方変換が出来ないなんて思ってない?

まいったなぁ...これだから...
552774ワット発電中さん:04/03/14 22:22 ID:2wDKT5zl
>>551
書きかけ

>LSI屋なのでAHDLなんていう、
>ローカルな話は知らんな。

これだから...「なんとか屋」ってやつはなぁ...

553774ワット発電中さん:04/03/14 22:25 ID:lGY9RB+R
system-verilogってVHDLに近づいて行ってるじゃないかよ!
554540:04/03/14 23:32 ID:isOsPhg5
>>551-552 >>546

もし分けないが、何を問題にしているかが理解出来ません。整理すると、
以下の通りになります。結論から言うと、std_logic_vectorてinteger間で
キャストするのは、std_logic_arithかstd_logic_unsignedであって、貴方が言うような
std_logic_1164には無いとは思いますが。

>>551/552/546 さん はstd_logic_1164を使って具体的にはそうやって変換する
のでしょうか?

--
(1) 元は >>539 さんの

>std_logic_vectorてintegerの間で、
>なんでキャストしなくちゃならんのだ?
>同じでいいだろ?

(2) >>540 の
>汚いよなぁ・・この表記。verilogに戻りたーい。convをしましょう。

(3) >>546 の
>.540
>ばかじゃね?
>Integerに,レジスティブHや不定があるかってーの。
>
>VHDLに限らずVerilogでもcasex,不定を扱う構文があるが明示的にcase
>とわけてるだろう。
>
>おまえにはSystem-Verilogなんて絶対に使えないだろうな。
>AHDLがいいんじゃねーの?

(5) >>551
>こういった場合はconvを多量に使わないといけないので記述が汚くなる。
>そのためにstd_logic_1164.allのパッケージがあるんだろ?
>
>ひょっとしてconvしなければ方変換が出来ないなんて思ってない?
>
>まいったなぁ...これだから...
555774ワット発電中さん:04/03/15 22:19 ID:17tjte1l
540さんが揚げ足とってるのかもしれんが
>std_logic_1164.all
>std_logic_arith.all
>std_logic_unsigned.all
「フツーのLSI設計屋」ならセットで使わないものなのか?
1164とそれ以外のライブラリアンの違いぐらい、VHDLやってりゃ誰だって知ってるだろう。
確かに1164とnumericしか使わない設計コードも見たことはあるけれど、レアケースだと思うよ。

ようはフツーの感覚ならわざわざconvしなくても使えるし、それが理由で
「VHDLはキタネー」というのは違うんでは?と言っているんですが。
556774ワット発電中さん:04/03/16 09:00 ID:s33tAOgX
>>555 さん

>フツーの感覚ならわざわざconvしなくても使えるし、

すいません。std_logic_vectorとintegerをconvを使わないで
変換(キャスト)出来るのですか?マジで知らないので、
教えてください。

557774ワット発電中さん:04/03/16 21:47 ID:kMLH/JEK
やっぱりVHDL厨は、共産社民議員みたいな奴ばっかりだなw
558774ワット発電中さん:04/03/16 22:36 ID:KF01RL0F
VCSとかNCとか使ってる人はいないの?
559774ワット発電中さん:04/03/17 08:31 ID:f+MyOwVw
単に型が強い言語ってだけでしょ
Cのshort→longみたいな暗黙のキャストが有害ってのはよく理解できる
ビット幅を意識してコーディングしたいから
560774ワット発電中さん:04/03/17 12:53 ID:9C3dfejz
パルテノン使ってたよ、俺。
561(´∀`∩) ◆R4000nX4Mk :04/03/17 13:02 ID:CtN6aS5i
>>560
 SFLですか。(w
 これはご存じですか?

 http://www.kecl.ntt.co.jp/car/parthe/index_j.htm
562774ワット発電中さん:04/03/18 01:33 ID:0jDdQp8P
>>545
派遣ならばあるんじゃないですか?
あまたとある派遣会社に問い合わせてみてはどうですか?
注意点としては、ちゃんと派遣先の仕事の内容を確認してください。
何にもスキルがのびずに歳だけとっていってしまいます。
563774ワット発電中さん:04/03/19 11:29 ID:BlU8Oje1
>>561

そうそう、SFL というやつ。
論理シミュレーション+合成+合成用ライブラリ がセットに
なってて大学研究室ならただで使えたんだよなぁ。
パルテノン デザインコンテストにも応募したなぁ。
564774ワット発電中さん:04/03/19 13:41 ID:1REdCxrJ
論理圧縮およびテクノロジマッピングに関してのいい文献は
ありませんか? ていうかこのへんノウハウとか特許の鎌足だろうなぁ

いちばん有用だった読み物は、日本語のものだと
九大の松永助教授のシラバスでした。

英文だともっとすごい文献が転がってるかしら?
565774ワット発電中さん:04/03/19 23:28 ID:qfhUEwPw
俺論理圧縮忘れた。
いいのだろうか?
566774ワット発電中さん:04/03/23 20:19 ID:szygem7e
論理圧縮ねぇ
論理合成ツールにお任せだもんな
そんな細かいとこまで見てないよ
567MyDoom被害者(深刻):04/03/23 21:33 ID:4hl+gKAy
一山当てようと思って、PowerPCの互換IPを書いています。
設計仕様を考えるのも時間が勿体無いので、バリバリのハードコーディング
でグリグリ記述しています。構造は僕の頭の中にだけボンヤリとイメージに
なっていますが、ちょっとサボるとソースファイルのどこに何を書いていたのか
思い出すのが大変です。
ここまで苦労して書いてきたので、この勢いで完成させたいです。
シミュレーションしながら確実に設計しようとしていますが、コア部分(MMU,
I-Cache, D-Cache, FPU無し)の3割ぐらいまで書いたところで、デバッグに
苦戦しています。あっち直せばこっちが、こっち直せばあっちが、とパッチを
当てている内にソースファイルが3倍にも膨らんできました。信号名も追加に
次ぐ追加の為、とうとう命名が面倒になって、wire1, wire2とか、reg1, reg2の
ように追加信号に命名しています。
modelsimの評価期間中に完成させたいんですが、こんな状態で1ヶ月はまって
います。皆さんに相談する為にも、ここにRTLを少しずつコピペしていっても
良いでしょうか?量だけは荒らし行為と間違われそうなぐらい一杯あります。
うまくいけば今年はお金持ちになれるかもしれないと信じて、頑張っています。
568(´∀`∩) ◆R4000nX4Mk :04/03/23 21:38 ID:7UVv396p
>>567
 URLを示すだけで解決でしょ。
569774ワット発電中さん:04/03/23 22:17 ID:/HtKENr3
公開しちゃったら一山当てられないんでは?
570(´∀`∩) ◆R4000nX4Mk :04/03/23 22:26 ID:7UVv396p
 そのつもりでここに聞きに来る程度なら(ry
571774ワット発電中さん:04/03/23 23:26 ID:4hl+gKAy
>567
MyDoomに引っかかる程度の技術者のレベルなんて・・・。
572774ワット発電中さん:04/03/24 00:52 ID:Z6Y5kgrF
>>567
sayuriというCPUを設計したとほざいた破産者を思い出しました(w
573774ワット発電中さん:04/03/24 11:30 ID:jOJpgn6m
>>572
×破産者
○元破産者(完全免責されたので)
574774ワット発電中さん:04/03/27 02:48 ID:wNKAfPPJ
>>567
アサーションは入れてる?
575774ワット発電中さん:04/03/27 13:11 ID:mkd5UCSA
>>567
いきなりHDLを書いたのか?
素人はきちんと机上設計から始めるのが鉄則。

でないといきなり削り始めたり、死んだ魚の目をする羽目になるぞ。


ま、わかる範囲で突っ込みいれるので、
部分的にでもソースとTBを公開してみれば。
576774ワット発電中さん:04/03/27 18:25 ID:DfcCHMAc
ちょっと目が霞んで、いまは机上設計できません
577774ワット発電中さん:04/04/01 21:37 ID:p/wKhUaB
IBMがPower-PC のソース(HDLソースのことだと思う)を公開する。
日経オンラインより。

残念だったね >>587
578774ワット発電中さん:04/04/01 23:16 ID:2awfXGhU
これか。
http://headlines.yahoo.co.jp/hl?a=20040401-00000001-wir-sci

オープンソースとかいってるね。
579774ワット発電中さん:04/04/02 10:37 ID:9UvLwE+b
PowerPCじゃなくて、Powerプロセッサだな
580774ワット発電中さん:04/04/02 20:49 ID:/SdDmwDu
Verilog-HDLを略してVHDLって言う って思っている人は結構多いと思う、今日この頃。

コンフィギュレーションROMが必要なのがFPGAで、要らないのがCPLD とか。
581774ワット発電中さん:04/04/03 10:56 ID:ZdOVS/eI
>>555

>std_logic_arith.all
>std_logic_unsigned.all

をセットには使わないようにしてます。std_logic_arith.all だけにして、面倒だけど
演算は全てunsignedかsingnedを表記するようにしています。こうしないと、
正確な表記ではないんじゃないかな・・・

ま、numeric_stdを使うのがスジですが、synopsysがサポートしていないらしい
ですから。
582774ワット発電中さん:04/04/12 01:29 ID:BtKYPPRN
で,結局SystemCは終了したわけね.
シノプがあきらめちゃもう終わりだ罠.
modelsimもSystemCはオプションになっちゃったしね.
583774ワット発電中さん:04/04/13 12:04 ID:cLYHFPjO
Verilog 系に収束していきそうだな
584774ワット発電中さん:04/04/13 13:01 ID:kkz3PO8O
べりろがなおいらを助けて下さい。

VHDLで
if (hogehoge = "0" ) then
foo <= ( others => "0");
else
以下略
endif;
とあるのでつが、foo<=(others=>"0")の部分がわかりません。
どう解釈すればよさげなのですか?
585774ワット発電中さん:04/04/13 22:44 ID:Pnw+WrCC
>>584
ダブルじゃなくて、シングルな。

この記述方法って、Verilog2000では可能になったの?
ビット幅指定しなくていいので、とっても便利なんだけど。
586584:04/04/14 09:02 ID:HcnkAUJT
>>585
あ、シングルクォートじゃないですね。確かに。でも意味は判るはずなのでスルーして欲しいです。

記述の意味が判っていらっしゃるようなので、べりろがなおいらにわかるように構文の解釈の仕方を
教えてもらえませんか?

「Verilog使いなのでVHDLのこの表記の解釈の仕方が判らない。VHDL使いの人助けて」
と書いたんですが、何故にVerilog2000の話になるのかわかりません。
だいたいVerilogでは 「=>」の記述って無いので。
VHDLの解説本みてもothersはcase〜when内での使い方しか書いてないので、困惑しているのですよ。


585さん、解説お願いします。
587(´∀`∩) ◆R4000nX4Mk :04/04/14 10:29 ID:D+Bqe4/J
>>586
> foo <= ( others => '0');

 fooは、レジスタなんでしょうね何bitかの。この記述は、fooのbit幅に関わらずを全部「0」で
埋める記述です。 ビット幅分 ("000〜000") って記述は間違いやすいし。
588584:04/04/14 11:07 ID:HcnkAUJT
>>587
dクス

意味合い的にはcase〜whenの「others」と違うんですね。

589774ワット発電中さん:04/04/14 23:54 ID:MGBRJOX6
>>588
結構近い意味だと思う。こんな記述も許される。
foo <= ( 5 =>'1' , others => '0');
bit5以外は0にするという意味。
foo <= (others => '0');
は最初の部分がなくなった形。
whenの場合もそれ以外ということだから、意味合い的には似てる。
590774ワット発電中さん:04/04/16 20:11 ID:T3vlrLp5
>>582
「今のうちに売ってしまわないと」と思ったのかどうかはわからないが、
どっかのセミナー行った時にメンターの営業が強力に推してた。

>>581
漏れがVHDL使ってたころはそうしてた。確かにコード量は増えるけど、
慣れてしまうと面倒とか汚いとは思わないけどな。
それよりVerilogも3.0や3.1になって改善はされているけど、Verilogの
あいまいさの方が気になる。
591774ワット発電中さん:04/04/17 17:37 ID:U6nn5NRg
自分はVHDL使いですが、RTL記述よりは、ビヘイビア(アルゴリズム)記述や
テストベンチを作成するほうが、燃えます。
 デザイン(回路設計)のほうは、文献、雑誌、ウェブなど、事欠きませんが、
なぜか、テストやアルゴリズムの文書はむしょうに少ない気がします。
 僕なんか、ビヘイビア記述の参考にするのは、半導体ベンダがくれるシムモデルよ!
それって悲しくない??
592774ワット発電中さん:04/04/17 17:39 ID:U6nn5NRg
あと皆さんはコンパイラ時にmakeのようなツールはどうしていますか??
593774ワット発電中さん:04/04/17 17:45 ID:U6nn5NRg
あまり論理合成には興味がないです。
VHDLの記述手法のほうに興味がいってしまいます。
LRMなんかを読んでみるとわかるけど、
合成ができる文法なんて、ごく一部しかないんだよね。
しかも、会社で、書き方のテンプレートなんかあったりして、
 
process(clk, reset) is
begin
foobar
end process;
しかつかったらだめだとか。
 組み合わせ論理はコンカレント文でしかだめとか。。。
 なんか、創造力を摘み取られている気分だよね。
 家で趣味でやるしかないのか。僕の人生
594774ワット発電中さん:04/04/17 17:49 ID:U6nn5NRg
vhdlって ポインタも使えるんだよ!
 access文ていうんだけど、
 これで大きいメモリ書いても、シムはサクサク高速で動作するぞ!
 あとstd_logicは{0 1 L H X U Z} だっけか、1つのビットについて7
つも値を予約するから、シムが遅くなるよ。
595774ワット発電中さん:04/04/17 19:20 ID:g7Lji1uu
>>590
Modelsimは5.8cになってSystemCは完全オプションになったね。
5.8になってSystemCを推すのかと思ってた矢先、方針転換なのかな?
牽引役のSynopsysがあきらめちゃもう終わりだな。
Synopsysも牽引してるしModelsimでも標準でサポートしてるSystemVerilog
だろうな。ちなみにVHDLは一足早くあぽーんしてる罠。
596774ワット発電中さん:04/04/17 19:41 ID:Oq+aU2ZS
>>593
Writing Testbenchesという本を読んだ事はありますか?
ttp://janick.bergeron.com/wtb/default.htm
テストベンチ向けのHDL記述法が載っています。
VerilogやVHDLで抽象データ型を使ったりするところが萌え〜です。

私も最近は回路設計時とテストベンチ記述時は意識を切り替え、
回路では並列処理を意識してHDLを書くけど、
テストベンチではなるべく(ソフトウェアプログラムに近い)
シーケンシャルな記述になるようにしています。

けど上の本の2版ではeやVeraを使うようになっているように
HDLで抽象な記述をするのには限界が有りますね。
これからは、SystemVerilogに期待かな?
何だかんだ言ってテストベンチと回路の設計言語は同じ方がイイ!
597774ワット発電中さん:04/04/17 19:41 ID:Oq+aU2ZS
>>592
グヌーmake使ってます。
598592, 593vhdl使い:04/04/17 21:23 ID:U6nn5NRg
>>597
makefileは手書きですか?やっぱり。それともEDAの自動生成機能?

>>596
確かに今のhdlではこれ以上の抽象化は無理かもしれません。
 systemVerilogかなあ。ご時世は。。。
 設計とテストが同じなのはやっぱりうれしいですよね。
 ソフトエンジニアはだから、c言語設計に期待しちゃうんでしょうね。
その点、ハードエンジニアにはあまりうまみがないかも。
 cのデバグ環境が使えるとか。。。そんなのまた覚えること増えるんかいみたいな
感じだものねえ。 
veraとかe言語てのはデザインウェブで読んだことはありますが、
どのようなものなのでしょうか?興味はありますね。
最近回路のテストの文献ばかりよんでますが、なかなか奥がふかいなあと
おどろいています。
599592, 593vhdl使い:04/04/17 21:38 ID:U6nn5NRg
>>596
amazonでのぞいてきました。
なかなかよさげかも。
洋書のハードカバーかっちょいいからなあ。
600774ワット発電中さん:04/04/17 22:23 ID:zqLHVuM0
>>593

それは仕方がないよ。VHDLやverilogは論理合成以前に定められた
ものですから。
601(´∀`∩) ◆R4000nX4Mk :04/04/17 22:26 ID:HF5x/C+H
 それでもAbelから比べたら随分進化したね。
602581/540:04/04/17 22:28 ID:zqLHVuM0
>>596

あ、そうですね。

回路記述と環境記述ですから、書き方を全く別に考えています。
回路記述は正確かつ論理合成が掛かるもの、環境記述は
言語系に近い書き方・・・になるのかな。integerが主体に
なりますしね。

verilogではC言語のポーティングはできるんだけど、VHDL
ではどうなんだろ?調べていないから、わかんないな。

603596:04/04/17 23:17 ID:7Pa83KUB
>>598
make は手書きです

Veraやeは、オブジェクト指向を使って一度書いたテストベンチを
再利用し易くなっているのと、適切な制約の範囲でランダムな
テストスティミュラスを作ってくれる便利な構文とシミュレーションエンジンを
持っているのが特徴だと思います。
また、どちらも検証時にエラーを発見し易くするプロパティ記述の仕様を
独立した形で持っています。

Veraはちゃんと使った事が無いのだけれども、文法的にはc/c++に近いみたいです。
eは独特だけど強いて言えばJavaに雰囲気が似てるかな?
あと後発でフリーのTestBuilderはveraやeがやってることを、
C++の構文でやってしおうという、ある意味SystemCに近い発想のツールみたい。

SystemVerilogはテストベンチ記述言語としての機能を貪欲に取り込んでいる
みたいだけど、誰がインプリしているんだろう?Synopsys?
604vhdl使い:04/04/18 00:57 ID:tmnvetum
>>603
accellaという、ハード記述言語の標準化団体がシステムverilogの標準化を
進めてるみたいですね。
 企業や専門家の集団のようです。
 systemVerilogの仕様をざっと見たんですが、
 型のあいまいさがなくなったり、signed, unsignedができたり、
 しっかりした言語体系になってますね。
 システム設計に対応できるようにか、幾分抽象レベルを上げた記述も
できるようになってるみたいです。
 いまからがんばって、使えるようになろうかな!?
605774ワット発電中さん:04/04/18 01:46 ID:OWoDq9Yq
フリーのリファレンスシミュレータとかないのかな
60627歳ダメ社員:04/04/18 10:59 ID:K1AUBuZh
回路設計をやったことないけど、なにかいい教材ある?
一応FPGAボードでも買ってみようかなぁ・・・・
って思ってますけど。。
607774ワット発電中さん:04/04/18 11:07 ID:K1AUBuZh
あげとこ
608vhdl& ◆uJ0TTc104U :04/04/18 15:03 ID:tmnvetum
>>606
ラティスやアトメルなんかはスタータキットやってるよ。
商社を通して買うのはめんどくさいけど、2万以下ぐらいですか。
あとcq出版のやつヒューマンデータのやつ、はザイリンクス、アルテラ
両方あるんじゃない? ちょっと高いけど。。。
カードサイズの小さいのもちらほら出てきてるみたいなので、
検索かければ、ヒットするとおもいます。
609774ワット発電中さん:04/04/18 16:42 ID:PXbBh8y/
SystemVerilogはModelsimが対応してるからSimはできるけど、
肝心のFPGA で使える論理合成ツールある?
PrecisionもSynplifyもサポートしてないだろ?
610774ワット発電中さん:04/04/19 23:48 ID:s+fla1bv
すみません、質問させてください。しかも文法的なことです…厨スマソ
他者担当モジュールから80個の16bit変数を受け取る仕様なんですが
input [15:0]hennsuu00;
なんて80行書きたくないです。(゚Д゚)コルァ!!
input [15:0]hennsuu[00:79]
みたいに配列でmodule間受け渡しってできないんでしょうか。
調べてたら配列はreg宣言でしか出てこないし…あぅ
それとも仕様がアホなのでしょうか。
611774ワット発電中さん:04/04/20 01:01 ID:EzC9to3B
>>610
Verilog2001かSystemVerilogならできた気もするけど、
昔のVerilogは”配列はメモリーだ!"という発想だから出来ないと思いまつ。

input [16*80-1:0] hennsuu;
として中でバラスしかない(wireにも配列使えないけど)と。
または、80個の変数がレジスタバンク的なものなら、
素直にモジュールの外にセレクタを置いた方が良いと思います。

ブロック分割のダメっぽさをアピールする為に
80個input並べるのも、いいとは思いますけど。。。
612774ワット発電中さん:04/04/20 01:16 ID:o6u95Qlr
>>611
ありがとうです!!!!

あぁぁあ、wireも配列使えないのですね…。
相方moduleが80個レジスタ持ってて、こちらは
80個のメモリのB入力にそれぞれぶち込む(係数)ので
input [15:0] hennsuu00,hennsuu01,hennsuu02…
が行数少なくていいかなぁと思いました。駄菓子菓子
上位moduleのインスタンス宣言が笑えることになりそう、
なので>>611さんの
input [16*80-1:0] hennsuu;
これでいこうと思います。相方moduleにも合わせてもらうとします。どもでした。
613774ワット発電中さん:04/04/20 01:19 ID:o6u95Qlr
ていうか、verilogってbit幅制限あるのでしょうか…調べてきまつ。
614774ワット発電中さん:04/04/21 03:33 ID:Mak39iNx
ここSystemVerilogがいいって言う人多いみたいね。
で、結局SystemCは掛け声だけで終わるのか?
ソフト屋が見限った言語をベースにしてもなぁ。
615vhdl& ◆BL0Z2aP/2M :04/04/21 13:51 ID:y7FEsFB3
>>614
c++ってのが、ネックだとおもう。
cなら、何とか読めても、オブジェクト指向とかクラスの概念とか。。。
ちょっと、ハード技師連にはつらいとおもわれる。
ソフト技師がわでも、結局、c++が拡張された、新しい言語てな感じで、
いまいちしっくりこないんでは??
 ソフト連の意見が聞きたい。
616774ワット発電中さん:04/04/21 20:27 ID:Mak39iNx
>cなら、何とか読めても、オブジェクト指向とかクラスの概念とか。。。
ソフト屋ってホントバカの一つ覚えで二言目にはオブジェクト指向とか
デザインパターンがどうとか言いたがる奴多くね?
ソフトなんて所詮ハード動かす手順なのによ。
617774ワット発電中さん:04/04/21 22:41 ID:gZyLv0FM
>>616
頭悪そうだなw

>>615
SystemC程度のクラスやら継承の概念なら誰でも理解できる。
どうせ自由度はそんなにないんだから、自分なりの型を作ってしまえば
HDLとそう大差はないといえる。
618774ワット発電中さん:04/04/21 22:58 ID:tuDftJIM
>>615
C++は確実にCよりまし。ただし意味不明に複雑な部分があるので分からない機能は
使わないようにするとよい。わかるようになってから使う。

クラスに関しては最初の理解はハード技術者のほうが旧いソフト技術者より簡単なのでは?
entity = classだと思ってよい。オブジェクト指向とは言い難いけど。
619774ワット発電中さん:04/04/22 02:48 ID:ek+nZpUY
実際に生成される“回路”はオブジェクトそのものなんだが。
値も処理方法もすべては回路が知っている.....
620774ワット発電中さん:04/04/22 04:53 ID:6m7UAbX1
そふと屋でつ。
C++は、言語ヲタクが懲りすぎてしまった言語でつ。
ソフト開発のプロジェクトで開発者は玉石混合なので、
シンプルなのに先進的な考えを取り入れた言語が好まれまつ。
C++をC++らしく開発したくても開発者の頭数が揃わない。

621774ワット発電中さん:04/04/22 07:06 ID:fdu5U/Db
あー、なんでだー。Xilinx ISEで回路記述中なんだけど、
どうしてもCLK,RSTnが消されちまう〜。誰かお助け。
↓特に記述間違えてないですよね。

module top(led, CLK, RSTn);
output [7:0] led;
reg [7:0] led;
input CLK;
input RSTn;

always @(posedge CLK or negedge RSTn) begin
led <= 8'b10101010;
end

always @(negedge CLK) begin
led <= 8'b01010101;
end
endmodule

Synthesizing Unit <top>
Related source file is top.v.
WARNING:Xst:647 - Input <CLK> is never used.
WARNING:Xst:647 - Input <RSTn> is never used.
Unit <top> synthesized.

使ってるちうに。
622774ワット発電中さん:04/04/22 09:48 ID:bGjHcHHq
>>621
RSTn アサート時の条件が抜けておるわこのオタンコナス!
クロックに対してレジスタの値が変化しねえわこのオタンコナス!
同じくロックソースで同一のレジスタに値をセットすんじゃねえこのオタンコナス!

ひょっとして釣りなのか?
623774ワット発電中さん:04/04/22 13:07 ID:TJUUvL2g
Simでは通るかもしれんが,論理合成できるか?
led
624622:04/04/22 15:21 ID:cw9iE7O9
よく見たら…

同じクロックソースで posedge negedge 両方フィットできる
デバイスは多くないぞ、ちうかシンセシスの段階で蹴られるぞ
こ〜〜〜のっ、オタンコナス!!!

点滅させたいなら素直にカウンタ久米
625774ワット発電中さん:04/04/22 20:55 ID:TSiyLy4G
>>622

RTLというのは回路図そのものなんだから、
まずは回路図を書いてみるべし・・・

あまりにも初心者過ぎるぞ!
626774ワット発電中さん:04/04/22 20:58 ID:TSiyLy4G
C++なんかは便利なとこがあるけど、正確さということで
Cにしてます。cでモデルを書いてRTLを書くと言う仕事
のやりかたなんで、Cは必須です。

クラスとかはそんなに難しいとはおもわないけど、内容
以前に言葉でカッコウを付けちゃうソフト屋さん・・が
多いです。
627774ワット発電中さん:04/04/22 21:13 ID:t78QH5BB
>>622-625

>>621が悪いんじゃない。
>>621のような人間がこんなクソな記述を書いても
文法エラーすら出さないVerilogが悪いんだ(笑)
628621:04/04/22 22:49 ID:fdu5U/Db
みなさんありがとう!お陰でうまく動きましたよ。
同じソースでposedge、negedge両方は無理なのか。色々と知らなかった。
論理合成後のことを考えて記述してかないとダメなんだなぁ。
629774ワット発電中さん:04/04/22 23:21 ID:dtTmlIxn
double edge trigger DFFなんていうのもあるから、
合成できるかどうかはライブラリしだいだと思うが。
630774ワット発電中さん:04/04/22 23:50 ID:hIVsURZi
>>629
そのdouble edge trigger DFFさんは、
今入ったクロックのエッジがriseだったのかfallだったのかを
どうやって知るのでしょう?
631774ワット発電中さん:04/04/23 00:15 ID:i0D7ASNb
べつにこれ単体でどうにかできるとは言ってなくて、
posとnegを扱えるような回路の合成はライブラリがしっかりしてれば
できるんじゃないかっていう意味。
632ぽんぽこたぬきさん:04/04/23 01:14 ID:bphvk9fM
>>631

ですね。

まぁ一般的には posedge のみで
他はライブラリで用意されてても
合成スクリプト上で 使用禁止にすることが多いですよね。



633774ワット発電中さん:04/04/23 09:45 ID:718PltSk
小林本だと、ダブルエッジは使用不可と言ってるね。
周波数の低いうちは動くが200MHz以上だと、きついみたいだ。
634774ワット発電中さん:04/04/23 23:21 ID:uXiqQYbb
>>633
高速ででゅーてぃーが保証できるんだろうか?
setupとholdを考えると鬱になるよ >両エッジ
635774ワット発電中さん:04/04/23 23:47 ID:3YLU/rrR
>>634
> 高速ででゅーてぃーが保証できるんだろうか?

そこでトラブルですよ。基板のリビジョンがちょっと変わっただけで......
636774ワット発電中さん:04/04/24 02:21 ID:+SFjrLmT
ギャー
637verilog初心者:04/04/24 02:40 ID:nM+G1WJC
実行引数でダンプファイル名を指定したかったので

ncverilog +define+filename="hoge.log" …とやって、

RTL側で
mcd=fopen( `filename );
$fdisplay(mcd, …);
と書いたら怒られてしまいました。 どうしたらよいのでしょう?
638774ワット発電中さん:04/04/24 03:07 ID:9/aVukAL
>>633
ヲイヲイ時代は進歩してるんだよ。あの本が連載中だったときも出版された時点でも
DDRなんてなかっただろ?そういうのをアフォの一つ覚えって言うんだよ。
639774ワット発電中さん:04/04/24 03:20 ID:9/aVukAL
ぢゅーちぃー保証するためには倍クロックを1/2文集して使え。
消費電流には目をつぶれ。
640774ワット発電中さん:04/04/24 04:51 ID:GLqQaE5a
うわー やっぱりどこにでもいるんだな。1/2分周するとぴったりdutyが50%になるとおもっているやつ。
分周しても数%のばらつきはでるからPLLつかうのと変わりませんよ、と言っても聞きゃしないし。
641774ワット発電中さん:04/04/24 09:01 ID:etU6biTY
>>639
倍クロックが調達できるなら、それをそのまま使えと小一時間(ry
642774ワット発電中さん:04/04/24 09:58 ID:WlZbQ92R
>>638
DDRは2相クロックだろ?
643774ワット発電中さん:04/04/24 13:03 ID:YQUW5fOK
>>637
multistep で試してもダメ?

わしなら、さくっと外部のスクリプトでファイル名をコントロールするな。
その方が応用も利くし。
644774ワット発電中さん:04/04/24 14:50 ID:9/aVukAL
>>640
一般にデューティーにばらつき出てこまるのはぎりぎりで設計してると必要なセットアップとホールド時間が
確保できないからだろ?数%のばらつきが出て困るならはじめから10%のマージン持たせりゃいいじゃないか。
つまり倍クロックのものを使わずに1.8倍の源振使えばいいだろ?それでも1.8倍が得られればそれなりに利点は
あるだろ?君の想定してる回路が何か知らんけどさ。


>>641
そりゃそうだ。
645774ワット発電中さん:04/04/24 15:39 ID:YQUW5fOK
>>644
まぁその通りなんだが、実際には周波数は最低限にしたいわけで、
マージンは抑えておきたいのも実情でしょうな。

それにレイアウトしないと最終タイミングの安心は得られないわけで、
不安要素はできるだけ回避したいだろうし。
646774ワット発電中さん:04/04/24 16:56 ID:DnB3roOv
>>637
そういう場合は、
ncverilog +define+filename=\"hoge.log\"
じゃない?
647774ワット発電中さん:04/04/27 14:06 ID:mxpPdBx7
>>640
10倍の周波数から1/10分周すれば50%
648774ワット発電中さん:04/04/27 14:50 ID:Bq/QZTAb
机上の空論>>647
649774ワット発電中さん:04/04/27 16:01 ID:mxpPdBx7
>>648
洒落がわからんやつだw
650774ワット発電中さん:04/04/27 18:01 ID:jUG3XG/y
昔、変なデューティー比のクロックを要求してくるCPUがあったよな。
レイアウトしてみたらハンパな外部クロック仕様になったりすると
アレの二の舞い....orz
651774ワット発電中さん:04/04/27 23:29 ID:zV1kmJAr
>>650

あぁ、ダイナミック素子のプリチャージ時間を短くして、
全体のクロックを上げるということかもしれないです。

あ、ここで両エッジFFの話が出ているけど、その両エッジFFを
ブラックBOXで使用するか、セルを作れるかで表現できる幅
が違うと思います。

例の合成向け本はあくまでも「一般設計者」向けだと思います。
判って居るやつなんてごく少数なんだから・・・ここでもね。
652774ワット発電中さん:04/04/28 00:17 ID:KsMqsCTj
>>647
1/10分周って、10倍高速?
653774ワット発電中さん:04/04/28 05:21 ID:fYqdSns4
>>651
俺はお前らと違ってよくわかってるんだよと言いたそうな口ぶりだな。
654774ワット発電中さん:04/04/28 09:37 ID:rMu2uMXU
>>652
1GHzの1/10分周で100MHzのデューティ50% 1GHzが入らないという時点でネタ。
655774ワット発電中さん:04/04/28 22:33 ID:zJJdq8ZE
趣味で
MAX038を使って、Singal generatorを作ってるんですが
カウンターの部分を某雑誌に付いてきたCPLDを使おうかと
考えています。
ソフト系は強いのですが、理論回路とかサッパリです。
GW中に勉強しようかと思うのですが
なにかいい、参考書をお教えいただけませんでしょうか?

小林 芳直著の「定本ASICのシステム設計」とかどうですか?
まだ見てないのですが。。。
656(´∀`∩) ◆R4000nX4Mk :04/04/28 23:01 ID:q4ZPsvRL
>>655
 微妙かも。
 論理圧縮の考え方とかは読み物として面白いと思うし私も愛読書ではあるが
直接設計に役立つかどうかは微妙かもね。
 どっちかというと、DWMのバックナンバーの方が今風ですぐに役だとのでは
無いかと思う。
657774ワット発電中さん:04/04/29 15:11 ID:0tqfsUYR
>>653

お前、暗いな。
658774ワット発電中さん:04/04/29 20:42 ID:6k3c9TIZ
>>654
そういうことではなくて、彼はほんとに分かってないのでは?

 10個を5分割 =2個ずつ
 10個を1/5分割 =50個ずつ

ということでは?
659774ワット発電中さん:04/04/30 18:50 ID:lDQUXxqE
ソフト書けて文集やカウンタだけでいいならどんな本読んだとしてもあっという間に
あっけなく書けるんじゃないの?
CQ出版の
入門Verilog-HDL記述
はソフトでいうと"はじめてのC"的な良著だと言われてる。パッケージがダサいけど。
660651:04/04/30 20:54 ID:51CakB7T
回路から見て、DUTYが重要になるのは、メモリあるいはダイナミック(クロックド)論理を
使った特殊セル、あるいはPLL・・なんかの「一般的じゃない回路」を使った場合でしょ?

極端にDUTYが偏ったというケースは稀なんで、FFなんかのタイミング(DUTYじゃなくて
絶対時間だね)を満たすかどうかってことが問題じゃないんかなぁ・・・
661774ワット発電中さん:04/04/30 23:29 ID:Kc/jj+Sd
>>660
posedge,negedgeを交互に使って処理が進むような構成の場合
デューティの変化が倍になって影響するわけで。前段のデューティが
狭くなる方の回路がセットアップ不足になりやすい。外部のデューティ
変化のみならず、温度の問題もあるし。

というより両エッジが必要と言う状況が既に一般的でないのでは?
662774ワット発電中さん:04/05/03 00:27 ID:QTNwi5qm
>既に一般的でないのでは?
ならFPGAメーカがなんで最近両エッジ対応をうたうようになってきたのよ。
663774ワット発電中さん:04/05/03 17:28 ID:7Xm6YNt7
Max+Plus2 でVHDLコンパイルしたいんですけど
お金払わないとダメですか?
664774ワット発電中さん:04/05/04 06:58 ID:84hYxQ6p
なんで
Q2-WebPack じゃだめなん?>>663
665774ワット発電中さん:04/05/04 09:57 ID:QhRLFcvj
Q2でコンパイルできるんですか・・・。
666774ワット発電中さん:04/05/04 09:58 ID:S+x8IvgI
>>663
どうしてもMax使いたければ Advanced Synthesizerってのが
ダウンロードできた気がする(今もできるかしらんが)
俺も、Q2の方がお推めだと思う。
667774ワット発電中さん:04/05/04 10:36 ID:QhRLFcvj
そうですか、さっそくQ2やってみました。
Node instance instantiates undefined entity プロジェクト名
とでました。今日はこのエラーと格闘してきます。ではー、色々ありがとうございます。
668774ワット発電中さん:04/05/04 12:55 ID:4+aAHDbV
advanced synthesysでも同様のエラー。
669774ワット発電中さん:04/05/04 13:53 ID:tO+9hAhv
>>668
コンパイルする順番
670774ワット発電中さん:04/05/04 14:42 ID:+hkwjwef
>>662
両エッジ対応をうたっていても、I/Oセルしか対応してない。
DDR-SDRAMなどの両エッジ使うバスI/Oに対応するためだけのものだ。

内部ロジックは両エッジにする必要ないからな。
内部ロジックを両エッジにすると遅くなったり面積くったりでいいことまったくなし。
671774ワット発電中さん:04/05/04 15:11 ID:CCRcECl3
>>668
ヒントありがとうございます。

質問ばっかりで迷惑かとおもいます。申し訳無いです。
672774ワット発電中さん:04/05/04 15:17 ID:CCRcECl3
>>669
でした。やはりよくわかりません・・・。
最後にするのでもう少し詳しく教えていただけませんか?
673774ワット発電中さん:04/05/04 15:21 ID:pqUhBRZr
>CCRcECl3

教えてやるから、全てのファイルを晒してみ?
コンパイルの問題点をできるかぎり説明してあげるよ。
674774ワット発電中さん:04/05/04 15:23 ID:pqUhBRZr
architectureを晒せないなら、entityだけでも晒してね。
675774ワット発電中さん:04/05/04 15:26 ID:CCRcECl3
全加算器をややこしくかいたものです。
以下が含まれたものを.vhdとして保存して、それをコンパイルしてみました。
architecture dataflow of full_adder is

begin

S <= ((not((not A and B) or (A and not B))) and C1) or (((not A and B)or(A and not B))and not C1);

C0 <= (A and B) or (((not A and B) or (A and not B)) and C1);

end dataflow;
676774ワット発電中さん:04/05/04 16:48 ID:pqUhBRZr
>>675
entityは?

書いてないの?
677774ワット発電中さん:04/05/04 16:58 ID:CCRcECl3
library ieee;
use ieee.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;

entity full_adder is

port(

A,B,C1 : in std_logic;
S,C0 : out std_logic
);
end full_adder;

忘れてました。
Analyze Current Fileはうまくいくんだけどなぁ・・・
678774ワット発電中さん:04/05/04 17:01 ID:PpvT91dZ
もうVHDLやめようyo
679774ワット発電中さん:04/05/04 23:15 ID:CCRcECl3
Node instance instantiates undefined entity ++
結局これなんだったんだろうな
680774ワット発電中さん:04/05/05 14:32 ID:Ru+ypxkt
Q2には回路図をVHDLに変換する機能ってないのかな・・・。
681vhdlつかい:04/05/07 17:50 ID:vc3sEOCf
>>680
Webエディションはどうか知りませんが、
お金を払ったら使えるようになる機能がいくつかあるみたいですね
682774ワット発電中さん:04/05/08 16:04 ID:sv6XAB9v
お前ら電気系はソフト屋はワンランク下だと思ってるだろ。
HDLやってりゃ仕事のスタイルがソフト屋とよく似てる部分も歩けど、
ソフト屋と間違われるのは人格否定されたみたいに思うだろ。
683774ワット発電中さん:04/05/08 17:01 ID:sv6XAB9v
確かに何も知らない奴がソフト屋になるからね。
684774ワット発電中さん:04/05/08 21:56 ID:FWznJhAY
アホがなんか言ってる
685774ワット発電中さん:04/05/09 16:11 ID:j48tcv5i
ハンダ付けができない奴がソフト屋になるからね。
686774ワット発電中さん:04/05/09 20:19 ID:TGCESqLU
ハード屋もでばどら屋や、組み込みソフト屋には一目置いてる
687774ワット発電中さん:04/05/09 20:35 ID:1S7lukjS
あのさ
クールランナー2の両エッジってどーやって記述すんの?

always@(posedge CLK ot negedge CLK)
if (CLK)
...
if (!CLK)
...

こんな感じ?
688774ワット発電中さん:04/05/09 22:59 ID:oxrdVSA7
>ハード屋もでばどら屋や、組み込みソフト屋には一目置いてる
でもないよ。
アプリケーションわかってて自分でハードも設計できて、ICEだけでなく
ふつーのハード屋が使うような測定器が使いこなせて、ソフト面だけでなく
ハード側から正しく評価できるようなDSP屋になら一目置くけど。
689774ワット発電中さん:04/05/10 03:00 ID:/ZpCXZ/J
>>688が言っているようなヤシは、
ソフト屋ではなくて、
「ソフトも出来る八−ド屋」じゃないか?
690774ワット発電中さん:04/05/10 04:09 ID:i9/eJ8Dh
ハード屋はデフォルトでソフトも書けるが、もったいないのでそんなことをさせられない
ソフト屋はソフトしか書けないので、ひたすら数をこなすことを求められる
691774ワット発電中さん:04/05/10 08:47 ID:kHQ7Qopl
>>690
690はどうでも いいことを言った。感動したっ!
692774ワット発電中さん:04/05/10 11:50 ID:Ti/mXkS3
ソフト屋は人間のくず
693774ワット発電中さん:04/05/10 12:48 ID:IwB4f4r6
>>692

漏れにとっては最高の誉め言葉だZE〜!
694774ワット発電中さん:04/05/10 16:09 ID:NvSz0mRv
人間のくずとは思わないけど、エンジニアとしてくず。
というかエンジニアとして最下層だな。
695774ワット発電中さん:04/05/10 16:43 ID:4aW75oZB
ソフト屋に「ハードでこれ失敗したから、ソフトで対応して」と言うなよな。
上流行程だからって、自分の日程遅れをソフト日程に押しつけるなよな。









と、ソフト屋は言いたいはずだ。
心当たりのあるハード屋は多かろう。全部自分でやってる香具師以外。
696774ワット発電中さん:04/05/10 16:50 ID:kHQ7Qopl
>>695
一番上流の企画屋が神。

「まだ、仕様が完全に固まってないんだけどいいよね。あとで修正してくれればいいし♪」

ASIC作るのにそれはないだろ?

ソフト屋だけでなく、ハード屋も

てめー。ぬっころす!
と思うはずだ。
697774ワット発電中さん:04/05/11 01:51 ID:CXXGtP4a
きょうの会話。

「なんかソフトonlyの社員ばかり増えてますよね」
「『ソフト』でひとつの班が出来るとは思わなかったなぁ。もともと班は製品ごとだったのに」
「あそこへ仕事頼むと面倒なんですよ。今度の製品は全部自前でやりたいんだけれど」
「そう言わずに仕事回してやってよ・・・いや、気持ちはわかるけどさ。頼むよ」
「・・・」
「そんな顔しないでさ・・・。なるべくフォローするから・・・」
698774ワット発電中さん:04/05/11 12:12 ID:yM7Clv87
ソフトonlyの社員ってアプリしかかけんだろ?
しかも、最近Winしか触ったことなくて、
ソフト開発==Visual C++のIDEいじくることだと思い込んでるガキが増えて困る。
699774ワット発電中さん:04/05/11 21:49 ID:AVctQmbL
ソフト開発==Visual C++ ならまだ許せるが、ソフト開発==Visual Basic で
でかい顔されちゃかなわん。
ハード屋の俺でも自分でファームとかテストプロ書けるのに…
700774ワット発電中さん:04/05/11 22:25 ID:Zvrd4klm
ソフト屋をなんでもかんでもひっくるめて議論するのはかわいそうだ。
ソフトのシステム設計する連中は尊敬に値するぞ(値しない奴もいるが)。
そういう連中と、単なるコーダーに毛が生えたようなのをいっしょにするのは失礼だろ。
ハード屋だって、中身を理解できずに単なるCAD入力・評価・測定しかできん奴から、
上流システム設計までやる奴までおる。
どっちもたいして変わらんのでは?
701774ワット発電中さん:04/05/11 23:27 ID:q3ZH6rmC
ここにいるハード屋はレベルの低いソフト屋としか仕事したことの
ない香具師が多いみたいだね。ちと、可哀想だな。
そういう香具師しか入れない会社の方が問題のような気がするが(要は
見る目がない)

ま、ハード屋もVHDLで設計できても、トランジスタでラジオが作れない
香具師もいるし。
702774ワット発電中さん:04/05/11 23:31 ID:fJIVpnrJ
>>700
“評価”が出来る奴ならまだマシ。理解してないやつは入力・測定も満足に出来ない。
同じ部署内で指示出すだけなのに作標作ってる気分。
703774ワット発電中さん:04/05/12 01:36 ID:QVHDOGH+
>トランジスタでラジオが作れない
作れても自慢にならんだろ。
それを言うならダイオードでラジオが作れるが。。
704774ワット発電中さん:04/05/12 09:39 ID:X17ZS8zy
ソフトウェアラジオ.....
705774ワット発電中さん:04/05/12 14:33 ID:QVHDOGH+
ハード屋・・・できるだけ組み合わせ回路で実現してワンショットで動作させられないか考える人達
ソフト屋・・・どんなにがんばって速いアルゴリズム作っても所詮順序回路の手の平の上で転がさ
       れていることすら気づかない人達
706774ワット発電中さん:04/05/12 20:44 ID:lE3Qg4vY
何か変な流れだな・・・
よっぽどソフト屋との打ち合わせかなんかで溜まってるんだろうな。
ソフト、ハードにかかわらす、優秀な奴は優秀、そうでない奴はそうでない。それだけ。
すそのが広い分、ソフト屋のほうが優秀な奴の絶対数は多いだろう。
割合は分からないが。
707774ワット発電中さん:04/05/12 21:19 ID:tuC4GXWf
>>703
自慢にならないものすら作れないハード屋がいるという
ことじゃない?
708774ワット発電中さん:04/05/12 22:03 ID:F3lZB1Lx
正直「ソフト屋」と聞いて連想するのは「文句」と「言い訳」それも大声で。
709774ワット発電中さん:04/05/12 22:10 ID:eKuXSvk1
>>706
タダの粘着と思われ。スルーするが吉。
710774ワット発電中さん:04/05/13 12:30 ID:51Nn83Gx
無能なソフト屋でもどこかに仕事がみつかるが、無能なハード屋に勤まる仕事はない
ハード屋として飯を食ってるヤツは、ある水準以上の技量を持ってるのは確かだ
711774ワット発電中さん:04/05/13 16:43 ID:zKO41Nmx
スレ違いかもしれないけど、SynopsysのGalaxyやMagmaのBlast Createといった
フィジカル合成ツールはディープサブミクロンになると今後主流になるのですかねえ。

自分はフロントエンド業務しかやったことないのですが、
これからはバックエンドの知識も必要になってきそうでちょっと鬱。
712774ワット発電中さん:04/05/13 20:22 ID:awq/9QXw
>>709
まぁまぁすねるなって。ソフト屋ちゃん。
713774ワット発電中さん:04/05/14 10:23 ID:HcnkAUJT
ソフトが作れるハード屋はいるが、ハードが作れるソフト屋はいない。なぜならハードが作れるということはハード屋だからw
714774ワット発電中さん:04/05/14 18:20 ID:UlZ+bx9S
>>701
ラジオ->RF屋をバカにしてるのか?
少なくともロジック回路屋ですぐにRFやれる奴はほとんどない。
というか別カテゴリの技術分野
715774ワット発電中さん:04/05/14 18:43 ID:3BkF8sUV
釣りに反応するな。
アホですか?
716774ワット発電中さん:04/05/14 19:33 ID:AHZA4JKv
シリコン配置なら俺に聞け
717774ワット発電中さん:04/05/14 22:53 ID:FWkeZYBC
>>711

大企業じゃなければ外注でしょ。
718774ワット発電中さん:04/05/15 19:53 ID:r9stPzGN
BlastFusionがもっと半導体ベンダに採用されると
設計側もマグマのツールを使うようになるかもね。
719???:04/05/17 19:31 ID:5H9O36QN
故障検出率と設計完成度向上(バグ取り)って
無関係ですよよね
720vhdler:04/05/18 00:53 ID:UaHVhErk
>>719
前者。。機能は正しいが製造中に故障
後者。。機能が正しくない
 紛らわしいけど、似て非なるものと考えています
721774ワット発電中さん:04/05/18 11:48 ID:8uYwK0/6
quartusを使ってVHDLの説明やってくれてる本は何ですか?
722774ワット発電中さん:04/05/18 11:50 ID:tiLrrX1q
"quartusを使ってVHDLの説明やってくれてる本"
723774ワット発電中さん:04/05/18 11:58 ID:8uYwK0/6
quartusを使ってVHDLの説明やってくれてる本にはどういうのがありますか?
724774ワット発電中さん:04/05/18 19:48 ID:acXk7gGI
VHDLってひょっとして符号なしの16#00000000#~16#FFFFFFFF#をあら
わせる整数型って存在しない?
存在しないとすれば32BItの符号なし整数型を、type等で作るにはどう
したらいいの?
725774ワット発電中さん:04/05/18 22:16 ID:SDBgaBWG
>>724
16#FFFF は可能でも、16#FFFFFFFF はまず無理だな。
726774ワット発電中さん:04/05/20 10:55 ID:hcj+JHpL
VHDLの符号なし整数は31ビットだから無理。
分けるか、vector系を使うしかないなぁ・・
727774ワット発電中さん:04/05/20 10:56 ID:hcj+JHpL
>>719

まったく別。

>>720さんのとおり。
728774ワット発電中さん:04/05/21 00:06 ID:zxgHdCfp
いま大学の2回生で、なんやら教官が
「この本買っとくと良い」とか言うんスよ。

http://www.amazon.co.jp/exec/obidos/ASIN/4789832198/

でも、生協にもないし、Amazon にも無い・・・
しかも Amazon での評価はいまいちぽいし・・・

それで、ひとつお願いなんですが、
入門書として良さそうな物をいくつか教えていただけませんか?
729774ワット発電中さん:04/05/21 09:52 ID:10w0lZd6
>>728
レビュアーが言うほどボロクソでもないと思うけどな、あれ。
入門書としてはいいと思うよ。

その教官にお願いして、大学でこれでも大量購入してもらえ(w
http://www.hdlab.co.jp/service/hdl_endeavor/endeavor_1.html
730774ワット発電中さん:04/05/21 10:19 ID:zxgHdCfp
>>729
有り難う御座います。引き続き、
「入門Verilog-HDL記述―ハードウェア記述言語の速習&実践」を探してみることにします。

大量購入して図書館とかに入れてくれないかなあ。
でも無理かな。
731774ワット発電中さん:04/05/21 12:26 ID:nrfqgxsU
>>729
手元にあるけど、最近の小林本に比べると記述のサンプルが貧弱なのは否めない。
HDLには限らないけど、言語がらみのネックは文法が書いてあっても実例が少ないと、結局記述ができないということになる。



高いけど、ディジタル回路もHDLも初めてなの。というならば、こっちの方がおすすめ
http://www.amazon.co.jp/exec/obidos/ASIN/4774103217/qid%3D1085109510/249-0586463-1713920
732774ワット発電中さん:04/05/21 19:14 ID:Q7zGW492
>>728の本は俺の入門書。
そんな悪くないよ、今でもたまに参照するし。
挿絵がキモいけど。
733774ワット発電中さん:04/05/21 20:01 ID:999MJdZp
http://www.amazon.co.jp/exec/obidos/ASIN/4774103217

あふぃりえいと削除うRL
734774ワット発電中さん:04/05/22 02:44 ID:r35AyeIQ
>>730
小林優氏の書籍は改訂版が今月末出るみたいですよ。
僕も立ち読み試食して、良ければ買ってみよー。

ハードウェア記述言語の速習&実践
入門Verilog HDL記述
小林 優 著 2004年5月29日発売予定
http://www.cqpub.co.jp/hanbai/books/33/33981.htm
735774ワット発電中さん:04/05/22 02:45 ID:r35AyeIQ
あと、こんなのをオススメしておきます。

HDLによるVLSI 設計 第2版
−VerilogHDLとVHDLによるCPU設計−
http://www.amazon.co.jp/exec/obidos/ASIN/4320120272/
→私はVHDLからVerilogへの移行派ですが、初めての方にもお勧めできる
と思います。一番気に入ってるかもしれず。

ディジタル集積回路の設計と試作
http://product.esbooks.co.jp/product/keyword/keyword?accd=30704495
→サッパリした感じで読みやすい。

実用HDLサンプル記述集
まねして身につけるディジタル回路設計
http://www.cqpub.co.jp/hanbai/books/33/33581.htm
→FIFO等などの記述例があり参考になります。
736774ワット発電中さん:04/05/22 02:47 ID:r35AyeIQ
連続書き込みすみません。

ところで皆さんVerilog-PLIって使ってますか?。
今Verilogの勉強と平行でPLIも触り始めてます。
日本の書籍では実用HDLサンプル記述集に少しだけ触れてありますがイマイチです。
サザーランド氏の著書でThe Verilog PLI Handbookの第2版を入手し参考にしていますが
http://www.amazon.com/exec/obidos/tg/detail/-/0792376587/
他に参考になる本ってないですかね?
知ってる方がいらっしゃいましたら教えてください。
737774ワット発電中さん:04/05/22 10:41 ID:92LkP+Sk
A,B,Cはそれぞれ組み合わせ回路で実現できる処理、
同期で組むとA->B->C->のデータ処理に3クロックの初期遅延が生じてしまう。
非同期にすればタイミングシミュレーションでも、使おうとしてるクロック周波数に
対しては仕様をみたすんだけど・・・

どんなところで非同期回路使ってる?
738774ワット発電中さん:04/05/22 13:09 ID:7nTO5tOb
>>736
ご存じかもしれませんがここによると
http://www.cqpub.co.jp/dwm/contents/0051/dwm005100731.pdf
これが紹介されてますね。
http://www.amazon.com/exec/obidos/tg/detail/-/0792384776/

私自身PLIはやったことありません(w
SystemVerilogのDPIを勉強すればいいやというのは大きな勘違いなのでしょうか?
739774ワット発電中さん:04/05/23 20:13 ID:Wlf9KvZV
協調シミュレーションには、PLIが便利だとか言われますけど、
実際に仕事に使うとなると、PLIは昔なつかしいC言語のprintf
デバッグの域をでませんよね。

今時のデバッグ方法としては、XILINXのFPGAで実際のHDL
を動作させて、ChipScopeProやPALMiCE-FPGAを使って
実信号をトレースして行くやり方がスマートかと思います。
740774ワット発電中さん:04/05/24 07:47 ID:+qhTEM6/
>>711
Deep Submicron回路では、リーク電流による消費電力の増大とか
Delayの中をInterconnect Delayが占める割合が大きくなってくるので、
今まで使われてたフィジカル合成ツールもそれに合わせて変わっていかねばならない。
って先日学校で教わりました。
741774ワット発電中さん:04/05/24 20:20 ID:AJkO164l
>>737
確かにモジュール単体の再利用を考えているのなら、それぞれがムーア・マシン
になっているのが望ましい訳だけど、順序論理を必要としない回路まで杓子定規
に遅延させるのは意味がないこと。そもそも、分割したモジュール間がwire、即ち
継続的代入関係でしか接続できないHDLの制約によるもので、むしろ、モジュール
分割しようとせずに、組合せ論理の部分をfunctionで階層化する等してソースの
可読性やfunction自体の再利用性を高めたり、regを大域変数的に使うといった
ソフトウェア的なアプローチを試してみるのも面白いと思う。
742774ワット発電中さん:04/05/25 10:01 ID:xqje38ep
>>740
リーク電流はツールで抑えられるものなのでしょうか?

Interconnect Delayって配線遅延のことでしょうかね。
配線遅延の占める割合が大きくなってくるからこそのフィジカル合成ツールと
思っていたのですが。
743774ワット発電中さん:04/05/26 00:46 ID:Zo/ZZITN
初歩的な質問なんですが、VHDLで
aaa : bbb port map (
  data_in  => (64/12),
  data_out => wire_bus
);
みたいに定数の計算式をコンポーネントのバスに繋げることはできませんか?
同じ定数を大量に使っていてデバックの時と本番の時で値を変えてコンパイルしたいんですけど。
実際の記述はファイルの先頭で以下のように宣言してコメント切り替えたいのです。
constant def_ccc なんか 64 --test
--constant def_ccc なんか 640 --maji
aaa : bbb port map (
  data_in  => (def_ccc/12),
  data_out => wire_bus
);
Quartus2だとどうしてもエラーになってしまいます・・・
744774ワット発電中さん:04/05/26 02:10 ID:UxZ/zj2b
conv_std_logic_vector でいったん変換するか、
はじめから generic map を使うようにするか、
745774ワット発電中さん:04/05/26 13:16 ID:vi9Go6Z9
定数式じゃなくて定数ならできるよ
64/12→5, 640/12→53 として

constant def_ccc12 : std_logic_vector(7 downto 0) := "00000101"; --test
-- constant def_ccc12 : std_logic_vector(7 downto 0) := "00110101"; --maji

aaa : bbb port map (
  data_in  => def_ccc12,
  data_out => wire_bus
);
746774ワット発電中さん:04/05/26 15:00 ID:/d1iPojX
VHDL→Verilog-HDL乗り換え組みです。
--
  INDATA1, INDATA2 : in std_logic_vector(31 downto 0);
  OUTDATA : out std_logic_vector(63 downto 0));

process(INDATA1, INDATA2) begin
  for i in 0 to 15 loop OUTDATA(i*4+1 downto i*4) <= INDATA1(i*2+1 downto i*2); end loop;
  for i in 0 to 15 loop OUTDATA(i*4+3 downto i*4+2) <= INDATA2(i*2+1 downto i*2); end loop;
end process;
--
といった感じで入力を2ビットずつ交代でつなげたいのですが、
Verilog-HDLではどうやって記述すればよいのでしょうか?
--
always @(INDATA1 or INDATA2) begin
  for(i=0;i<16;i=i+1) begin
    OUTDATA[i*4+1 : i*4] <= INDATA1[i*2+1 : i*2];
  end
  for(i=0;i<16;i=i+1) begin
    OUTDATA[i*4+3 : i*4+2] <= INDATA2[i*2+1 : i*2];
  end
end
--
こうやって書くと「レンジは定数で書けや(゚Д゚)ゴルァ!!」とコンパイラに怒られてしまいます。
for文を展開して一つずつ書くしかないのでしょうか・・・
OUTDATA[i]みたいな書き方はOKのようなのですが・・・
747774ワット発電中さん:04/05/26 16:09 ID:/d1iPojX
自己レスです。レンジにならないように書き直したらうまくいきました。
--
always @(INDATA1 or INDATA2) begin
 for(i=0;i<32;i=i+2) begin
  OUTDATA[i*2] <= INDATA1[i];
  OUTDATA[i*2+1] <= INDATA1[i+1];
  OUTDATA[i*2+2] <= INDATA2[i];
  OUTDATA[i*2+3] <= INDATA2[i+1];
 end
end
--
個人的印象で可読性はイマイチですが仕方ないですね。
748774ワット発電中さん:04/05/26 16:16 ID:1RVsKopY
Verilogでモジュールインスタンスを for などで複数個生産できないのか?
教えて呉呉
749774ワット発電中さん:04/05/26 16:28 ID:u4Wg0+aY
Verilog-2001なら
modulename moduleinstance[9:0](.....);
ってできるよ。
結線は、モジュール定義と同じ本数なら単純に直結されて、
インスタンス数倍なら、それなりに分配される。

あと、generate endgenerate で、内部に genvar というタイプの変数を使えば、
自由に生成できる。

ただし、この記述から回路を合成できるかどうかは、ツールしだい。

あとはググれ。
750748:04/05/26 16:47 ID:1RVsKopY
>>749
ありがd
Verilog-2001の教科書が手元にないので、家に帰ったらぐぐるよ!






って俺は趣味のHDL牡蠣。
751774ワット発電中さん:04/05/26 17:37 ID:LJ+9VH42
Verilogに関して、お教えを乞いたく・・・。

通常、Verilog で扱える数値は正の数のみで、数値表現は
ストレートバイナリになってしまうと思うのですが、2の補数を
扱うにはどうしたらいいでしょうか?

これを取り扱っている教科書のみでも良いのでお教えを・・・
752774ワット発電中さん:04/05/26 22:42 ID:CgpTCkud
連続で教えてくださいになっちゃいますが
ModelSimでシミュレーションを実行する際に作るdoファイルの記述方法を
書いてある本やHPがありましたら教えてください。

あと、難しいテストベンチの書き方が書いてる本やHPも教えて頂きたいです。
753774ワット発電中さん:04/05/26 23:27 ID:qAvRlME7
>>743-745

ポートに固定値をつけるのは、93からの仕様だと
おもったけど、デザインコンパイラだとクォータス
と同じようにエラーになるのね。

modelsimは問題はない。

だから、>>745 さんのようにすればいいんだけどさ。
754751:04/05/27 06:17 ID:CsWLRO0D
Verilog2001を使うと言うこと・・・・らしいですね。
V2001に関する書籍を当たってみます。

お騒がせしました
755774ワット発電中さん:04/05/27 07:56 ID:/sgTtcuQ
>>752
> ModelSimでシミュレーションを実行する際に作るdoファイルの記述方法を
> 書いてある本やHPがありましたら教えてください。

doファイルってModelSimのコマンドをバッチで行うためのファイルだよね。
さすがにそれはMentorGraphicsからマニュアルもらった方が早いのでは…
756774ワット発電中さん:04/05/27 15:57 ID:xcRn5FAX
doファイルって単にコマンド書き並べるだけだよ。
example
のなかにのcompare.do見ればすぐわかる。
もっと凝ったこともできるんだろうけど(やったことないが)、
多分tcl/tkのコマンドじゃないの?
757774ワット発電中さん:04/05/27 22:08 ID:8XIILtX+
すみません、質問です。
自分が書いてる記述が93だか95だか2001だかサパーリわかりません。
2001では何ができるようになったのか、解るようなサイトか本を紹介していただけないでしょうか。

自分が使ってる本はこのへんです
http://www.amazon.co.jp/exec/obidos/ASIN/4924998249/qid=1085662920/sr=1-7/ref=sr_1_10_7/250-6174332-1771410
http://www.amazon.co.jp/exec/obidos/ASIN/4789832198/qid=1085662920/sr=1-8/ref=sr_1_10_8/250-6174332-1771410
http://www.amazon.co.jp/exec/obidos/ASIN/4774103217/qid=1085662920/sr=1-1/ref=sr_1_10_1/250-6174332-1771410
758774ワット発電中さん:04/05/27 22:36 ID:D37/CyUT
759774ワット発電中さん:04/05/27 23:28 ID:/sgTtcuQ
>>757
直接な解じゃないかもしれませんがここの8ページあたりが参考になるかも。
http://www.systemverilog.org/pdf/SV_Symposium_2003.pdf
760774ワット発電中さん:04/05/28 00:31 ID:Q0E+ZtoN
>>758-759
ありがとうございます。自分、知らないこと…多すぎorz
あんな書き方やこんな宣言ができてしまうわけか

上司に「こんな回路図みたいなソース書くなや」と指摘されました。
解釈に悩んだのですが、もっと数学的な頭を持てということ?なのでしょーか。
他人のソースをもっと読みたいです。検索ってきます。どもでした。
761743:04/05/28 23:42 ID:GXz/5ME4
>>744>>745さん、ありがとうございました。
おかげで無事コンパイルが通るようになりました。
conv_std_logic_vector なんていうものは私の持っている参考書にはのっていなかったので
ネットで調べてみて「あぁ、本当にそんな関数(?)があるんだ」などと不謹慎なことも思ってしまいましたが。
762774ワット発電中さん:04/05/30 12:53 ID:V8950opZ
VHDL初心者です。突然レベルの低い質問で済みません。
先日A社の EP1C20 をVHDLで設計したのですが、とてつもなくコーディング
が大変でした。指が腱鞘炎になるかと思っちゃいました。
エンジニアの立場から考えて、皆がこんな大変で面倒な作業を実務でやって
いるとは思えず、私が何か勘違いをしているか方法を間違っているような気が
しています。
私はQuartus2 Ver2.2を使用していますが、これだけの環境でVHDLを実務に使
えるようになるのでしょうか。それとも
  効率アップには他のツールが必要?
  VHDLで開発するのが間違い?
  単に私がおバカなだけ?
参考:今までは AHDL+スケマッティック で設計してました。

レベルの低い私にも分かるようにだれかコメント下さい。
763774ワット発電中さん:04/05/30 14:29 ID:qt2IqNsN
>>762
別に間違ってはいないと思うよ。
実用的に意味のある回路なら、軽く数百行以上のソースになるのが普通だと思う。
色々な回路を記述していると、そのうち以前書いたソースから
使いまわし出来そうな部分をコピー&ペーストできるようになるから楽になる。
764762:04/05/30 16:30 ID:V8950opZ
>>763さん、レス有難うございます。
ソースの行数を数えてきました。ファイル(というか階層というか)
1個は 100〜400 行程度ですが、1個の FPGA 全体で計算すると
8000行程入力した事になっていました。
実はこの規模のものを2種類作ったので、合計で約 12000 行。
(単純に2倍でないのは、使いまわし出来る部分があった為。
 行数に、LPMのメガファンクション等QUARTUSが排出してくる
 VHDLやIPは含めていない。)
もう指が痛くて痛くて。こんなものなのでしょうか?。
もしかすると私が「VHDLは効率的な設計可能」の言葉に、過剰
な期待を抱きすぎているだけなのかもしれませんね。

「甘すぎる」や「何かおかしい」など御叱りの言葉でも結構です
ので、諸先輩方の[普通]を教えて下さい。
765774ワット発電中さん:04/05/30 16:53 ID:xd5HdBCt
766774ワット発電中さん:04/05/30 19:01 ID:QnuP/KmP
>>764
テストベンチを除いて RTL記述部分だけのコードで8000行ですか?
そりゃ多すぎ 何か勘違いした書き方してるに違いない

強引に過去の資産を引き継ごうと無茶をして、スケマティクシンボル1つにつき
1つのエンティティを書いたりしてませんか? それは修羅の道だ
767762:04/05/30 19:46 ID:V8950opZ
>>766さん、レス有難うございます。
やっぱり何か勘違いしているのか・・・・・・ハァ〜
御指摘の通りテストベンチは含んでいません(というよりテストベンチ
の使い方も良く分かっていないアホです)。RTL記述部分だけで8000行
書いちゃいました。

過去の資産は捨てるつもりで挑んだので、無茶な事はしていないつもり
だが、このスレの人に見て頂いたらさぞかし酷い事になっているのかも
しれません。
凄く抽象的な表現になりますが、A3用紙に書き込んだスケマティック
1ページ分くらいで1つの ENTITY としています。
768774ワット発電中さん:04/05/30 20:38 ID:JfaWs8jo
本職ソフト屋でVerilog使いだが横槍。

1C20で8000行って、やっぱり俺には考えられんわ。
相当プリミティヴな論理書いてるんじゃないかなー?
興味本位で質問だけど、フィット後充填率は何%?

ていうかスケマティックって言ってる時点で、ある程度仕方がないのかも。
人それぞれのスタイルはあるけど、「非効率的な開発」と思われ。

あ、それから、1C20 は、フィットまでだったらWebEditionでイケるので、
Quartus II 4.0 も検討しなはれ。シミュは簡単なのが入ってて、テストベンチは
走らせられん。

ところで1日で8,000行つくったの? もっと肩の力抜いて逝かなきゃ〜
指が動かなくなったら元も子もなくおしまいだよー。
769774ワット発電中さん:04/05/30 20:44 ID:TrKVKx1i
パターン屋のCAD使いが腱鞘炎でドクターストップかかった例もあるぞよ。
そう考えると、キーボードからの入力が未だ主流である現代において
俺らは指を大切にしなければならない。

脳と直結できる日はいつだ
770774ワット発電中さん:04/05/30 20:45 ID:wy8RUEMs
>>767
まさか、たとえば8ビットレジスタを、
いちいちフリップフロップ8個書いていたりしないよね?
771774ワット発電中さん:04/05/30 21:04 ID:QnuP/KmP
加減算を SUM <= VAL0 + VAL1;
って書かずにいちいち演算器のモジュールを接続してるとか?
772774ワット発電中さん:04/05/30 21:11 ID:arqLrZCh
>>771
それは普通だろ?
770みたいなのは論外だけど。
773774ワット発電中さん:04/05/30 21:16 ID:TrKVKx1i
Verilog使いに質問。
必須のとき以外でもbeginとendって書いてる?
774768:04/05/30 21:29 ID:JfaWs8jo
>>769
打ち込み屋こそ、疲れない「正しい」メソッドを習得しとかんといかんのだが、
現場じゃそーゆーこといってられず、自己流染みついて腱鞘炎、というのは、
ソフト屋でもよく聞く話。マ板向きの話かのう。

>>771
それは、古い上司のいる職場だったりしない?
ただ、演算器モジュールを明示した方が明確になる場面は
(少ないが)ある、というのは理解できる。

でも、もう、泥臭い部分はシンセサイザに任せていいんじゃないか?

>>773
俺は、あからさまに見やすくなる場面では省略するね。
もともと C 使いなので。Perl も大好きだが。

それどころか

always (posedge clk) reg <= reg + 1;

とかも平気で書く。プロの方々は、職場によってスタイルが違うでしょう?
775774ワット発電中さん:04/05/30 21:54 ID:QnuP/KmP
ASICかFPGAかでスタイルが違う場合もあるだろう
しかし、cycloneでプリミティブべったりで書くのって意味あるのかなぁ?
776774ワット発電中さん:04/05/30 22:37 ID:s/pZZ07z
>>772
こういう前時代的な奴は絶滅して欲しい。
777774ワット発電中さん:04/05/31 07:28 ID:k/eQF5IM
小林本改訂版でますた。
http://www.amazon.co.jp/exec/obidos/ASIN/4789833984/
778762:04/05/31 10:23 ID:5rTcTIgL
>>all 皆さんコメントありがとうございます。

>>768
LE:53% 、 PIN:81% 、 RAM:50% です。
効率的な開発 → それを模索中なのだが、どうすれば効率良くなるのか
・・・・・こればっかりは苦しんで自分で見つけて行くしかないかも。
1日に8000行、なわけないです。セミナー以外でVHDLに触れるのは
今回初めてという初心者です。最初の方は、参考書を読みながら1日
100〜200行位のペース、12000行トータルで1ヶ月以上かかっています。
Quartus2 Ver4.0、そういえば案内メール来てた。DLに逝ってきます。

>>769
脳と直結できるキーボード : いいですね〜。ポケットマネーで100万円
出しても買いたい。
個人的には、イメージやまとまっていない思考なんかをバックアップ可能
な外部記憶装置が欲しい。毎朝、設計開始前のオーバーヘッドが大きく
て、昨日の夜何を考えていたのか思い出すのに一苦労してます。

 以下に続く。
779762:04/05/31 10:26 ID:5rTcTIgL
 続き。

>>770
それはやってません。 STD_LOGIC_VECTOR を使用してまとめてます。

>>771
乗算は演算モジュールを接続して記述しましたが、加減算は+や−の
演算子(?)を使って記述してます。

>>772,774
加減算でもモジュール接続した方がいい事があるんですか?
それとも後々の見やすさの問題?

>>775
プリミティブべったり : この言葉の感覚が良くわからないんです。
どこからどこまでをプリミティブと言うのか?いろいろ入門書を漁ったけど
どの本もおもいっきりプリミティブで記述されている様に見えてしまって。
何か良い参考書って無いものでしょうか。
ガイシュツの参考書ですが、私は「HDLサンプル記述集」で学びました。
780774ワット発電中さん:04/05/31 10:31 ID:NaoN8w7o
スレ趣旨と全く関係なくて恐縮ですが、
ポケットマネーに100万の枠がある事に羨望します。
781762:04/05/31 11:53 ID:5rTcTIgL
>>780
う〜ん。文章でニュアンスを表現するのって難しいですね。
「へそくり+車を売り飛ばしてでも欲しい。」というふうに捉えて
下さい。
零細企業勤めの甲斐性無しなんで、私のお小遣いは月2万円
(酒代含む)の貧乏たれです。
あっと、スレ違いスマン。
782774ワット発電中さん:04/06/01 05:20 ID:tAP7FsSR
行数が多いということなのですが、スクリプトで吐き出すということは、
一般的にはされてないのでしょうか?
オープンコアなどでも、6502CPU のソースとかみると、
たしか、Cか何かで吐き出してたような、昔の記憶があるのですが、
やはり、会社がらみだとそういったことはしてはいけないのでしょうか?
学生なのでおしえていただけませんか?
783774ワット発電中さん:04/06/01 10:07 ID:Qvf0+gsX
>>782
HDLを吐くスクリプトを使った方がいい場面もあるでしょうね。
でも使い捨てのスクリプトを書くよりは

何らかの形式のソースコード →[変換ツール]→ HDLコード(中間コード)

上記のように変換ツールとソースコードを分離した方がスマートでしょう。
CPU設計だったらマイクロコードのロジック記述に上のやり方をすると
効率的だと思います。
784782:04/06/01 10:54 ID:tAP7FsSR
レスありがとうございます。
>>何らかの形式のソースコード →[変換ツール]→ HDLコード(中間コード)
変換ツール自身を自分で作成すれば、どの程度、冗長的か、微細的かを
自分で選択できますので、おっしゃるとおりかとおもいます。
今は、HDLをまったくといっていいほど書いてないのですが、当時は
ttp://mitpress.mit.edu/sicp/full-text/book/book-Z-H-31.html#%_sec_5.1
を読んで、えらく感動したのでほぼそのままこれに類似したものを、
解釈するものを作成しました。
ただ、テストケースの作成や、
VHDL <-> Verilog、 Verilog <-> AHDL、VHDL <-> AHDL
などは、行数がおおかった場合、手作業でするのは、面倒なのではないかと
おもったのていたので(最後は手作業で私はやっていましたが)、どの程度使
われているのかおききしたかったのです。

CPU設計などでは、使っておられる人がいるかもしれないということなので、
非常に参考になりました。ありがとうございました。
785eaoska090192.adsl.ppp.infoweb.ne.jprlo:04/06/03 00:42 ID:1hOcPKXc
kinkyu.2ch-news #guest
786774ワット発電中さん:04/06/04 16:12 ID:bewI/A7L
Using PSL/Sugar with Verilog/VHDL
「Verilog/VHDL設計でのPSL/Sugar入門
-アサーション・ベース検証のためのProperty Specification Languageガイド-」
http://members.aol.com/vhdlcohen/vhdl/index.html

なんでここでしか日本語版売ってねえんだ…(;´Д`)
787774ワット発電中さん:04/06/04 19:00 ID:LxTk5HtF
素直に原語版買っとけ そっちのほうが安いし
788774ワット発電中さん:04/06/05 14:33 ID:AKodrx4R
行数では何もいえないでしょ?
実はエレガントな書き方かもしれないし。

あと、VHDLはverilgより長くなるよ。
789774ワット発電中さん:04/06/05 14:39 ID:AKodrx4R
続き・・・如何に正確なRTLを書くかというのが目的だから、長くなるは
ありえる。 企業によっては厳格なスタイルを強制するところも多い。
再利用性を考えると、長くなるというのは一概にXとは言えません。

それに演算部分などは高速化利用でコンポーネント使用もあるし、
FORループ使用の厳禁をしているとこもあります。

一回限りの下請け仕事ならなんでもあるかもしれないが、一度作った
ソースをデータベースとして利用するなら、長くなったかまわないよ。
あくまでも正確さや可読性がよければ良いんでね。

790774ワット発電中さん:04/06/05 19:19 ID:OqliQShD
>>788
なにぶんにも初心者なもので、エレガントからは程遠いような気がします。
ぱっと見た感じVerilogの方が効率良さそうに見えますね。VHDL/Verilog
両方併記してあるサンプル記述集を見たら、Verilogの方が 1/3 程度の
記述量で「いいな〜。」と思ったりしています。

>>789
零細企業勤めなもので、な〜んにも規制はかかっていませんし、先の
プロジェクトも1回限りなので何も問題は無いです。ただしやっぱり
この業界で飯を食っている以上、人に見られても後ろ指指されない程度
の記述はしたいですし、こんなに時間がかかっていては給料泥棒に
なってしまいそうで・・・・・ハァ〜頭が痛い。

皆さんどのくらいのコード量で記述してるんでしょうか。
質問の仕方がアホですが、「このFPGA(型名)を何%使用して何千行くらい」
みたいな回答が頂けたら参考にしたいです。済みませんがこのアホにもう
暫く付き合って下さい。諸先輩方よろしく御願い致します。
791762:04/06/05 19:24 ID:OqliQShD
↑名前抜けスマヌ。790=762 です。
792774ワット発電中さん:04/06/06 09:36 ID:E6hqo092
>>789
可読性か…聴いた話だと、こんな所もあるそうです。
短さ至上主義。A4一枚推奨。
可読性は高いけど、流れが判りにくそうな気がします。
793774ワット発電中さん:04/06/06 15:04 ID:q2qT+2iP
>>792
HDLのレベルじゃ、「流れ」ちうかむしろしょせん「論理」なので、
短くまとまってるってのは、一目で見て取れてメリットも多いんじゃないかな?

短さ原理主義にまで陥ってたらただのDQNだが。
794792= ◆YMO/ALTERA :04/06/06 15:08 ID:q2qT+2iP
モジュール化によって「容積と遅延の許す限り」充填率を
高めてるソースなので参考にならないかも。行数は少ない。

>>790
Verilog. ターゲットは EP1S10 -8
; Logic cells ; 10,523 / 10,570 ( 99 % ) ;
; Registers ; 8,004 / 13,046 ( 61 % ) ;
; M512s ; 94 / 94 ( 100 % ) ;
; M4Ks ; 60 / 60 ( 100 % ) ;
; M-RAMs ; 1 / 1 ( 100 % ) ;

これでも内部パイプラインが166MHzで動いておる。
795774ワット発電中さん:04/06/06 18:26 ID:GaaSNnuL
logic99%でもちゃんと速度出るんだな
フロアプランナとかも使ってるんですか?
796774ワット発電中さん:04/06/06 18:27 ID:GaaSNnuL
あとコード行数を聞きたいです。参考までに。
797 ◆YMO/ALTERA :04/06/06 19:07 ID:q2qT+2iP
>>795
本業ではない(しかし外販して売上は出た)ので参考程度に受け取ってください。
フィット後は、Register Packingとか発生する(むしろ発生させている)ので
Synthesis後の数字でいけば、
70%(デカいMRAM 以外のMRAMも) くらいが 166MHz 駆動
20%くらいが、その1/5クロックで動くシーケンサ類
残りがRS-232C, LEDを駆動するホストインタフェイスです。
石はそうとう熱くなってます。指で触ってられません。

行数は、コメント、MegaWizardが吐いたものなどがあるので何とも言えないですが、
いま数えたら、手で書き起こしたモノは2,000行以下くらいかと。

本業でなくWebEdition使ってるので、Floor Plannerで場所固定制約とか使ってたらキリがないし、
あと一息容積とか速度を上げるための手法が使えませぬ。
Floorplan view はいつも眺めてます。
798774ワット発電中さん:04/06/07 22:12 ID:HSoMIUFY
>>797
親切回答ありがたう
799762:04/06/08 21:55 ID:BD7GQJjM
logic cell 99% で 166MHz って、794=神 だな。
よくそこまで詰め込めたものですね。私の記録は少し古いですが EP1K50
で logic cell 96% 80MHz てのが最高です。(スケマティック入力)
pentium933MHzのパソコン使ってFitterに3時間くらいかかっていた
ような気がします。
800socket774@techno:04/06/15 00:35 ID:cZcQI5Mm
>>797
166MHzってすごいですね。

おいらも昔初代MAX7000シリーズで45MHz通すのに
すんげぇ苦労したのを思い出しました。
会社の中には5V系のMAX7000で74.25MHz通してたつわものもいた。

VerilogでもVHDLでも結局回路ブロックと出来上がる回路が
連想できないとどこにレジスタを入れればわからないので
動作速度の速い回路(記述)は書きづらいですね。

今はstratix(EP1S30)使ってるけど化け物のように回路が入って
しかもスピードもそこそこ出て速い。
昔のように回路が入らなくていくつかのPLDに手動で分割しなくても
すむから楽チン。コンパイル時間すんげぇかかるけど(w
801774ワット発電中さん:04/06/15 02:30 ID:rcOuihVr
AHDLでいうところの IF data[] == VCC THEN はVHDLでどう書いたらよいですか?
if data = (others => '1') then はNGですよね。
if data = "1111111111" then とは書きたくないです。幅変わったら書き直しなので。
data = exs("1", data'length) とか signed(data) = -1 など考えましたが、
一般的なものをひとつ・・・
802774ワット発電中さん:04/06/15 20:18 ID:1g5b+hj4
>>800
74.25MHzってHDTVだな、まさか同じ会社の人?
カウンタとデコーダ程度なら7128Sの-10で通したことがある。
今だとCycloneの一番遅いので適当に書いても楽勝。いい世の中になった。

Stratixは速いんだがIOがそれに追いつかないorz
803774ワット発電中さん:04/06/15 20:32 ID:gdnqJfvv
if (not data) = 0
804774ワット発電中さん:04/06/15 23:39 ID:rcOuihVr
>>803
ありがとうございます。
ぜんぜん思い付かなくて、あれこれこねくり回してました。
805774ワット発電中さん:04/06/20 01:40 ID:q7o92WPi
PCIのスレーブモデル、マスターモデルってありますか
メモリ等のモデルはエルピーダのHPいけば落ちてるんだが・・・
AHBとかのバスモデルがほしい

806774ワット発電中さん:04/06/20 02:48 ID:SRStmtXc
www.opencores.org
807 ◆YMO/ALTERA :04/06/20 20:37 ID:vHz1WvCR
しょせん私はプロじゃないので、ちんけな高速化のためとかに
小技を時間かけて試行錯誤して盛り込む猶予があるのです。
プロの人は、定められた納期にきっちり要求を実装する
必要があるんで、逆にいえば、HDLとデバイスの知識がある
プロの方だったら、私ごときができていることは、時間さえあれば
朝飯前じゃないかなーと。

いつも師匠(プロです)から説教を受けているもので。

ところで、1C12も侮れず。件の回路、160MHzで回せそう。
808774ワット発電中さん:04/06/25 02:19 ID:0zbbbtSc
>770
書いてますがなにか?
for文で書こうが、8個書こうが合成すれば同じ回路になるとおもうんだが。
つーか
for文の多用ははやめてくれ、テストベクターだったらいいが
回路にそれ使うの。
何でソフト出身の香具師は(ry
809774ワット発電中さん:04/06/25 08:03 ID:pjaJxH15
合成結果が同じ回路になるなら、簡潔で間違いにくい記述法を選べばいいだけだろ?
810774ワット発電中さん:04/06/25 22:21 ID:TDOcZgSY
>>808
理由は?
811774ワット発電中さん:04/06/25 22:41 ID:O4z4+shr
SystemVerilogってどうよ?

設計言語の部分はともかくとして、モデリングやアサーションは
各社のシミュレータが対応してくれるんだろうか?
SVAをサポートするシミュレータはVCSしか今のところ無いしなあ・・・
812774ワット発電中さん:04/06/28 01:52 ID:XP68PiAj
>>810
for文多用すると、ゲートレベルに落としたときに
わけわからなくなって、回路を追いにくくなる。
まあ、8個のF/Fの例は極端だけど。
合成後の可読性も重要だと思うんだが。

813774ワット発電中さん:04/06/28 01:55 ID:PPT9F9nm
最終回路を意識した記述とか言うと、論理合成万能論者が出てきてそうでイヤだな。
814774ワット発電中さん:04/06/28 02:06 ID:XP68PiAj
>>811
SystemVerilogはSynopsysがしゃしゃりでてきてわけわかめ。
CADENCEがサポートを宣言したらしいが、あてにならん
1年は様子見だと思われ。
815812:04/06/28 02:26 ID:XP68PiAj
>>813
いや、論理合成はあくまで手段
その論理合成、ゲートSim、STAとかの後工程を楽に
するために、そういうことも必要ってことを言いたかっただけ。
FPGAの場合はその工程がものの3分とか10分で終わったり
するから意識しなかったりするけど。
そのソースをSOCに流用したりすると、後で大変なことになる。
816774ワット発電中さん:04/06/28 07:30 ID:TFFGklFg
>合成後の可読性も重要だと思うんだが。

えー、ネットリストの可読性なんてそれほど意識するものなのかなあ。
ゲートSimは波形、STAはクリティカルパスのレポートしか見ない
漏れはヘタレでつか?

ネットリストを追うのはあまりしないけど、
やるときはNovasのDebussyを使ってまつ。
817774ワット発電中さん:04/06/28 10:46 ID:dBltzFeJ
ラジオとかVHDLで書けますか?
できればそのままパソコン上で実行して聴けるといいのですが
818774ワット発電中さん:04/06/28 19:12 ID:XTJ0LCo3
>>812
for使おうが使わまいが、大して変わらん気がする。
それよりもソースレベルでの可読性のほうがよっぽど大事。
一般に古くからの回路設計者は、大義を忘れて細かいことにこだわ
りがちで回路記述の進歩が遅いと思う。回路設計始めて1・2年の新
人のほうがよほど効率的に仕事をこなす。
ゲートレベルの可読性を求めるなら if も case も使わず、
and or not xor だけで記述すれば良いのでは?
819774ワット発電中さん:04/06/28 19:55 ID:jGjLe6A3
> ゲートレベルの可読性を求めるなら if も case も使わず、
> and or not xor だけで記述すれば良いのでは?

漏れもそう思う。
そもそも合成ツールの吐き出す回路の可読性を
RTLレベルでハンドリングするなんて時間をかけても効果薄いよ。

それよりもRTLで可読性の高いバグ無し回路を作るのに時間をかけたほうが良い。
820774ワット発電中さん:04/06/28 20:56 ID:4wUgxxLO
それを言うならデバッキングツールとの兼ね合いという
ことになるんでは?

アルゴリズムや記述上の間違いばかりがバグの原因とは限らん。
821774ワット発電中さん:04/06/29 03:09 ID:Cp4gsVNx
シンプリファイPro使ってるがHDLアナライザのおかげでこっちが意図した
回路ができるようになったよ。(w
822774ワット発電中さん:04/07/10 02:44 ID:WGnKz+Sr
珍レジスター使用バグ

http://www.p-sharaku.ne.jp/bbs/img/61.jpg
823うんこ:04/07/10 13:45 ID:Rvk8VExt
>>822
うんこ、しかもびちぐそ画像
824774ワット発電中さん:04/07/10 14:28 ID:URSbmLu8
>>823
よかった〜、踏まなくて。何かやな予感してたんだー。
825名無しさん@そうだ選挙に行こう:04/07/11 17:43 ID:zfSFm2/Z
動かない…orz。ご存じの方教えてください。。
下記のことをしてるのですが「そりゃ違うべ」的ツッコミをいただきたいです。

YUV(ITU656)→RGB変換したい。verilog使用。
CCDカメラ→FPGA→RでDAC回路→液晶モニタ

入力:
 CCDカメラから8bitデータと27MHzクロック。
 インターレース。
 タイミングリファレンスシグナル(有効無効データ,1面2面,VHブランキングを示す)の後、
 CrYCbYの順。
出力:
 RGBそれぞれ8bit。
 ノンインターレース。

1.入力のタイミングリファレンスシグナルを捕まえる
2.有効データをRGB変換
    R = 1.164(Y-16) + 1.596(Cr-128)
    G = 1.164(Y-16) - 0.391(Cb-128) - 0.813(Cr-128)
    B = 1.164(Y-16) + 2.018(Cb-128)
3.DPRAMに書く(出力をストレートで読むために1lineごとにアドレス制御)
4.液晶モニタの周波数に合わせたHSYNC,VSYNCに合わせてDPRAM読む。

液晶モニタには黒っぽく砂画面状態、でも蛍光灯とかにおぼろげながら反応してるっぽ。
カラーバーを出力させてみたら思い通りなので手順4.以降は合ってると思うのだけど(意味ねぇ

それともものすごい勘違いをしているのだろうか
というかスレ違いなのだろうか
長文スマソ
826774ワット発電中さん:04/07/11 19:52 ID:tMLH7EHA
単に整数演算にされてしまったとかいうオチがついたりして
827名無しさん@そうだ選挙に行こう:04/07/11 19:59 ID:YPjKSr9B
>>825
CCDカメラからまともな信号出てるか?
実はCCDがまともに動いてなかっただけ、というオチは良くある。
先日はめられた事例、動かねー動かねーと悪戦苦闘していたらCCDの感度が
極端に低かった。500Wのライトを直近で焚いたら動きだした、というアホな事例
もある。
828名無しさん@そうだ選挙に行こう:04/07/11 20:17 ID:n2hobdq2
>>825
計算は間に合ってるか & アドレス大丈夫?
829774ワット発電中さん:04/07/11 20:23 ID:zfSFm2/Z
レスありがとう。・゚・(ノД`)・゚・。

>>826
Σ(゚Д゚) !!
チョト思いついたことがある!俺、小数点演算解ってねぇかも。
(すみません、俺のレベルの低さはカンベンしてください)
R = 1.164(Y-16) + 1.596(Cr-128)
この計算をするときに、
R[27:0] = 1164d * (Y[7:0] - 16d) + 1596d * (Cr[7:0] - 128d)
※dは10進数ね
として、RAM書きするとき下位3bit棄てて[27:3]をRAM書きしてた。
もしかして16と128の小数点位置が違う?いやでもカッコ内だから関係無い?
ていうか全然違う?


>>827
タイミング信号はそれっぽく出てるみたいです。
その間のCrYCbYは、まともなデータかどうか判断つかない(わからん)
>500Wのライトを直近で焚いたら動きだした
…え。そんなんあるんだ。(゚Д゚)ガーン
そういえば先週使ってる途中で27MHzのクロックが段々遅くなってきて
しまいにゃ数十Hzまで落ちたことがあった。壊したか!と思って、秋月で注文しなおした後に
また動き出した……orz
まともに動いてるとは言い難いな…


>>828
げっ。そういえばfmax指定してない…orz
あ、でもコンパイルレポートでは速度は出てますた。
アドレスは、シミュレーションでは確認してるんだけが…。
設計に穴がないか落ち着いて見直します!
動かなくてかなり焦ってたので
830829:04/07/11 20:33 ID:zfSFm2/Z
間違った

>RAM書きするとき下位3bit棄てて[27:3]をRAM書きしてた。
ではなく、
[10:3]をRAM書きしてました。この辺、かなり怪しいかも
831827:04/07/11 20:46 ID:YPjKSr9B
>>829
TRS(タイミングリファレンス・・・)の分離まで出来てるんだったら、Y信号の分離は簡単
だろう。カラーマトリックス演算直前のY信号上位2bitくらいを外部に出してオシロ
で確認せよ。俺はこの方法で入力が正常か判断している。
FPGA内のバグで苦しめられるのは諦めも付く。
でも入力がまともで無いと分かった時には、腹立たしさより気分が萎えてやる気
が失せるから、先に確認しておいた方が精神的に良いと思うぞ。
832774ワット発電中さん:04/07/11 20:59 ID:zfSFm2/Z
>>831
ありがとう。えっと
ロジアナで1フィールドくらいモニタしてみたけど、
それがまともなデータかどうか、どうやって判断すればいいのでしょうか
ブランキングのところの80,00の繰り返しは正常に出てるっぽいです。
それ以外は、とりあえずパタパタしてればいいのかな…
あぁしかし精神衛生のためにも入力は確認せねば。
833774ワット発電中さん:04/07/11 21:25 ID:n2hobdq2
ランプ信号でも入れられればすぐわかるんだがカメラかぁ....
10ステップのパターンをプリンタで印刷して画面一杯に
なるように撮影するか?

ちょっと気になったがオーバーフローの処理はどうなってる?
834827:04/07/11 21:46 ID:ZGJKxCu2
>>832
ちょいまち。ブランク部分のY信号になぜ 80 , 00 が出てくる?
それ CbCr も混じっているんじゃないのか?
CbCrが混じっている状態で確認をするのが難しいから、Y信号だけにして見よ
と言っているんだよ。
それといきなり1フィールドもモニターするな。1ラインモニターからやっていくべき。

《確認方法》 (最も低レベル)
例えば、白いコピー用紙に少し太めの黒い縦線を3本書く。それをCCDで撮影
する。回路が正常で感度もそれなりなら、Y信号の最上位ビットの波形が、
Hdisp内で基本的にHで黒線に対応した部分で3回Lに下がるからそれで確認
するんだよ。
ついでに白レベルのHEX値も当たりを付けとけ。D7=D6=H ならそれなりだが、
D7=L,D6=H なら感度が設計の半分以下、D7=D6=L,D5=Hなら1/4って具合だ。
先に書いた500Wのランプ云々はこの方法で辿り着いた。
835774ワット発電中さん:04/07/11 21:55 ID:zfSFm2/Z
>>833
ありがとう。
(´-`;).。oO(オーバーフローに関して何もしてないなんて言えない…)
(´-`;).。oO(…ていうか、演算後のどのbitを残せばいいか解ってない…)

すみません!
R[27:0] = 1164d * (Y[7:0] - 16d) + 1596d * (Cr[7:0] - 128d)
これの後、
[10:3]を抜き出す(下位3bitは破棄)のは、少数演算的に合ってる(勘違いしてない?)のでしょうか。

そして
オーバーフローに関しては何もしてませんでした。
CrCbを-128することでデータ範囲は0〜255になるんですよね。
どうするべきなのか解ってないのですが
演算後、上位all(もしくはxbit) 1 だったら、クリップする、とか…?

>>834
ありがとう。
そうか、Yだけを見るんですね。1ライン、了解です。
確認方法、ありがとうございます!(5分読み返してやっとこ理解しました。開眼しました)
ありがとう!早速明日やってみます!(環境が会社に置きっぱなしなので)
836827:04/07/11 22:01 ID:ZGJKxCu2
続き

ついでに書いとく。先の方法で期待通りの値が出たなら、次はランプ信号を入力
する。俺がCCDにランプ信号を入力する時に良く使っている方法。
少し暗めの紙(ダンボール等)に斜め右側(上下方向はずらさない、真横)から
照明をあて、輝度の濃淡を付ける。これを正面から撮影してY信号の波形確認
を行う。カウンター出力のような信号、Hdisp期間でD6がD7の1/2の周波数(?)らしき
信号、D5がさらにその半分、D4がさらにその半分ってな具合だ。
これより下のビットは、ノイズにまみれている可能性が極めて高いので、確認
は上位4ビットくらいで十分。
837774ワット発電中さん:04/07/11 22:10 ID:zfSFm2/Z
>>836
ありがとう。(またも開眼しました)

入力信号を確認することについてマジで何も考えてなかった_| ̄|○
827氏(=>836)が書いてくれた方法を想像もしなかった。調べもしなかった。ヴァカでした。
ありがとう。
838774ワット発電中さん:04/07/11 22:19 ID:n2hobdq2
>>835
まずは引き算部分で(Y[7:0] - 16d と Cr[7:0] - 128d)
の二つは28bitに拡張してから演算しているかですね。
アンダーフローしてないかな?

最終的にはキャリ発生で最大値に固定するのが簡単だけど
まずは数値範囲の確認から。
839827:04/07/11 22:35 ID:ZGJKxCu2
>>837
ここまで書いといてこんな事いうのも何なんだが、>>835 読んでて小数点の位置
というか取り方を間違ってないか?って気がしてきた。

あーーーーっ、1164d 掛けてるのになぜ[10:3]なんだ。1164d=1.164 の意味なら
答えを1000dで割らなきゃならないんじゃないの。

それとエラソーな事書いてきたが、HDL は俺も初心者に近い。そっち方面は、
もっと偉い奴に聞いてくれ。それでは健闘を祈る。
840825@質問中:04/07/11 23:02 ID:zfSFm2/Z
>>838
ありがとう。
>28bitに拡張してから演算しているか
…してませんでした。

アンダーフローはとりあえず下位bit増やしておけばいいのか
28bit拡張は、例えば(Y[7:0] - 16d)は

kakko1[27:0] = ( { 17'b0, Y[7:0], 3'b0 }  -    { 20'b0, 5'h10, 3'b0} )     / 4'b1000
           ↑上位 ↑Y ↑オバフロ用   ↑上位 ↑16d ↑オバフロ用  ↑オバフロ用bit棄て

(オバフロ用bitが3bitなのは適当)
みたくなるのかな?


>>839(827氏)
ありがとう。
ていうか、いろんなとこ勘違いしてる気がしてきた…orz<脱力
下位3bit棄てることで、1000で割ってるつもりだったけど

 「  1 0 進 数 だ っ つ ー の !!  」

今、部屋の中で叫びました。階下住民様、うるさくしてごめん。
計算間違いは確定です。そうだよ、1000dで割るんだよ。

今晩中に式を立て直します。
841825@質問中:04/07/11 23:03 ID:zfSFm2/Z
また間違った…
>>840の「オバフロ用」は「アンダーフロー用」の間違いです
842774ワット発電中さん:04/07/11 23:26 ID:n2hobdq2
>>840
下位に3bit足すだけじゃアンダーフローは直らないぞ

Yがh10未満の場合はYを0にするようif文で
組んでしまった方が面倒がないかも。
843825@質問中:04/07/11 23:33 ID:zfSFm2/Z
>>842
ありがとう。
あ…、そっか、ifでいきます
844825:04/07/12 21:06 ID:CoYRCJvO
お世話になってます。>>825です。
今日はちょこっと改善して、ぐわっと怪しさ倍増でした。
結論から言うとまだまだです。

1.
まずは>>834の入力レベルの確認
コピ用紙にマジックで線3本書いてそれを映したときのYをオシロでモニタしたところ…
3本っぽく見えてました!…けれども
・Y[7]は黒線のところがLで(白いところはH)、Y[6]は黒線のところがHになってる(なじぇ?)
・TRSにトリガかけてるんだけど、Y信号が流れてしまう。
(3本線に見えたり、1lineまるっとLだったりHだったりガサガサだったり)
 Y信号が正しく取れてない? TRSから1clockおきに取ってるだけなんだが。シミュはokだったけど…

2.
1の怪しさを残しつつ(をい
>>838-839あたりの式修正。
画質が少し良くなった。と言っても、物の形は見れないし、エッジもかなり悪い。
でも「黒線が3本ある〜!」程度には見えた。

3.
しかしここでfmaxがかなり落ちたことに気付く。ていうかアウト。
/1000のところが一番遅いみたい。
ちなみに/1000をしない場合fmax=110MHzくらい。
わり算のところだけ、alteraのメガファンクション?使ってみる。レイテンシ調整でfmaxはクリア

4.
しかしわり算のシミュレーションしてみると答えが違う…

今日はここまででタイムアウトでした。
これからの作業フローはやはり入力レベルの確認からで、Y信号をもうちょっと追ってみます。
アドバイスいただけたおかげで、見直すべきところが見えてきました(ていうか穴、ありすぎ)

長々とスレ汚しすみませんでした。
進展あったら書かせてもらいまつ。
845774ワット発電中さん:04/07/12 22:37 ID:EsWjJp3/
係数の方を1.024倍しておいて、1024で割れば
速くなるんでないの。
オーバーフローの検討は必要かもしれないが。
846827:04/07/12 22:51 ID:Kq/lWePm
>>844
1.
文章だけだと判断し難いが、多分合ってると思われる。
単に黒が浮いているだけと思われる。黒線でも写真なんかで撮影すると、
テカリが出る事があるだろう。それかもしんないよ。
「流れる」も、TRSに対して黒3本が止まっていたら、ほぼ正解。1ライン
まるまるHやLは、Vblankか何かを偶々引っ掛けた時じゃないのか?

3.
お〜ィ。マジで 1000d で割ったのか?
そんな事したら果てしなく遅くなるぞ。割り算しないように係数(1164d)
の方を弄るんだよ。
847774ワット発電中さん:04/07/12 23:02 ID:CoYRCJvO
>>845-846
ありがとう
 orz…割り算…ウフフフ  (泣けてきた

>>846
1.
そか、VBLANKがあった。
黒3本が止まってる……とは言い難い流れようなんです。どうにか3本あるのはわかるのだけど。
まずはblank外してやってみまつ
848774ワット発電中さん:04/07/12 23:06 ID:bCc9cbHQ
>>844
具体的には最終結果が255フルスケールに収まるように全体を
スケーリングすると楽よ。(上位8bit)

トリガをTRSで掛けてるみたいだけどHDで掛けられれば横方向の
流れは止めやすい、pinが余ってれば観測用トリガを出力させて
みては?
849827:04/07/12 23:38 ID:Kq/lWePm
>>847
考え方間違ってる、blank外しちゃダメ。さらにわけ判んない波形になるぞ。
Vblankの所でトリガが掛からないようにするべき。
尤も俺はここまでしない。オシロでだいたいの当たり付ける程度で済ましている。
ノイズの影響で3本線が見え難くなってるだけ、って事もあるよ。
TRSだがSAVでトリガ掛けてるよね? まさかとは思うがEAV,SAV両方でトリガ
を掛けて、流れてるように見えてるだけ、ってなオチじゃない?
850774ワット発電中さん:04/07/12 23:42 ID:kodjaPaK
>>845
こういうアセンブラの時工夫したノウハウって結構今役に立ってない?
851825:04/07/12 23:55 ID:CoYRCJvO
>>848
ありがとぅ
>具体的には最終結果が255フルスケールに収まるように全体を
えと、255フルで動くように全体を調整しろってことですよね。

ていうか、俺、やはり解ってないぞ
算数が解ってない。
掛け算でbit幅増えるわけだが、最終的に8bit残したい場合どのbitを残すべきなのか。
今は、下位8bit取っちゃってます。(アンダーフローの処理後)
上はクリップしてます。

>スケーリングすると楽よ。(上位8bit)
上位8bitを調整するの? 上位8bitで調整するの?
すません

>HDで掛けられれば横方向の流れは止めやすい
HDってなんですか? OTL
ハードディスク? 水平ホニャララ?


>>849
はい、SAVでかけてまつ。了解です。

>>850
やはり皆さん、verilog/VHDLに辿り着く前に
何カ国語(違う)も修めてきてるのですね…
852774ワット発電中さん:04/07/13 00:01 ID:Z/J19FOc
>>851
> やはり皆さん、verilog/VHDLに辿り着く前に
> 何カ国語(違う)も修めてきてるのですね…

昔風(二十年くらい前)に言えば「ABC」を習得してた人は多いと思うよ。

アセンブラ(最低三種類位のCPU)、BASIC、C < ABC
今やそれに、Vが二種類と新しいCってところか。
853825:04/07/13 00:14 ID:nyX7Bcyz
>>852
ウヒャー イパーイ

なんていうか、他人様のソースをゲッツして読んでみると
自分とは、回路の捉え方とか構築の仕方とか
考え方がやはり違うんだなースゲーと思うことが多々ある。
一朝一夕でパクれるものではありませんが
854827:04/07/13 00:16 ID:86vmaalr
>>852
すごいっすね。
俺の場合、ABCはともかくV二種類はかなり怪しい。
新しいCに至ってはさっぱり分からん。

新しいCは、出来るようになると便利でつか?
855774ワット発電中さん:04/07/13 01:06 ID:/u0+BxuB
>>851
HD 水平ドライブ信号
各種アナログタイミング関連はこれを参考にするとわかりやすいかも。
http://www.sony.co.jp/~semicon/japanese/img/sonyj01/e6801439.pdf
(SAVがちゃんと分離できてればそれで問題ないです)

今頃気付いたが、NTSC出力が有ればテレビで画は確認できるよね。
明るさとかも直接見れるし、オシロのTRIG(VideoSync)が使えるし。
多分MTV-54K0DNかな?

スケーリングの件は実際のY/Cb/Crの最大値を入れて計算してみて。
(Blueが一番きつい?)
で、この最大値がb11111111XXXX(Xは桁数で変わる)になるように
全体に掛ける定数を求める。
上位から8bit使えばOKなように掛ける定数(1164とかの部分)を書き換えておけば
出来上がり。
856825:04/07/13 01:37 ID:nyX7Bcyz
>>855
ありがとぅ
HD了解しました。
>多分MTV-54K0DNかな?
何故バレタ───(・∀・;)───!!!

車ロボの目にしたかったの。RGBからデータ間引いてCPUに渡したかったんだ。
FPGAのが勝手利きそうだったんで。
NTSCの出力はちゃんと見れてるけど、FPGAでRGB変換できてるかモニタしてみたかったんです。
(そう、>>825はメインの作業ではなくデバッグ作業の一貫…orz)

スケーリングの件、…(・∀・)了解!!
857825:04/07/13 21:36 ID:nyX7Bcyz
お世話になってます。
(そろそろウザいでしょーか)

>>846>>849あたりを見直してみたら
入力信号はかなり正確にモニタできるようになりました。
(ノイズは見えるけど)

>>845>>846で指摘されたとおり割り算を修正
速度も改善。…なんだよぉ、速いんじゃんよぉ…orz

>>855のスケーリングを試してみました。
Blueの最大値に合わせて定数を決めて、RGBそれぞれにかける。
上位8bitをRAM書き。

モニタ映像は…をををおおぉ!それっぽく見えるじゃん!
(FPGAのメモリが少ないために狭い画面だけど)
ブラボォ!
───と思いきや、全体的に暗い。
白い紙を見せても強いグレーになってる…

スケーリングで持ち上げすぎ?
ていうか、255-0フルで動けてない?

今日はあんまし時間取れなかった…。ここまででした。
自分なりに調整してみたいところがいくつか(いくつも)あるので、まだまだ悩んでみます。
ありがとうございました。
858774ワット発電中さん:04/07/13 22:03 ID:WGnKAcSm
>>857
おお、画が出た!おめでとう。
あとは普通にデバックできそうですね。ガンガレ。
859827:04/07/13 22:40 ID:+PzHJGC0
>>857
おめでとう!!
絵さえ出りゃ後は見ながら出来るから気分的に楽だよね。

俺の要らん発言のせいで一時はどうなるかと・・・・・
後もう少し。がんがれ〜!
860825:04/07/14 01:14 ID:jZQRw10G
。・゚・(つД`)ノ アリガトー
861774ワット発電中さん:04/07/14 21:44 ID:E56PqpPp
>>857
んで、ロジックが完成したら、当然恩返しとして公開するんだろうね
862774ワット発電中さん:04/07/15 01:46 ID:qflcqGZ5
今時のFPGAで外部クロック160MHzは可能でしょうか?
一応、32bit Full Adderをフンダンに使用したアーキの論理を検討しています。
DMA機能を持ってるんで、アドレス加算機能は不可欠っす。
863774ワット発電中さん:04/07/15 04:30 ID:1HfzgFmc
このスレ系のニュースグループかメーリングリスト紹介してくだされー
864774ワット発電中さん:04/07/15 20:04 ID:VS+HQEy4
>>862
可能でしょ。ただし信号をだらだら流してるとクロック下がるから、適当にラッチ入れるとよろし。
865774ワット発電中さん:04/07/16 00:15 ID:WsBG8l1R
>>862
その周波数でDDR-SDRAMを動かした実績あり。
結構テクニックは要るが可能なレベルだよ。
866socket774@techno:04/07/17 01:19 ID:V8oxY2nD
今更ながらに、今見たもんで(w
>>825
自分は今ハイビジョン用のCCDのカラープロセス部分の
設計調整してるんですが、、、
カラーマトリックスの演算禿しく間違えてません?
私の場合1.164とか小数点交じりの計算する場合
電卓で256倍とか1024倍して8ビット(9ビット)や10ビット(11ビット)の
符号付の2進数にして演算(乗算)してますが。
(勿論その後少数点の位置にあわせて四捨五入とかして出力をあわせこむ)
こういう回路の調整するときはあらかじめテスト信号発生回路を
FPGA内に組込んでおくと問題の切り分けを含めて調整が楽になります。
自分はH、V方向ランプ波形、クロスハッチ、カラーバーなんか入れ込んで
やってますけど。

>>862
使うFPGAの物により可能。
確か上司がPC2100のDDRをStratixで動かしてます。
DQSが8bit毎にしかないって言って困ってました(w
2GBのメモリモジュールじゃ4bit毎なんですよ、DQSの信号線。
色々やって、ちゃんと動いてます。
867774ワット発電中さん:04/07/20 01:36 ID:fiuQ8gpL
ハードから入っていった人と
ソフトから入っていった人で
違うんだろうなぁ 考え方とか
868774ワット発電中さん:04/07/20 20:52 ID:uA7PsQwd
>>867
明らかに違うとおも
869アイラブ同期式:04/07/22 20:53 ID:E90sexcB
つりと思われるくらい厨な質問かもしれないが、マジなんで助けて下さい。
昨日、FPGA(ALTERA)の記述で上司から叱責を受けたのだが、内容がどうにも
納得がいかず、皆さんの意見を伺いたいと思いカキコさせて頂きました。

私はセミナーで「FPGAは全て同期式で設計しろ」と習ったものだから、基本的に
全てのDFFのクロック入力には共通のクロックが繋がるように記述しています。
(CPUアクセス用のレジスタなどWrite信号をclockとしている等、例外もあります。)
今、画像処理系のFPGAを設計しているんのですが、上司から「垂直方向の
処理回路には、水平同期信号をDFFのclock入力にしろ。」と言われました。
個人的には、System_Clock (dot_clock) を全てのDFFに突っ込み、水平同期信号
をスタートトリガとするように回路を組むのが、正しいと思っています。
上司にこの事を突っ込んだところ、「そんな事をすると回路規模が大きくなり
リソースを無駄に消費する。消費電力も増えるから止めろ!」と説教されました。

いまいち、この上司の意見に納得できていないのだが、やっぱり私がバカなの
でしょうか? プロフェッショナルの皆さん、御意見お願い致します。
870アイラブ同期式:04/07/22 20:56 ID:E90sexcB
↑ ありゃ。 IDがなんだか卑猥!
871774ワット発電中さん:04/07/22 21:14 ID:q4vnipDD
>>869
Eカップ90とIDセクースおめでとう。うらやましい奴め。
怒りは解るが、通常sage進行してるスレをageるの程の事かな?まぁ餅つけきたまえ。(w

さて、その上司は古くから設計をしていて回路図でしか設計をしたことが無いような
方ではないかな? これはかなりありがちで、同期式回路はでかいとか、速度的に
不利になる、消費電力が大きいと自分の常識だけで怒っているに過ぎません。

頭が今風で無い方に現在の常識を押しつけるのははっきり言って酷です。 が、これが
上司となると実害が大きくて困りますね。

グローバルクロックを分けて低速部を作るのも一つの手ではあるけど苦労に見合うだけの
結果が得られるかどうかは非常に疑問。
872774ワット発電中さん:04/07/22 21:51 ID:uda+9uTZ
>>869
製品として、消費電力がどの程度重要なのかによるかと。
動けば良いのか、消費電力を下げることを目的に開発しているのか、
自分が作っているデバイスのセールスポイントを確認してみては?

完全同期回路は、ちょっと前まではやった話。
今は、不要なところは部分的に低速クロックで動かすという手段の方が
増えつつあると思う。
873アイラブ同期式:04/07/22 23:38 ID:Go0+rg7u
御意見ありがとうございます。
>>871
ゴメンナサイ。チョット頭に血が昇っていたかもしれません。
御指摘の通り、この上司は現在でも回路図ベースで設計してます。
チョット覗いてみた事もあるのだが、非同期回路もいっぱい入っていて、
レポートはワーニングの山でした。(この時点でバカにしてるのかもしれませんね。)

FPGAに移行する前に、高速部・低速部に分けて設計した事もあるから、設計
出来ない事もないです。でも高速部・低速部のデーターの受け渡しというか、
タイミング考えるのがメンドクサイと思ってしまいます。この場合のタイミング検証
って自力でやんなきゃだめですよね。

さーて、上司への対応どうしたもんか・・・・・  悩みます。


>>872
消費電流は無問題です。ハード見たが、アナログ部(A/D,D/A)の方が
ガバガバ電気食ってるみたいです。
「消費電力増えるから止めろ」は、「意味も無く無駄な回路組むな」の意味の
ようです。

完全同期式は流行遅れなんですか。 _| ̄|○
私の上司の言い分も、間違いってわけじゃないんだー。

さらに厨な質問かもしれませんが、不要なところのクロックを落として低消費
電力化って図れるものなんですか? 消費電流見積り用の計算式を見る限り、
データーの平均反転確率が最もウエイトを占めてるように感じます。
データーラインの平均周波数(?)が同じなら、供給クロックの高低はそれほど
大きく影響しないような気もするのですが、どうなんでしょう?
874774ワット発電中さん:04/07/22 23:45 ID:q4vnipDD
> 完全同期式は流行遅れなんですか。 _| ̄|○

FPGAの場合別に時代遅れでもないよ。
そう言ったチューンをしてる時間より次のプロジェクトって感じで
TAT重視だと凝った設計をしてる時間が無いと思うし。

個人的にはツール側で対応しない限り積極的にやろうとは思わないな。
875774ワット発電中さん:04/07/22 23:48 ID:q4vnipDD
> 電力化って図れるものなんですか?

試したことが無いので良くは解らないけど、クロックが供給されているゲートは
H、Lするんだからただクロックが供給されているだけでもクロックバッファは、
無駄に電気を食うし、高速なクロックになれば顕著でしょうね。
ただ、問題になるほど食うのか?劇的に改善するのかって部分は、?ですね。
876774ワット発電中さん:04/07/23 00:05 ID:BtMk59Mb
>>869
漏れと同じ流儀なのですね。しかも同じ画像系。
件の上司が872が考えているようなレベルで考えてるなら一理
あるけど、未だにTTLライブラリ使って回路図入力してるような
古い人が多いから単に古い常識に囚われていると思われ。
カウンタのデコード結果を非同期リセットに入れろとか言いそうだ。
つか、どうせHDL読めないから適当にごまかしとけば?w

871,872が書いてるけど今時は内部信号をグローバルとして再分配
する事が可能だから低速クロックを作ってという解も有る。
グローバルとして分配できないならリソース食い潰すので問題外。

ただし垂直処理回路の出力が水平処理回路より遅延が出る分、
垂直処理回路の出力をクロックで再び叩くような場合は速度が
落ちるし、タイミングアナライザ見てレーシングが出てる可能性
もある。真っ赤になったタイミングアナリシス見せれば上司も
おとなしくなるかも知れない。

それでも譲らない石頭だったら垂直処理回路の出力をクロックで
再び叩く個所をイネーブル付FFにして水平の特定位相の1クロック
だけで叩くようにするとかして逃げる。
877アイラブ同期式:04/07/23 01:09 ID:2bAyyiY+
即レス感謝です。ありがとうございます。
>>874
そう言って頂けると非常に安心します。
FPGAで完全同期式で設計するようになってから、「細部のタイミング検証から
やっと開放された!」と非常に喜んでました。
完全同期式でやる前は、いちいち各場所のタイミングをnsecオーダーで計算
したり、ラッチミスが発生する可能性のあるポイントは何処何処で、と考えながら
設計してました。今はFPGA入出力PINのsetup,holdだけ気にして、タイミング的
にはブラックボックスとして扱っています。

これをまた不完全同期に戻すのか、と考えるとチョット鬱になっていました。

>>875
ああ、やっぱりそうですか。
CPUなどと違うから、あまり効果無いかなと思ったもので・・・・・

↓続く
878アイラブ同期式:04/07/23 01:14 ID:2bAyyiY+

↓続き

>>876
似たような考え持ってる人がいると安心できます。ありがとうございます。
小企業勤めなもので、周りに議論できる人がいません。本とセミナーで学んだ
ものですから、いま一つ自信が持てないでいました。
件の上司=頭が古い人、で決定しちゃってもいいのかな?

>HDL読めないから適当にごまかしとけ
これが、中〜途半端に読めたりするから困ってしまったりするんです。
Verilog読めないはずだから、全部Verilogに書き写すか(藁)

そういえば件の上司が3ヶ月くらい前に、「グローバルラインが足りん」とか文句
言ってたな〜。
タイミングアナリシスの見方知ってるかなー。だいたいレーシングを解っていない。
半年くらい前に、外部入力の信号を非同期のクロックで叩きその信号をカウンター
のクロックに入れてって回路作ってたなー。当然誤動作。

その人の作った基板、RCフィルターがALTERAの周りに何組も付いてた。
まさかと思うが凄い事してるのかも。
879アイラブ同期式:04/07/23 01:24 ID:2bAyyiY+
↑あっ、スマン。またageてしまった。
調子ぶっこいてカキコしてると、すぐsageるの忘れる。_| ̄|○
880774ワット発電中さん:04/07/23 01:29 ID:PNYU1wMS
>>878
その上司さんも懲りない人だよね。(w
漏れが業界に入ったときは、だんだんGALとかCPLDが多くなってきていて
それでも足りない部分はG/Aでと言う時代だったから、ASIC屋さんとの話や
Simの都合で非同期回路は親の仇の様に嫌ってますよ。

ASIC屋さんとつきあいが無かったらクロックやシビアな信号線にコンデンサを・・・
って手で逃げることに慣れてしまって同期式の有り難さに気づかないでしょうし
コンデンサ付けがデバッグだと勘違いしてしまいがちだからね。
それで、FPGAの性能が悪いと逆切れされたりしたらたまらんでしょうなぁ。
881アイラブ同期式:04/07/23 02:06 ID:2bAyyiY+
>>880
レスありがとうございます。

件の上司、G/Aの経験もあるのだが・・・・・
私はG/A全く知らないのですが、聞いた話だと何処かのセンターに行って、
WS借りて、回路記述して、サポート受けて、シミュして(ここまで約1ヶ月)
3ヶ月後くらいには完成というものだったらしい。
当時のドキュメント見た事があるが、思いっきり回路図で一部非同期回路
も存在していた。タイミング的にクリティカルになりそうなところは、クロック
が個別のピンに割り振られていた。G/Aに位相が微妙に調整された
クロックを、数種類外部からぶち込んで動かすような石です。
882774ワット発電中さん:04/07/23 02:09 ID:jGOHqCtT
ASICの世界では同期式から非同期式に時代が逆行し始めているってホントですか?
883774ワット発電中さん:04/07/23 02:14 ID:PNYU1wMS
>>882
そう言う話も聞くけど現実にツールどういう風になってるのか、どんな風に回路を
実装しているのかは聞いたことがないのでよくわからんです。
論文レベルでは有効性が認められてるし、理論的に早くなりそうなのは解るが
漏れの手の届くところにないから今は上場レベルで十分だと思ってるけど。
884アイラブ同期式:04/07/23 02:15 ID:2bAyyiY+
ふぁ〜。疑問の思ってた事(殆ど愚痴になってるが)カキコしてたら、なんかチョピーリ
スッキリしてきました。今日は普通に眠れそうです。
皆さん、厨な質問に御付き合い頂き感謝です。眠くなってきたんで、今日はもう
寝ます。ありがとうございました。
885774ワット発電中さん:04/07/23 10:34 ID:w5tBdh7i
>>881
> 当時のドキュメント見た事があるが、思いっきり回路図で一部非同期回路
> も存在していた。タイミング的にクリティカルになりそうなところは、クロック
> が個別のピンに割り振られていた。G/Aに位相が微妙に調整された
> クロックを、数種類外部からぶち込んで動かすような石です。

ちょっと昔のやっとサブミクロンになった頃ならバリバリの正統的設計だよ
だけど今もコレじゃちょっとね…

今時のFPGAは完全同期で設計できるようにクロックネットツリーが
一昔前の常識ではありえない程に強化されてるんだから、それを
使わない手はない。電力消費もクロックツリーが主なので
一部回路に低速クロックを採用してもさほど小さくならないだろう。

ASICだったらクロックツリーを減らすことで電力削減できるが、
FPGAでは、すでにクロックツリーが存在して、使っても使わなくても
電力をバカスカ食ってるんだから、使わにゃ損々だよ
886774ワット発電中さん:04/07/23 11:48 ID:dYbfsmbj
>>885
リターゲットの予定が無いなら変な小細工不要だろうね。
887774ワット発電中さん:04/07/23 15:34 ID:tvpk+FsV
CCDカメラ弄ってる奴
FPGAのソース晒せば添削してやるぞ
888774ワット発電中さん:04/07/23 16:02 ID:PNYU1wMS
>>887
何様?
てか暑さで頭ショート?
デバッグしてあげるから君の脳のソースを公開しろよ。
889774ワット発電中さん:04/07/23 16:16 ID:tvpk+FsV
>>888

そか
890774ワット発電中さん:04/07/23 17:13 ID:tvpk+FsV
安月給だからって絡むなよ
891774ワット発電中さん:04/07/23 18:15 ID:nZRB73Xp
超初心者なので質問のレベルが低くて恐縮です。
実際の開発で、function文やprocedure文って使いますか?
892774ワット発電中さん:04/07/23 18:41 ID:w5tBdh7i
>>891
論理合成では使わない/使えない
シミュレーション用のテストモデルなら使いたいだけ使え
893774ワット発電中さん:04/07/23 18:49 ID:PNYU1wMS
>>891
漏れの場合だがVerilogの場合は、function文を使いまくるけど
VHDLのprocedure文て使ったこと無い。
894アイラブ同期式:04/07/23 20:10 ID:wcU6oXTZ
御意見ありがとうございます。

>>885
そうなんですか。昔はあれが正統だったんですか。
自分が井の中の蛙だと思い知らされます。 _| ̄|○
こういったトレンドって数年で変わっていくものなんですネ。
これから先、私は果してついていけるかどうか、ちょっと不安になってしまいました。

FPGAのクロックツリーとか設計した奴って、純粋に凄いと思う!
この御陰で同期式設計ができるんですものネ。
895774ワット発電中さん:04/07/23 22:59 ID:a4gQMWQh
>>892
何じゃそりゃ?
896774ワット発電中さん:04/07/24 13:26 ID:i1ssZUyW
>>892
function文が使えない論理合成ツールなんて今時あるのか?
すげー昔のDesignCompilerだって使えたが。
適当な事言っている夏厨か?
897774ワット発電中さん:04/07/25 00:34 ID:XUmfqyqa
>>894

単一のクロック設計で統一しておいたほうが良いよ。多クロック使用は経験を
積んでからにしたほうがいい-メタステーブルなどの同期回路の理屈を十分に
理解したほうが良いよ。

TTLなどのゲートで回路を組んでいた人は、完全同期回路を使うことが出来
ないし、前述にあるけど、タイミング合わせなんて技を使う人もいるからね。
(という傾向があるのね)

多数クロックも使うけど、チマチマと使っているのなら、その意味は無いよ。
たとえば、全体が20%以上が別クロックを必要としているのなら、2つの
クロックは意味はあろうが、ほんの数%程度なら意味はないよ。
898774ワット発電中さん:04/07/25 20:59 ID:6PVi99KA
>>891
俺は結構使ってるよ。
必ずその後にラッチ通して、全体としては同期回路になるようにするけど。
function だけで完結する回路は作らないけど。
899774ワット発電中さん:04/07/26 00:41 ID:ofjehDef
初心者です。
初歩的質問なのですが、HDL用のエディタで何か良いのありますか?
とりあえずQ2のWeb版でやってるんですけど、HDLの予約語の表示色が変わってくれてスペルチェックしてくれるだけでも随分助かっているんですが、機能とかいまいちみたいなんで、良いのがあったら教えてください。
900 ◆YMO/ALTERA :04/07/26 00:54 ID:VmbUsEXh
おいらは emacs の verilog-mode.el 使ってるyp!!!
901774ワット発電中さん:04/07/26 01:40 ID:pmErbr7p
>>899
漏れはK2Editor。
いろいろと存在するフリーツールの中では一番使いやすかった。

有料エディターでは、ペギーってのがCSVに正式対応しているらしく使ってみたいのだが
なかなか、時間が無くて試せていないのが現状です。
902774ワット発電中さん:04/07/26 15:23 ID:glrrc9ji
emacsでスペルチェック,表示色変更等全く無しの
環境でやってる我々は時代遅れさんですか?
903old type:04/07/26 19:54 ID:RYwhC+ng
俺は、英文書くときにスペルチェック(ispell)はするが表示色変更はしない。
emacsは常に -nwでしか起動しない。俺のマシンにマウスなど不要。
904774ワット発電中さん:04/07/26 20:44 ID:h8NS8I/t
>>902
単純な文法ミスなどしないと断言できるなら別にそれでも良いんじゃないの?
ほんの数年前まで、便利なエディターなんて存在すらしなかったのだし。
905アイラブ同期式:04/07/26 21:06 ID:w/vGXHv9
>>897
レスありがとうございます。
みなさんにいろいろ御意見を頂いて、私の中では方針がかなり固まってきました。
後は、対上司戦略をどうするかだけです(藁)。 あぁ〜 頭が痛い。

不完全同期式でも設計できなくはないですが、とーっても面倒に感じます。
特にタイミング検証、もう考えたくねー!って感じです。
906774ワット発電中さん:04/07/26 21:27 ID:h8NS8I/t
リターゲット、デバッグを考えると非同期回路をFPGAに入れようという思想が
かなり愚かと言うことに気づかないのだろうかね?>上司君
907774ワット発電中さん:04/07/26 22:03 ID:RYckSoBc
>>906
ゲートアレイの感覚に捕われてるんじゃ無いかな>>上司

FPGAは完全同期設計に最適化されてるってことを
理解させる必要が有ると思われ。
908774ワット発電中さん:04/07/26 22:21 ID:h8NS8I/t
>>907
G/Aの時はメーカーの担当者からうるさく同期化しろと言われましたよ。
もうかなり前だけど四社程のメーカーで、G/A、S/Cを何点も起こしたけど
同期化と言う点だけは何処も共通してうるさかった様に記憶しています。

ただし、メーカーの担当者が非同期回路を入れさせろとうるさい客が居て
対応に苦慮しているとこぼしていた事を思い出すに、上司君もその類だった
のではないかと想像しています。
909アイラブ同期式:04/07/26 22:45 ID:W2YHMKKi
>>906-907
レスありがとうございます。
それを何と言って納得させるか、ってとこが問題なんです。
後輩ならガツンと言って終い。同僚ならバーカで終い。上司なら・・・どうする?

今、考えてる選択肢
 @上司の言う通り非同期回路にする。 ⇒ 嫌だー!(魂の叫び)
 A上司が見て理解できない記述にする。 ⇒ 後日私が見ても理解出来なかったら困る。
 B上司の知らない言語(Verilog)で記述。 ⇒ 今から書き直すのは面倒。
 C上司を説得する。 ⇒ かなり難しい予感。CするぐらいだったらBの方が早いかも
 D完全無視を決め込む。 ⇒ 後々面倒。仕事がやり難い。
 E上司の指摘事項を忘れた事にする。 ⇒ 私がバカみたいでチョット抵抗あり。
 F>>876さんに教えて貰った方法(下3行)で逃げる。指示に従った事にして、
  後はとぼける。「えぇ〜こういう意味じゃなかったんですか〜?」みたいに。

今のところ EF が有力です。
910アイラブ同期式:04/07/26 23:07 ID:W2YHMKKi
>>908
少し昔のGAの場合、非同期回路も正統と上のカキコでもありましたが、なんだか
だんだん混乱してきた。 単に時代の流れの、移り変わりの問題?

私はGA全く知らないので、間違った事を書いてたらゴメン。
件の上司がGAする時に、メーカー担当者が「非同期は絶対ダメ!」と言って
くれていたら良かったのにと思います(グチグチ・・・・・)。担当者さんゴメンヨ- !
上司が今まで非同期でいろいろやってきた分、プライドとか大いにありそう。
いろんな意味で怖いです。
911774ワット発電中さん:04/07/26 23:09 ID:h8NS8I/t
非同期式回路のメリットが、同期式回路のデメリットを越えるのかを
論理的に説明して貰えばいいんじゃ?
ツールも含めてね。

FPGAに非同期式回路を入れろと間抜けなことを言う奴に、きちんと
説明が出来るとは思わないが。
912774ワット発電中さん:04/07/26 23:15 ID:h8NS8I/t
>>910
メーカーは客が全てだから、うるさく言われれば非同期回路でも担当者が動くように
細工していた可能性が高い。
当然、Simではワーニングが出まくりなので解析は大変だったはずだが、本人は苦労
していないなら非同期式回路もASICに入ると言う認識になるだろうね。

メーカーの発行している、ASICのマニュアルにはこういう非同期回路は入れるなと言う
禁止回路を載せて同期設計への移行を促していた様に思う。
913アイラブ同期式:04/07/26 23:34 ID:W2YHMKKi
アドバイスありがとうございます。

>>911
私はまだ、その場で即反論出来るほど極められた人では無いんで、それやると
墓穴掘る恐れがあって出来ません。orz
それに更にわけわかんない事言われたら、また夜眠れなくなるから止めときます。
せっかくのアドバイスを無駄にしてゴメン。

> ツールも含めてね。
「俺はできている!」と言われるのがオチ。 ← この辺のプライドが怖い。

>>912
裏で笑われて 困ったチャン 扱いでもされてたのかな?
914774ワット発電中さん:04/07/27 00:03 ID:4/fwi9UG
G/Aやスタンダードセルの場合は、半導体メーカー側のエンジニア(ま、エンジニアというより
技能者って感じだが)が泣くケースが多い。大手のセット屋の不完全なRTLを渡されて、
デバッグそして論理合成と多相クロックのP/Lなど、さ。ってことで大手のセットメーカーの
エンジニアなんてたいしたことはない。 でも、そのうち、大手のセットメーカーなんかも
P/Rを自前でやるようになって、気分は変わってきたが、彼らはバグがあっても、ファーム
屋に泣いてもらえばいいから、結構いい加減だったりする。
915774ワット発電中さん:04/07/27 01:46 ID:1TgA9IwS
>>914
まともなメーカーのエンジニアと仕事したことないんだね。かわいそうに。
916774ワット発電中さん:04/07/27 01:56 ID:SC0k37bp
つーか、相手にするなって。
いきなり的外れな訳のわからん事を言い出す奴はまともじゃないんだし。
917774ワット発電中さん:04/07/27 10:06 ID:LqzLvtte
>>

安月給でメーカーに苛められてるらって絡むなよ
918914:04/07/27 13:46 ID:4/fwi9UG
ま、多いと言う事実なんだから、仕方ないべ。俺は設計屋のほうなので、
こういった仕事はASICの専門部隊の仕事なんで、関係はないが、愚痴を
聞く機会は結構あった。

相手企業は世界的に有名な会社ばかりだよ。

ASICそのものが衰退であるんで、こういったしわ寄せはP/R会社(XX印刷とか)
に行っていますよ。彼らに本音を聞けばわかるがね。

客先にクレームをつけるのは難しいので、内部処理なんで表には出ない。
それに大手セット屋で派遣や出向だらけなのはよく聞く話なんでね。

「訳がわかんね」じゃなくて、本当のことを知らせれていないということかもね。

>>912 さんもこういっている:

>メーカーは客が全てだから、うるさく言われれば非同期回路でも担当者が動くように
>細工していた可能性が高い。

とあるんだから、業界では常識と考えたほうがいいかもしれんよ。
919774ワット発電中さん:04/07/27 14:11 ID:3k8ab86g
912だけど、世の中客の立場で話すと自然と傲慢になる物でしょう。(w

メーカーの製品設計担当者に友人がいるから内情は解るんだが、昔みたいに
初期の設計からASICを起こすまで一人で担当して、ASIC屋と連絡を密にとり
お互い泣く所や落としどころを知ってる関係ではなくなってるパターンが多い
みたいだね。

だからノウハウが無い担当者がASIC屋に無理難題を押しつけてしまう事が
増えているのが現実の様だ。 デザインウェーブでエンジニアはいろいろと
広い知識を付けるべきとやっているのにはそれなりに意味もあると痛感する
今日この頃です。

メーカーも人あまりの人材不足で出来る人間にはなかなかお目にかかれない
のが現実と言ったところでしょうか。

無理してでも新人を現場に投入しないと人材育成にならないと言う判断も働いて
いるようだけど教育仕切れていない連中と仕事をする人のことを考えると気の毒
です。
920socket774@techno:04/07/28 02:27 ID:VN8o2jxn
聴く耳を
塞ぎ怒るは
「バカの壁」

お粗末

ずっと昔アイラブ同期式さんの上司と同じことを
言った上司がいたなぁ。結局同期式に戻したけど。
こんな上司ほど動かない時後で責任転嫁しやすい。
G上司の上司に「彼」の素行を相談するってのも手かも。
(上司の上司もひどかったら意味ないっすけど)
921774ワット発電中さん:04/07/28 09:04 ID:pm5a8zOo
何気なくエディタのMIFESをバージョンアップしたら
VHDLの予約語の色が変わっていた。拡張子を見てくれてるんだな。
922アイラブ同期式:04/07/28 21:46 ID:dr+KGLVZ
レス&御意見ありがとうございます。
ASIC屋って想像以上に大変なんですネ。学生の頃、その道に憧れた事もあるから
ちょっとショックです。 逝かなくて良かった〜 ブルブル

>>920
アドバイスありがとうございます。
責任転嫁できても、最終的には私の手元に戻ってくるものと思われます。
二度手間になる可能性が濃厚だし、客先の心象を悪くする事だけは避けたいです。

その手Gは使えません。なにぶんにも小企業ゆえ人が少なく、
上司とその上司の間は年齢が大きく空いています。よって上司の上司は、
旧石器時代の言葉(技術語)の通じない人です。

少し違うが、私の信頼する 上司の同僚 の人(要するに他所の課の上司で、
且つ私のもと上司)に休憩時間この話を振ってみたところ、
「あいつは人の言う事を聞かないから、諦めた方がいいよ。」と諭されました。
923774ワット発電中さん:04/07/29 00:21 ID:EwI5oHqU
>>921
おお、MIFES使いがいる!
924774ワット発電中さん:04/07/29 02:30 ID:ANilLgMo
>>922
大切なのは君のその悔しい気持ちを将来君の部下にさせてはいけないって事だろう。
925アイラブ同期式:04/07/29 21:40 ID:S+cjj2Y8
>>924
アイタタタ! その思考、確かに欠落してました。 忘れないように肝に命じておきます。

10年20年後には逆の立場になるわけで、その頃のトレンドに自分が付いていけてるか、
かなり怪しい予感がします。同期式どころか論理回路も無くなってたりして。
  「いまだにHDL使ってる香具師の数→」 「FPGA世代は逝け」
  「システムを論理的にしか考えられないじじいはゴミ」
この板にこんなスレ出来てるかもしれませんしネ。(笑) ←笑えないかもしれないが・・・・・

いつでも頭は柔らかく! ですかねやっぱり。
10年20年後を考えると ワクワク→ドキドキ→ウツウツ って気になります。
926774ワット発電中さん:04/07/30 23:15 ID:NThrjLwu
同期式について質問です。
たとえば、16段のカウンタがあったとして、9段以降はカウンタが二つあってそれぞれ外部信号でアップカウントかダウンカウントか制御できるようになってる。
というようなものを同期式でやるにはどうすれば良いですか?
9段以降を同期でやる必要があるかどうかは別として、実現可能?
実現可能としても面倒な記述になりそうな気がするんですが、私には無理。

9段目以降のカウンタのクロックに8段目の出力を使ったとしても、論理合成ツールが勝手に同期式にしてくれたりするツールなんてないかな?
927774ワット発電中さん:04/07/31 01:34 ID:ZK32mL69
>>926
普通は問題無く同期回路で実現可能。
ただし、外部からの制御信号がクロックに対して非同期な場合、
制御信号を同期クロック系に叩き換える必要がある。

制御信号自体のトグル周波数がクロック周波数に近いか、それ以上な場合は
同期回路での実現は無理。
928774ワット発電中さん:04/07/31 01:43 ID:ivkao9gn
>>924
おお!
929774ワット発電中さん:04/07/31 03:55 ID:wHJ3Qgx/
>> 926
16段 (16ビットのことか?) と考えずに、8bitの単純カウンタが一つと
8ビットのアップダウンカウンタが 2つあると考える。8bitの単純カウ
ンタのビットが全て 1のとき、次のクロックでアップダウンカウンタを
+1または-1する。 >>927 の言うとおり、クロックに非同期な外部か
らの信号は同期化する必要がある。メタ・ステーブルに気を付けれ。
なお、ここでのカウンタは2進カウンタと想定している。
930774ワット発電中さん:04/07/31 08:36 ID:bJpuPnxP
> 制御信号自体のトグル周波数がクロック周波数に近いか、それ以上な場合

そういう場合は外部信号のクロックでカウンタを動かすしかない。
カウンタの出力を何かの値と比較した結果信号を
同期回路クロックに叩き換えて、順序回路の状態遷移条件信号とする場合に
肝なのはバイナリカウンタにしないでグレイカウンタにすること。
グレイカウンタならグリッチが発生しないのだ。
931926:04/07/31 09:24 ID:U4Cyt9a0
>>297-930
同期式の作り方が分かりやすく説明されてて参考になりました。
というか、私自身、まだよく分かっていなかったようです。(^^;)
16段とは16ビットの2進カウンタのことです。
アップダウン制御信号は最終段の周期よりもかなり長い非同期のものを想定していました。
ありがとうございます。
VHDLを学び始めたばかりなのですが、多層化したif文だけで想定したカウンタが実現できるんですね。
932774ワット発電中さん:04/08/05 10:42 ID:A33jRXJk
http://sugawara-systems.com/

最近はこれに興味津々ですわ。
933774ワット発電中さん:04/08/05 19:31 ID:G31T9BnZ
宣伝乙。
しかし、これで5000円?  たけ〜よ。
934774ワット発電中さん:04/08/05 22:45 ID:Klc/BK3y
>>933
別に宣伝した訳じゃないが、いろいろと只の物安い物を試してて見つけた
訳で、人柱になろうかと思ってるだけ。

やっぱり日本人が作ってるのは好感もてるし。
935774ワット発電中さん:04/08/06 03:09 ID:LAznFiQe
入力のデフォルト値なんですが、
VHDLの a:in std_logic:='1'とか、AHDLの a:INPUT=VCC にあたるものって、
Verilogではどう書けばよいのでしょうか?
936774ワット発電中さん:04/08/08 11:22 ID:s26KUz6H
>>935
シミュレーション時のデフォルト値はinitialで設定できるけど、
論理合成時は無視されるから、電源投入直後にデフォルト値
がハード的に保証される訳ではなく、結局はリセットタイミング
を設けて初期値を代入するしか手がないんじゃないかな?
937935:04/08/10 00:30 ID:kg0xzm7P
なんというか、たとえば下位モジュールに clock enable を追加したら、
過去に作った上位モジュールすべてに
module_name instance_name (.clken(1)← これを追加する作業が必要になるのか?
と思ったわけです。
938774ワット発電中さん:04/08/13 23:46 ID:50uk4FKN
回路図は詞だ
そして詞を書いて回路が創れるようになったのがHDL
とか逝ってみるテスト

そしていつかは詩で回路が創れるようになるかもしれない
とか逝ってみるテスト
939↑↑↑↑↑↑:04/08/14 00:20 ID:7afLbBr2
回路図が詞なのか詩なのかはどうでも良いが、プリント基板のパターン設計は何なのだろうとふと思ってしまった
FPGAやCPLDの内部でさえも、動作速度を上げる為に内部の配置配線をいじるのは常識になりつつあるみたいだし、、、

プリント基板レベルでの配置配線はFPGAやCPLD内部の配置配線をいじるより遥かに動作速度に影響ありそうな気が?
プリント基板レベルでの配置配線が詞で書ける時代はくるのだろうか?
940774ワット発電中さん:04/08/14 07:18 ID:wEtmwPHE
↑つーか、自動でしょ?
あんた、学生?
941774ワット発電中さん:04/08/14 11:17 ID:lSrDgwlT
>>940
部品の配置とか置き方をある程度指定してやんないと、高速で作動させるには無理のあるとんでもないのが出来るでしょ?
最近は出来上がったプリント基板のパターンをシミュレーションしてノイズや遅延の評価するみたいだけど。
でもそれは基板屋さんがやってくれるわけではない。

以前はパスコンとか、ICのそばの電源とかGNDのべた層に付いてるだけのものが多かった。パスコンの意味が殆どないようなパターンがまかり通っていて、回路設計者もそのことにたいして注目していなかった。
942774ワット発電中さん:04/08/14 11:25 ID:tDwTfBe/
続きをどうぞ。
943774ワット発電中さん:04/08/14 14:10 ID:YjqKVpxV
>>940
自動って、そんなレベルのものしか作ってないのか?
クリティカルな部分のパターンは、回路設計者が引かないと性能でないでしょ!
同じくFPGAのピン配置なんかもパターン考慮して決めていくが、やってないのか?

BGAは、パターンをイメージしながらピン配置するのは特にタイヘン。
944774ワット発電中さん:04/08/14 14:47 ID:l5KwJY26
940は低レベル技術者
945774ワット発電中さん:04/08/14 21:37 ID:PvHdY42o
LSIのレイアウトは曼陀羅に例えられそう。
ただ、最近は感動するレイアウトって少ないんだよなぁ。なんかごちゃごちゃしてて。
他社チップでもこれは凄いと思うのは少ない。10MGって言っても"へぇ〜"ぐらい。
946774ワット発電中さん:04/08/14 22:30 ID:Avqkryq9
>>945
基本的にはツール任せだからねぇ。
それこそ莫大なロット数の出るフルカスタムチップでもないと
今の時代、職人的レイアウトはできないと思う。お金的にも時間的にも。
947774ワット発電中さん:04/08/15 00:52 ID:vu+RoTMy
VHDLのconfigration記述について質問なのですが、

現在テストベンチを作成しているのですが、
workライブラリの中に検証対象の回路をコンパイルしたデータが入っており、
回路の一部のRTLを検証用のテストモデルと置き換えて検証を行いたいのです。

テストベンチのTOP階層とコンフィグレーション記述のVHDLは同じライブラリにコンパイルし
回路本体とテストモデルは別ライブラリにコンパイルしてあるのですが、
コンフィグレーションで別ライブラリを指定すると
コンパイルの際にライブラリの中にエンティティが見つからない
といったエラーが出ます。

コンパイラはNCVHDLを使用しています。
VHDLに詳しい方、どなたか教えていただけないでしょうか?
948マイコン直結CCDが欲しい:04/08/15 01:23 ID:LxYkXxwg
ライブラリの使い方の問題のような予感。
サポートに聞いた方が早いかもよん
949774ワット発電中さん:04/08/15 01:25 ID:BMiRH753
そうですね
950774ワット発電中さん:04/08/20 00:18 ID:aps+BHvy
どなたか教えていただければ幸いです。
design_compilerでhigh fanoutが出たって警告が出てしまいました(TIM-134)
どこがhigh fanoutになっているかしらべるコマンドがありましたら教えてください。
TCLモードだとあるみたいなんですが、私の環境ではTCLモードで
起動できないようなのです。
よろしくお願いします。

マルチポストすいません・・
951774ワット発電中さん:04/08/20 00:23 ID:NKVKKAdQ
板を跨ったマルチか?
シノプシスに聞け。
952774ワット発電中さん:04/08/20 00:29 ID:aps+BHvy
>>951

えぇ、あっちの板から来ました。
シノプシスに聞きたいのですが、学校がシノプシスから
お情けでソフトを使わせていただいている状態でして、
学生の私ごときなんざサポートを全く受けれないんです・・・
953774ワット発電中さん:04/08/20 00:58 ID:aps+BHvy
report_netっていうのがあるみたいです
ご迷惑をおかけしますた
954774ワット発電中さん:04/08/20 04:43 ID:aps+BHvy
何度もすいません
report_net ってやったらすべてのネットのファンアウト数がわかるんですが、
どのネットのファンアウト数もエラーになる基準値(1000)以下にもかかわらず
エラーメッセージが出てしまいます。
こういう場合ってありえるんですか?どなたか経験のある方
いらっしゃいましたらご教授ください。よろしくお願いします。
955774ワット発電中さん:04/08/20 16:15 ID:qF7KMKvo
>>950
TCLモードはdc_shell-tというコマンドです。
それと確か.synopsys_dc_setupをTCL風にする必要があるので
dc-transcriptコマンド(だったかな?)で変換してください。

ファンアウトのWarningはよく知りませんが
信号名が表示されていませんか?
956774ワット発電中さん:04/08/20 18:59 ID:aps+BHvy
>>955

レスありがとうございます。試してみますね。

high-fanoutになっている信号名は表示されないみたいです。
957774ワット発電中さん:04/08/20 19:26 ID:qZXWkiQs
いちいちageで質問するなよ馬鹿
958774ワット発電中さん:04/08/20 20:32 ID:oMDPctYz
いちいちageで脊髄反射するなよ馬鹿
959774ワット発電中さん:04/08/20 20:35 ID:qZXWkiQs
質問者の態度者ねーな
960774ワット発電中さん:04/08/20 20:40 ID:kgizOFvV
マルチポスト、age、逆切れ

痛すぎる馬鹿だ。
スレッド汚しをしないで貰いたい。
961774ワット発電中さん:04/08/20 21:01 ID:aps+BHvy
すんませんでした ただ逆ギレは自分ではないです
962774ワット発電中さん:04/08/20 22:16 ID:dmscX1He
まぁ皆、落ち着こうぜ

>>950
synopsysのサイトにあるsolvenet使ってる?
キーワード検索可能な巨大Q&A集なんだが,
いくらお情けとはいえdesign_conpilerのライセンスもらってるなら使えるはず.
とりあえず行ってみ

ttps://solvnet.synopsys.com/
963774ワット発電中さん:04/08/20 23:59 ID:aps+BHvy
>>962

大人な対応ありがとうございます。

以前からsolvnet使いたいと思っていたのですが、SiteIDとやらを
教授(admin)に教えて下さいとメールしたまま放置プレーを
喰らっている状態です(;;)
964774ワット発電中さん:04/08/22 12:48 ID:2WKxoWcA
>> 947
単純ミスのような気がします。
↓3点は間違いないですか?
(1) RTLと検証用テストモデルでentity名は同じか。
(2) RTLと検証用テストモデルのentityの中身は同じか。
(3) architecture名は同じか。(architecture XXX or entity is
のXXXの部分)

まずは、configuration文とNCVHDLのエラーメッセージを載せて下さい。
configuration文を載せるときは、RTL用と検証用テストモデルの両方か
もしくは修正点がわかるように載せて下さい。
965774ワット発電中さん:04/08/25 00:56 ID:8NObQL+V
滅茶苦茶初歩的な質問なのですが、スマソ
グローバルクロックとかシステムクロックとかって、HDLの記述上結線されているだけなら階層構造の3層とか4層とかの下位の深い層でも繋がっているんですか?
勝手にバッファとか入ったりしないんですか?
それと、速度優先でコンパイルすると正常に動くのに、面積優先で合成すると誤作動する場合って、何が原因?
誤作動に影響ある信号は、一度メインのクロックでたたいているし、最高動作周波数の約1/20の周波数で作動させているので問題ないと思ってたのですが、面積優先だと誤作動してしまったんです。
結局、もう一度、最終的に処理する部分をメインクロックでたたき直したら、面積優先でも正常に動作しました。消費ロジックセル数も、クロックでたたき直す前と変わりなかったし、結果オーライでいってしまったですが。
最高動作周波数も、大して変わらなかったし、これで本当に良いのか?と疑問に思ったので。


966774ワット発電中さん:04/08/25 01:22 ID:e7arnx3u
グローバルクロック木の根元
スキューの心配休むに似たり
気まぐれは微妙なタイミング
渡るドメインにシンクロあり
967774ワット発電中さん:04/08/25 01:23 ID:IcA9QEC5
>>965
high_fanoutに対する制限かけない限り
勝手にバッファは入らないだろ
論理合成ツールは何?
design_compiler?

面積優先の時どんな誤作動起きたのか
誤作動に影響ある信号ってどういう意味で言ってるのか
ちょっと情報が足りないように思う
968965:04/08/25 02:43 ID:WMQtx+zF
>>966-967 クロックに関しては、心配することなかったですね。初歩的質問に答えて頂いてありがとうございます。

実は>>926です。
21ビットの単純カウンタとその下に8ビットのアップダウンカウンタが2個あって、8ビットの方はアップダウン制御の他、ホールド、及び外部データのロード機能を持ってます。
マニュアルモードの時、外部データをロードし、このときホールド信号もON、外部データのロード信号は、21ビットのカウンタの全てのビットが'1'となったときにクロックでたたいたパルス使ってます。
オート動作に移行時に、ホールド信号を解除してロード信号もディセーブルにする。といった感じです。
そうすると、マニュアルモードでロードした値からアップカウント、もしくはダウンカウント開始する筈が、2つの8ビットのカウンタのうち一方だけが何故かロードした値からカウントを開始せず、オール’0’にリセットされてカウント開始してしまったです。
2つの8ビットのカウンタはどちらもそれぞれコンポーネントとして全く同じ記述のものを使ってたのですが、片方のカウンタの動作だけがおかしかったので、もしやと思って速度優先でコンパイルしたらどちらも正常に動いたのです。
クロックでたたき直したのは、ロード信号とそのイネーブルです。
論理合成はQ2のWeb版です。(^^;)

でも、ソース公開しなきゃわからんと云われそうなので、調査逝ってきます。
969965:04/08/25 23:06 ID:1gthgHLW
調査結果がでました(^^;)
よくよく調べたら、ロード信号を作るタイミングが変更されていて、非同期の外部コマンド信号を受けた時にイネーブルの切り替わりとほぼ同時にロード信号が立ち上がるようになっていました。
最初はメタステーブルかと思ったりしましたが、対策はしてあるし、結論として、イネーブルからディセーブルに切り替えるときに、ロード信号もほぼ同時に立ち上がるため、ひげが発生していたと考えるのが妥当なようです。
ロード信号は非同期で8ビットカウンタに外部データがセットされるようにしてあり、また、マニュアルモード以外では、外部データはオール’0’となるようにしてありました。
ロード信号とそのイネーブルをクロックでたたき直せばひげが消えるので、前回の対策の結果としても辻褄が合います。
で、最終的に、ロード信号の立ち上がりをイネーブルの切り替わりから1クロック遅らせることにしました。
初歩的なミスだったようです。お騒がせいたしました。
970774ワット発電中さん:04/08/28 00:28 ID:4Ufs69Xe
アクテルの無償評価版ツールて、シンプリファイやモデルシムが使えるんですね。驚いてしまった。
テクセルのサイトでは、日本語の簡易マニュアルもあるみたいだし。
それより何より、現時点でアクセスカウンタが164なのには驚いてしまった。
http://www.teksel.com/actel/libero60/index.htm

Q2では通ってたソースを、アクテルの無償評価版ツールのシンプリファイで論理合成したら、より厳密に文法チェックされてワーニングがいっぱい出たのには参った参った。
971774ワット発電中さん:04/08/28 00:41 ID:ofDsJOhd
どうでも良いから改行くらい覚えろ。
972774ワット発電中さん:04/08/28 01:50 ID:OoDVFaza
どうでも良いから改行くらい覚えろ。
973774ワット発電中さん:04/08/28 02:11 ID:QjGQ+vRh
どうでもよいけど、XGAとSXGAとUXGAを使ってる人とでは、改行位置が異なる。
974774ワット発電中さん:04/08/28 02:46 ID:ba4/hJTn
>>973
VGAに合わせて改行しろ!
975774ワット発電中さん:04/08/28 14:35 ID:rl+bj+86
>>974

あげるなカス
976いまどき回路図?:04/08/28 15:36 ID:UUWp8x9x
質問というか悩み事というか。厨で申し訳ないが、皆さんの御意見希望。
私はverilog弄っている外注業者なのだが、今度客先でFPGAの回路レビューを行う事になった。
客先より 「HDLだと判らないから、回路図で資料を作ってこい。それとブロック図もね。」 と言われた。
こんな時皆さんどうしてますか?
最終手段として RTL_VIEWER で回路図面化するという手もあるが、こんなの俺が見ても
わかんねー。 どうにかして突っぱねよーかと思ったりもしているのだが、何か良い方法あったり
しないでしょうか。
977774ワット発電中さん:04/08/28 15:41 ID:o3ZR1RhM
>>976
http://kkasumi-web.hp.infoseek.co.jp/

これで問題ないだろう。
978いまどき回路図?:04/08/28 17:30 ID:UUWp8x9x
>>977 情報ありがとうございます。評価版で試してきます。
979774ワット発電中さん:04/08/28 21:30 ID:JGlUPUiN
>973
80カラム25行に収まるように改行汁!!
980VHDL使い:04/09/02 23:45 ID:XpaR+gms
>>947
entity がおなじなら、architectureだけ置換するように、書いてあげれば
いいんじゃないの?
 文法は、Webで調べたりしてね。それでエラボレイトし直せば
おそらくうまくいくんじゃない。
 まとめ…entityと動作が同じなら、bindするだけでOK!
981 ◆YMO/ALTERA :04/09/02 23:49 ID:jouCl5YF
980超えると24時間以内にDAT落ちしちゃうっぽいので
次スレよろしく〜

ゴメン、俺、カゼひいて辛いのでテンプレ用意する元気がない…(他力本願
982980:04/09/02 23:52 ID:XpaR+gms
ライブラリはこの際だから、WORKに必要なところだけほうりこんでおけばいい。
もしくは、Visibleになるように指定してあげる。
Library文とUse文をつかってね。
あなたの環境がわからないので、ライブラリのパスはようわからん。
しかし、こういうことは、僕も悩ましいとおもっています。
がんばってね。
983774ワット発電中さん
>>981
自分ですればいいじゃん。(w