【Verilog】記述言語で論理設計 Project4【VHDL】
>>932 Verilog HDLの場合、問題になるのはリセット抜けとノンブロッキング代入にし忘れ。
前者はif文の条件が不定になった時に偽扱いになるため、シミュレーションではうまく動いてしまうのよ。
でもゲートだと不定が伝播してまともに動かない。
936 :
932:2007/02/20(火) 16:11:32 ID:LEyQJ+va
>>933 >>935 その手のHDLの記述による違いなのね。
逆のパターンだけど、センシティビティリストの漏れでModelSimでは動作しない
というのはあるね。
あと、VHDLでフリーランカウンタをintegerで宣言してout of rangeとか
後こんなのとか
if a='0' then
b<=ある値;
else
b<=ある値;
end if;
aに不定が入ってもRTLだと場合によって上手く動いたりする。
下記で一応回避できるけど。
if a='0' then
b<=ある値;
elsif a='1' then
b<=ある値;
else
b<=不定;
end if;
俺もゲートモデルで上手く動かない時は不定がらみのことが多い。
つ『初期化』
>>936 センシビリティリスト抜けもあるね。
シミュレーションで動かないのは直せばいいのだけど、気づかずに合成でラッチが出来たりするとやっかい。
ということで、シミュレーションだけじゃなくてスタイルチェッカは通すべき。
>>939 藻前、英語、大の苦手だろ。
漏れと同じにおいがするw
941 :
939:2007/02/23(金) 16:39:26 ID:jhpi97Ih
>>940 カタカナで書いているから?
確かに得意ではないが、大の苦手という程でもないよ。
志村〜、これ。
つ センシビリティリスト
今後どんな回路に力を注ぐべきでしょうか
南禅寺
良心回路
エコカイロ
エロカワイイ
エロカワカムリ
次スレありますか
終了
任せた
1日に4レス程度なんだから次スレたてんの1週間は早いと思うが、、、、
980以降はあまりに遅いと落ちるんじゃなかったか?
次スレ建てたら埋め立てちゃえば良いんだし早すぎって事も無いでしょ
まあ
>>975あたりが建てるで良いかもね
レスすんの1週間は早いと思うが、、、、
井倉さんのSpartan3E付きの本が書店に並んでた
>>955 これ随分高価ですね。もっと安く出ると思ったいたんですが。
机の上が整理されてない人のコードは読みづらい。ソースは俺。
いくつかの基本回路について、無駄もないが可読性の良いソースが載ってたり、
機能分割のノウハウとか、最低限必要なコメントの付け方とかが載ってるような、
がさつな奴向けのお手本に良さげな本やサイトがあれば、教えてやってください。
STARCの手引きとか?
STARCの関係者はボケばっかり。
>>955 研究室で必要に迫られて買ってみた。
新宿の紀伊国屋でサンプルがあったから、中身を確認してみて
みることができたので良かった。
「はじめに」のところが、井倉さんの思いが伝わってきてヤケに
泣かせてくれたよ(涙)。
あと5000足せばスターターキットに届くんだよね
井倉さんへの御布施だと思えば安いけど
スターターキットと技評のVerilog本を買っても良くわからん
ワタシには、井倉本は無意味でしょうか?
エライ先生が書いた本なんだが、概念論と記述方法ばかりで
ちぃーーーーともおもしろくない。
前者は無意味じゃない
後者は同感
CPUの創りかたVerilog編とか書いたら売れるかな?
もう下火だが、「萌えるVerilog」なんかで一発当てられるかもね。
>>961 すみません。
スターターキットとは何のことでしょうか?
Xilinx謹製のSpa3シリーズの評価ボードのこと
Spartan3 \11,000-(もうない)
Spartan3E \18,000-
Spartan3A \23,800-
Spartan3AN $225- (まだない)
これだけある
CPUの創りかたHDL版
二通りのアプローチがありそう
1)例の本のTTL各IC(ALUなど)を自分でそれぞれ
モジュールとして書き下ろし、それらを結合して創る
2)HDLらしく、状態遷移だけ管理してあとは全部
論理合成におまかせ(つまりTTLシリーズIC単位とは無関係)
たぶん(2)だとあっさり出来てしまって面白くないと思う
(1)には老人の懐古趣味以外に何の価値もないと思う 加齢臭ぷんぷん
この板のHDL関連スレでよくstarcがどーこー言ってる香具師いるけど、
なんであんなの買うんだろ?ieeeのスペック買うならわかるけど。
973 :
774ワット発電中さん:2007/03/18(日) 23:28:00 ID:6l5VQznN
XILINXのXCシリーズつかってます。
今、12bitのパルス周期測定カウンタつくってますが、
周期が長いときにカウンタが0に戻らないように
ある一定の上限を与える方法を考えています。助言ください。
1、単純に全ビットをみてある値以上だったら、レジスタから1を引く動作にする。
2、1ビット増やしてMSBを見る。
1は動作が確実なんですけど、乗項の数がハンパなく収まりません。
全ビットではなく上位8bitをみてもまだ収まらない。
2は乗項を削減できたけど、クロックのタイミングによっては4096を読み出してしまう可能性がある。
という欠点がありました。
カウンタの値は4096を超えない4095付近であれば多少動いてもかまいません。
なにかいい案はありますでしょうか?
12bit全部ANDして立ったらカウント止めれば済むだけじゃん。
XCシリーズって何?財は詳しく無いがXC以外のデバイスあるのか?
>XCシリーズって何?財は詳しく無いがXC以外のデバイスあるのか?
XCしか知らないとは若いな。
XA、XQV、XQRってのもあるぞ。
976 :
973:2007/03/19(月) 00:12:29 ID:ZPrlB/CO
>>974 情報足らずですいません。
カウントやめるとは、カウントトリガを'0'にすることですよね?
でも、そうすると'0'になったままで、次のカウントトリガを検出できません。
ここで言うカウントトリガとは、'1'の間カウントするような信号のことです。
XCシリーズはXC95XXです。
足りないのは情報ではなく想像(創造)力だな
978 :
974:2007/03/19(月) 00:43:53 ID:8yg00v8A
> '1'の間カウントするような信号
周期計測じゃなかったっけ。パルス幅計測なのか?
・計測信号のアップエッジ検出回路を作る。
・エッジが来たらカウンターを0クリア。と同時にカウンター値を結果dffに記録。
・カウンターが0xfffだったら停止。
・0xfff以外の時は勝手にカウントアップ。
>>975 すんません。それほど若くも無いが知らなかった。
979 :
974:2007/03/19(月) 00:54:15 ID:8yg00v8A
あっと、もしかしたらここが分かってないのかな。
カウンター停止とはカウントアップを止めるのであってカウンター回路が死んでるわけでは無い。
カウンタークリア信号が来たら0になって、0xfff=停止の条件から外れるからまた動き出すように
作るんだよ。
つーかこの程度、教科書に載ってねーのか。
if( clock == posedge) begin
if( count == 0xfff ) begin
count = 0xfff;
end else begin
count = count + 1;
end
end
0xfffになったら、0xfffを代入、それ以下なら+1する、
でいいんじゃないの?
みなさん、質問が来ると大張きりですね。
素敵です
まだ次スレ建てなくてもいいかな
直ちに立てなさい。
この手の質問が来ると、みんなでいじり倒して一気にレスが増えるからw