トップページ⇒denki
1001コメント354KB

【Verilog】記述言語で論理設計 Project2【VHDL】

■ このスレッドは過去ログ倉庫に格納されています
0001792= ◆YMO/ALTERA 04/09/03 12:21ID:p+kby74r
HDLの処理系も、それを実際に動かすシミュレータ・評価基板も
安価で入手できるようになってきました。

このスレが目に入ったおまえ! HDLで何か作って遊んでみませんか。

日曜工作のHDL書き、学生さん、プロの方、カキコお待ちしております。
関連情報は >>2-10 あたり。

前スレ
【Verilog】プログラムで作る回路 Project1【VHDL】
http://science3.2ch.net/test/read.cgi/denki/1072330555/l50
07036942005/05/27(金) 11:31:07ID:QHEYeCXA
>>702さんコメントありがとう。

constantにしているのは、複数ソース内で利用するために
「パッケージでconstant宣言!」しか方法が分からなかった為です。

どんな方法でも、複数ソース内で利用できれば何でも良いのですが・・・
0704774ワット発電中さん2005/05/27(金) 19:23:34ID:1eReoTOh
こんなんじゃだめかいのう。
library ieee;
use ieee.std_logic_1164.all;
package SystemLib is
    constant SystemNumber :   integer := 0    ;
    function TABLE_A return std_logic_vector;
end SystemLib;
package body SystemLib is
    function TABLE_A return std_logic_vector is
        variable var: std_logic_vector(3 downto 0);
    begin
        case (SystemNumber) is
            when 0      =>  var :=  "0011"  ;
            when others =>  var :=  "1010"  ;
        end case;
        return var;
    end;
end SystemLib;
0705774ワット発電中さん2005/05/27(金) 22:37:59ID:kod8k8po
>>694
configuration
0706タスク2005/05/30(月) 20:51:28ID:ZVhUdiy8
俺は論文書いてたいけど、テーマは並列LSCの通信部の設計、製作に関すること。誰が俺に助けてくれませんか?できれば、俺と連絡して
もちろん、お金あげるから
0707774ワット発電中さん2005/05/30(月) 20:54:16ID:LiJvs7xQ
やだ。
0708俺様 ◆f0ugTrYQRI 2005/05/30(月) 21:19:08ID:9Ye+LOJI
(;´Д`)ハァハァ  夏はやっぱりキンチョウ…
0709774ワット発電中さん2005/05/31(火) 00:20:20ID:0StKJsP0
>>706
そんな日本語で論文を書くのか
0710774ワット発電中さん2005/05/31(火) 09:49:01ID:VlzJgi5e
論文は英語で書くもんだ
そして2chは日本語で書くもんだ
07116942005/05/31(火) 19:14:43ID:t3NT+PFo
>>704さんコメントありがとうございます。
 704さんの方法で実現できそうです。

>>705さんもコメントありがとうございました。
ググッてみたのですが、答えらしき所まで辿り着きませんでした。
情報を生かす事ができずにすいません。

皆さんのおかげでスッキリできそうです。では。
0712774ワット発電中さん2005/06/03(金) 05:29:36ID:dLroBs/g
ttp://www.ascii.co.jp/1chip
http://find.2ch.net/?STR=%A3%B1%A5%C1%A5%C3%A5%D7&COUNT=10&TYPE=TITLE&BBS=ALL
0713774ワット発電中さん2005/06/13(月) 17:39:58ID:G4/tYFUU
Verilog 2001 拡張された文法に関してうまく解説してある参考書教えろ
ヲーニング出まくりなのだが、きれいに書き直して消せるものなのか
0714774ワット発電中さん2005/06/13(月) 21:28:35ID:AYy9lSvK
電気的にあまり詳しくなくても 論理と言語を知ってれば仕事はできますか?
0715774ワット発電中さん2005/06/13(月) 22:39:33ID:BQt4dmam
電気を知ってるに越したことはない。
仕事なら知ってたほうが良いとオモフ。
0716774ワット発電中さん2005/06/14(火) 08:58:50ID:cLnSsTT4
確かに知ってる方が良い。
でも、単なるパラメータという扱いもできなくなってしまっているように思える。
なんか、もう電気屋の仕事じゃないような気がしてきてちと悲しい。
07177162005/06/14(火) 09:01:53ID:cLnSsTT4
連投すみません

× でも、単なるパラメータという扱いもできなくなってしまっているように思える。
○ でも、単なるパラメータという扱い方になってきてしまってるようにも思える。
訂正です。
皆さんはどう思いますか。私が単なるオサンだからでしょうか。
これで、Cベース設計がデフォの時代がきたら…
0718774ワット発電中さん2005/06/14(火) 12:44:13ID:cIkGHkKc
>>716
アナログから入ったオヤジだが、俺もFPGAは電気と違う気がしてる。
でも理論はFPGAに持って来れるので、昔やった事がまるっきり無駄とは思っていない。
昔苦労して調整して作ったフィルターとかが、信号処理回路作ってFPGAに入れられた時は
マジ感動した。 調整いらねーじゃん! って。

>>714
それでも仕事はできるが、今の状況では選択肢がかなり狭められるような気がする。
将来的には、ハードを理解していないFPGA屋が普通になっていくと思うが・・・
0719774ワット発電中さん2005/06/14(火) 17:12:47ID:CJ2IsWTN
FPGAが今後も信号処理に使われつづけるかは?じゃないかな。
100MHzくらいまでが安心して使える周波数で、1GHzは多分無理。
この周波数になるとメニーコアとかDSPアレイの方が適してるような気がしてる。
自由度は高いが、配線遅延がホントうざすぎる。
一人の信号処理屋が、FPGAもDSPも使いこなすのは負担が大きいよな。
0720774ワット発電中さん2005/06/14(火) 20:19:54ID:uqWNI1k4
FPGA設計ってCとか他の言語やってなくても デシタル回路の仕組みわかって
言語書ければそれでできるんじゃないかって 以前 文系のやつがバリバリやってるってのみたことあるし
0721774ワット発電中さん2005/06/14(火) 20:29:00ID:oPw+GkzO
別にプログラム言語できる必要性はないし、
ディジタル回路が理解できればHDLを習得して回路を書くことはできるだろうが、
例えばFFTを回路に起こしてくれと言われたら文系君にはできない。
タイムチャートまでしっかり仕様書に書いてもらって下位設計としてHDL専念するのであればできると思うけど、
公的スペックをポンと渡されて上位設計->下位設計に及ぶような仕事は多分無理
0722774ワット発電中さん2005/06/14(火) 22:53:55ID:+fL0y+ee
ASICに電気の知識は必ずしも必要ではないんでないかい。
ARMもド素人が設計したって話しだし。
0723774ワット発電中さん2005/06/14(火) 23:07:39ID:uqWNI1k4
制御系のエンジニアに電気知識が必要かって話だねぇ
ソフトもハードも使いこなせる人材は少ない
0724774ワット発電中さん2005/06/14(火) 23:11:50ID:NwrQL4xf
っていうか実現しようとする機能に関しての知識は必要。

ARMは電気分野のド素人かもしれないが、アーキテクチャや情報理論、
論理設計に関してはそれなりのプロだろ。完全ステートマシンを目指してたとか言ってたし。

で、ASICでもライブラリ弄って特殊なインターフェイスを実現するつもりなら
それなりに電気の知識はいるだろうと思われ。
0725774ワット発電中さん2005/06/14(火) 23:47:37ID:+fL0y+ee
チト記憶違い。電気の知識はあったみたい。
半導体設計のド素人だったみたい。
ttp://www.cqpub.co.jp/hanbai/pdf/MIFZ200310/MIFZ200310_TECHI18.pdf
0726774ワット発電中さん2005/06/15(水) 02:06:35ID:5d5Jo6UE
いまは文系に情報処理系の学科を置いてる大学が多いんじゃないの?
そういうとこを出た奴がみんな使えるかどうかはまた別問題だが、探せば中には優秀な奴もいるんじゃない?
0727774ワット発電中さん2005/06/15(水) 12:16:44ID:x9MMD2hm
熱とかジッタとかスキューとか駆動電流とか終端とかを気にせずに済む時代が来ますか?

と思ったけど、設計担当範囲の話になるのか。
0728774ワット発電中さん2005/06/15(水) 12:47:22ID:iN37Q4cD
>>727
熱とかジッタとかスキューとかファンイン・アウトとか終端とかを気にせず設計した
オープンハードウエア界の巨匠は存在したけどねw
0729774ワット発電中さん2005/06/15(水) 23:37:00ID:s1SJavJl
文系の情報処理ってプログラミングもやるのか?
情報科学とか 要は社会学みたいなことやるんじゃないの?
二年ぐらい前に 一からFPGA教えますみたいな派遣あったような記憶あるけど
採用試験にIQテストってのがあったW まあ確かにこういうのはIQの高さに比例するかもしれない
0730774ワット発電中さん2005/06/15(水) 23:51:40ID:Z2649FH3
ソフトを書ければ物が出来る時代はそこまで来てる。
でもそれが使い物になる代物に合成される様になるにはまだまだ時間がかかるだろうね。

根底はいつも泥臭い物、これは多分これから先も変わらないよ。
0731774ワット発電中さん2005/06/15(水) 23:55:18ID:i1/JnM/N
そこんところ勘違いしてハードを馬鹿にするソフト屋志望の若者がおおいっす。
0732774ワット発電中さん2005/06/16(木) 00:04:16ID:7g3ZrvNO
そうそう。「低級言語」はレベルひく〜(低い)って意味じゃないぞ。
ハードにより近いって意味だ>うちのソフト屋
0733774ワット発電中さん2005/06/16(木) 01:47:52ID:zNol4mg5
>>728
それはトヨ(以下自粛
0734774ワット発電中さん2005/06/16(木) 20:11:37ID:QCmadF77
今だってFPGAにぶち込むだけなら、熱もskewも気にしなくて平気じゃん。
0735774ワット発電中さん2005/06/17(金) 12:10:37ID:4Ezuob99
回路規模から熱計算してからでなきゃ
とてもじゃないがデバイス選べない。
FPGAの発熱がすごくて基板が変色したこともあった…

小規模ならなんも気にせんけど
0736774ワット発電中さん2005/06/19(日) 01:16:51ID:tqujOr4u
フロアプランの段階で熱まで予想できるツールもあるが、素人さんが使える値段じゃないね。
0737774ワット発電中さん2005/06/19(日) 02:58:43ID:J5C8xv0N
ストラタ熱杉
0738774ワット発電中さん2005/06/20(月) 17:10:54ID:4/+H9ZYi
FPGA用のクリップ+ヒート辛苦ってある?
0739774ワット発電中さん2005/06/21(火) 20:29:05ID:O3UjfOs8
すんません、初歩的なことだとは思うんですが質問させてください。

・暗黙の了解で、チーム内では全角コメント禁止なんだけど、これはやはり常識なんでしょうか。
・全角コメントで不具合出た合成ツールってあるんですか?

この間、ソフト屋さんのソースを眺める機会があったのですが、
全角コメントばっかりで羨ましかったです。
ソフト屋「だって、デバイスもツールも国産(Renesas)だから」
0740774ワット発電中さん2005/06/21(火) 20:39:29ID:aEPqYliu
つうか言語仕様で2バイト文字は許されてないでしょ、確か…
0741774ワット発電中さん2005/06/21(火) 21:23:10ID:O3UjfOs8
(´・ω・`)そうでしたか…アリガトu
0742774ワット発電中さん2005/06/22(水) 07:48:28ID:JWaSnhuA
フォルダ名にもファイル名にもコメントにも全角文字使うなよ 超ダサい
つーか、全角コメントが羨ましいって心理 本気で理解できないのだが なぜ?
0743774ワット発電中さん2005/06/22(水) 12:15:43ID:VcF7mubI
gccは長らく2バイトコメントには対応してなかった。
今はどうか知らんが、ソースコードに日本語を含めないのはソフトでも常識だ。
0744774ワット発電中さん2005/06/22(水) 12:18:22ID:BQwKJBc6
英語の苦手な純朴の日本人だからです。
0745774ワット発電中さん2005/06/22(水) 12:42:23ID:YtB4QzpG
>>743
へっそうなの? HDL記述に 2ByteCode 入れた事は無いが、Cには良く入れてる。
上司の意向で、関数の頭に日本語コメントするテンプレが付いてるのがデフォなもので・・・
もしかして、こんなソースを外に出すと恥ずかしい?
0746774ワット発電中さん2005/06/22(水) 15:40:27ID:VcF7mubI
MS XXや Visual XXの日本版はそりゃ日本語対応してるだろうよ。
ソフトでも日本語対応になってないツールも山ほどあるってこった。
わかってから対応するんじゃなくてコメントに日本語使わないとか、
ディレクトリ関係に日本語やSpaceを使わないのは当然の防御策
0747774ワット発電中さん2005/06/22(水) 15:43:12ID:bq3eWW0g
まずは言語の仕様書をちゃんと読め
07487452005/06/22(水) 19:38:02ID:YtB4QzpG
>>746
レスサンクス。 他ツール使った時の防衛策ですね。

>>747
すんません。誤解与えちゃったみたいですね。 私は >>739 さんとは別人です。
>>743 さんのカキコに、つい横から反応しちゃったもので・・・ HDL記述の2byteCodeの件は知ってます。
0749774ワット発電中さん2005/06/22(水) 23:04:22ID:Hha79Rv9
>>742
それでカッコイイ!!っていうのも理解できん
0750774ワット発電中さん2005/06/22(水) 23:24:50ID:66LG1gHp
無理して英語で書いて間違ってると…
0751774ワット発電中さん2005/06/22(水) 23:29:06ID:wqXcHBAC
コメントはあくまでコメントだ。
正確性を期すなら仕様書にきっちり書け
0752774ワット発電中さん2005/06/22(水) 23:38:21ID:3JyUAAcL
verilogの達人の方へ

clk _| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|

reset  ____________| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

q _____________| ̄|_______________



上のようなクロック入力に対してリセット後1クロックのみ検出する信号qの作り方教えていただけませんか?

宿題ができずに困っています。

お願いします。
07537522005/06/22(水) 23:41:34ID:3JyUAAcL
なんかずれちゃいました。すみません。

リセット後最初のclkを1パルス分のみ検出したいのですが。

お願いします


_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|   clk

____________| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄   reset 

_____________| ̄|_______________   q
0754774ワット発電中さん2005/06/23(木) 00:06:54ID:kGTJLsAv
>>753
うーん、これは難しい問題だな。
そもそも こんな難しいのをVerilogで書けるのかぁ?
0755774ワット発電中さん2005/06/23(木) 00:30:37ID:uHTIDPbd
>>753
どこまで調べてどこまで考えたのか晒せや
0756774ワット発電中さん2005/06/23(木) 01:37:16ID:ssvNblqJ
どこかにI2Cのスレーブデバイスのsimulation model(verilog)、
転がってませんか?
フリーだと嬉しいんだけど…
0757774ワット発電中さん2005/06/23(木) 03:34:52ID:ChU/fL9O
assign oneshot = clk & gate;

always@(posedge clk, negedge res ) begin
if( !res ) begin
counter <= 0;
gate <= 0;
end else begin
if( !counter ) begin
counter <= counter + 1;
gate <= 1;
end else begin
gate <= 0;
end
end
end

リセット後2クロック目でひげが出るかな?
0758774ワット発電中さん2005/06/23(木) 05:14:35ID:BHwfbCsY
>>752
それだけでは仕様が不十分
resetは非同期リセットと同期リセットのどっち ?
非同期の場合、clkの立ち上がりと resetの立ち上がりが
同時に起きた場合 qをどう出力すればよいか ?
またresetの立ち上がりから qの highパルスを出力する
まで何クロックのディレイが許容されるのか ?
qはそれ以降の回路でクロック信号として使用されるのか ?
qは clkの highと同じ幅でなくてはならなのか ? 1 clk周期
ではいけないのか ?
さあ、答えれ
0759774ワット発電中さん2005/06/23(木) 06:50:18ID:qlXt37Qj
釣られ好きだなぁ
0760774ワット発電中さん2005/06/23(木) 11:19:49ID:2f3SJtDp
こんなキャラクタで波形書いてる暇があったら、HDL書いて試行錯誤してた方が良いと思うぞ
0761774ワット発電中さん2005/06/23(木) 12:14:47ID:TmPaPWlD
エッジ検出も分からないようならHDL以前にデジタル回路の基礎からやった方がいいのでは?
07627572005/06/23(木) 15:50:51ID:5qFT/Ks/
757のリストでは配置配線後(スパ3)のSimlateで案の上ひげが乗ったので改定

module OneShot( clk, res, gate, gate2, oneshot);
input clk, res;
output oneshot;
output gate, gate2;

reg gate, gate2;
reg [3:0] counter;

assign oneshot = clk & gate & gate2;

always@(posedge clk, negedge res ) begin
if( !res ) begin
counter <= 0;
gate <= 0;
end else begin
if( !counter ) begin
counter <= counter + 1;
gate <= 1;
end else begin
gate <= 0;
end
end
end

always@(negedge clk, negedge res ) begin
if(!res ) begin
gate2 <= 0;
end else begin
if( counter ) begin
gate2 <= 0;
end else begin
gate2 <= 1;
end
end
end
endmodule

立下りでgate2をOffにした。
論理合成はXST、スパ3で273MHzで動くそうな。タイミングシミュレーションもOK
07637572005/06/23(木) 16:01:23ID:5qFT/Ks/
gate ,gate2 を出力してるのはあくまでもデバッグ用なので無視してね。
oneshotが出力
0764774ワット発電中さん2005/06/23(木) 16:35:32ID:fpaEQY/+
verilog理解できない馬鹿なのでVHDLで書いてみました。

条件はとりあえずパルスは1クロックだろうという事で設計してみました。
entity plus is
Port (clk : in std_logic;
rst : in std_logic;
one_plus: out std_logic
);
end plus;

architecture Behavioral of plus is

signal mode : std_logic;

begin
process(clk)
begin
if(clk = '1' and clk'event) then
if(rst = '0') then
mode <= '0';
one_plus <= '0';
else
if(mode = '0')then
one_plus <= '1';
mode <= '1';
else
one_plus <= '0';
mode <= '1';
end if;
end if;
end if;
end process;
end Behavioral;
0765774ワット発電中さん2005/06/23(木) 16:48:58ID:pAFX2Btt
答えを書いてるフリして藁なコードな罠
0766774ワット発電中さん2005/06/23(木) 16:57:16ID:fpaEQY/+
答えられない香具師に限ってチャチャが好き。
男は黙って答えを書く。
0767774ワット発電中さん2005/06/23(木) 18:45:47ID:TmPaPWlD
entity plus is
Port (clk : in std_logic;
rst : in std_logic;
one_plus: out std_logic
);
end plus;

architecture Behavioral of plus is

signal mode : std_logic_vector(1 downto 0);

begin
process(clk)
begin
if(clk = '1' and clk'event) then
if(rst = '0') then
mode <= "00";
else
mode <= mode(0) & rst;
end if;
end if;
end process;
one_plus <= mode(0) and not mode(1);
end Behavioral;
07687522005/06/24(金) 03:32:55ID:9W82ArEC
だれがVHDLで答えてくれってお願いしたよ。
Verilogできねえ奴はスッコンデロ。
アフォか?ホンマに
0769774ワット発電中さん2005/06/24(金) 05:26:55ID:SF7gkNx8
宿題できなくて他人任せにしてるくせに態度だけはでかいなw
0770774ワット発電中さん2005/06/24(金) 07:23:03ID:LMTTDyXo
XilinxのISE WebPACK7.1i使っている人います?
色んな機能が動かなくないですか?チュートリアルを見てやりだしたんだけど
snapshotとか全然効かないし、timing reportが出てこない。
0771774ワット発電中さん2005/06/24(金) 09:02:56ID:WGCpiX+W
すんませんVerilogでおながいしまつ
0772774ワット発電中さん2005/06/24(金) 09:50:15ID:TWmzq/xc
どっちのHDLも読めるぐらいにはなっておいた方がいいぞ
大事なのはやり方を覚えることなんだし。
簡単な例だし、ちょうどイイ機会じゃないか?
07737522005/06/24(金) 11:50:15ID:4zIlwy/D
>>772
嫌だね。
お前らみたいに下請けの零細企業になんか就職する気はさらさらないから、両方こなす必要なんてまったくない。
もう大手に就職が決まってるんだよ。まぁ、お前らに仕事振ってやるからありがたく思えよ。
0774774ワット発電中さん2005/06/24(金) 12:15:19ID:SF7gkNx8
あいかわらず態度でかいな。
おまえは研修期間に逃げ出すだろ、どうせ。
っていうか、おまえの上司になる人間がこのスレにいるかもよw
0775774ワット発電中さん2005/06/24(金) 12:18:12ID:xbY7Umqv
こんなクソ宿題もできないバカを採った企業様ご愁傷様です...。
0776774ワット発電中さん2005/06/24(金) 12:21:15ID:7PgQ3B9c
>>774
偽者な悪寒
最近質問者に成りすますアホをよくみかけるキガス
0777774ワット発電中さん2005/06/24(金) 12:40:44ID:HdLZliaP
Q脳の腐敗がさらに進んだのかな・・・・ま、梅雨だしな
07787522005/06/24(金) 12:46:54ID:4zIlwy/D
>>775
クソ宿題だと?
じゃ、コード晒せ。それも出来ずにお笑いなんだよアホが!
0779774ワット発電中さん2005/06/24(金) 14:37:05ID:SF7gkNx8
>>776
いいたい意味がわからん。
774(俺)は773に向けて書いたんで、752になりきろうとか思ってないんだが。
0780774ワット発電中さん2005/06/24(金) 14:54:35ID:nloQe5rE
スルーしとけって。
0781774ワット発電中さん2005/06/24(金) 15:36:58ID:vu0ro+8Y
ところで、この宿題の“本当の要求仕様”はどんなもんなんだ?
あの超絶ワケワカランAAではサッパリ?だ
0782774ワット発電中さん2005/06/24(金) 16:22:12ID:1SWoqVpN
俺は十分意味が理解できたね。何の問題もない。
0783774ワット発電中さん2005/06/24(金) 18:12:16ID:TWmzq/xc
じゃあHDLじゃなくてCで書いてみ?VBでもなんでも自分が習得してる言語で。
方法がわかってるなら何でも書ける。わかんなきゃ何やってもダメ。
宿題は考えてやるんだよ。考えるのは頭。頭は生きてるうちに使う物だ。がんばれ。
0784774ワット発電中さん2005/06/24(金) 18:18:35ID:1SWoqVpN
>>783
何をわけわからんこと書いてるんだ?
お前こそがんばれや。
0785774ワット発電中さん2005/06/24(金) 19:50:19ID:SF7gkNx8
そもそも752が回路設計に必要な知識があるのかどうかが気になる…
0786774ワット発電中さん2005/06/24(金) 20:56:08ID:pOB0xwE8
>>785
そんなもん無くても構わないだろ、本人が宿題っていっているんだし。
0787774ワット発電中さん2005/06/24(金) 21:45:43ID:4PHoRlc3
回路図入力が一番簡単だな。
0788sage2005/06/24(金) 23:43:12ID:N9s+7dXz
module(clk,xrst,datain,q)
reg ff1, ff2;
always@(posedge clk or negedge xrst)
if(!xrst)begin
ff1<=1'b0;
ff2<=1'b0;
end
else begin
ff1<=datain;
ff2<=ff1;
end
assign q=~ff2 & ff1;
endmodule

ここまで書いてて気づいた。
入力はresetかー。こりゃ、俺にははかけないや。
だれか答えを俺にも教えて。
0789774ワット発電中さん2005/06/25(土) 00:28:47ID:Il+q3Oeh
module pulse (clk, xrst, q);
inputclk, xrst;
outputq;
regq;
regq_mask;
always @(posedge clk or negedge xrst) begin
if (!xrst)
q <= 1'b0;
else if (xrst == 1'b1 && q == 1'b0 && q_mask == 1'b0)
q <= 1'b1;
else
q <= 1'b0;
end
always @(posedge clk or negedge xrst) begin
if (!xrst)
q_mask <= 1'b0;
else if (q == 1'b1)
q_mask <= 1'b1;
else
q_mask <= q_mask;
end
endmodule
07907582005/06/25(土) 01:50:29ID:RRAZhokE
もれが >>758で書いたことが明確にならんと回路を
実装することはできないんだが、本物の >>752 は
どこ行った ?

しょうがないからとりあえず、以下の仮定をする。

(1) resetは clkに非同期。
(2) clkの立ち上がりとresetの立ち上がりが同時に
起きた場合 (正確には、使用するフリップフロ
ップの setup timeと hold timeの間に resetの
立ち上がりがあった場合)は出力 qはそれ以外の
場合より遅れてもよい。
(3) resetの立ち上がりから qの highパルスまでは
できる限り短い時間で出力すること。
(4) qはそれ以降の回路でクロック信号として使用さ
れない。
(5) q の high幅は 1clk周期とする。

以下次号
07917582005/06/25(土) 01:51:25ID:RRAZhokE
その他

(6) resetにグリッチはないものとする。
(7) モジュール名は mkpulseとする。
(8) Verilog-HDL (RTL)で記述すること。
(9) 負論理なのに resetという名前はいやらしいが、
そういう仕様なので従う。

以下次号
0792774ワット発電中さん2005/06/25(土) 01:53:01ID:TsEjQbYg
次号マダー?
07937582005/06/25(土) 01:55:27ID:RRAZhokE
module mkpulse (
 reset,
 clk,
 q
);
 input reset; // Active-low asynchronouse reset
 input clk; // Using positive edge
 output q; // Pulse width is one clock cycle

 reg delay1reset;
 reg delay2reset;
 reg delay3reset;

 // Synchronize asynchronous reset signal
 always @(negedge reset or posedge clk) begin
  if (~reset)
   delay1reset <= 1'b0;
  else
   delay1reset <= 1'b1;
 end
 always @(posedge clk) begin
  delay3reset <= delay2reset;
  delay2reset <= delay1reset;
 end

 // Make one clock cycle width pulse for rising edge of delay2reset
 assign q = ~delay3reset & delay2reset;

endmodule

以下次号
07947582005/06/25(土) 01:56:06ID:RRAZhokE
一方、resetという名前から非同期リセットという
仮定をしたが、今のところそのような指定はない。
よって resetは clkに同期していると仮定することも
できる。

すると、以下次号
07957582005/06/25(土) 01:58:27ID:RRAZhokE
module mkpulse (
 reset,
 clk,
 q
);
 input reset; // Active-low synchronouse reset
 input clk; // Using positive edge
 output q; // Pulse width is one clock cycle

 reg delay1reset;

 always @(posedge clk)
  delay1reset <= reset;

 // Make one clock cycle width pulse for rising edge of reset
 assign q = ~delay1reset & reset;

endmodule

以上
0796774ワット発電中さん2005/06/25(土) 02:17:58ID:qLwyTd70
ばーーーーか ----->>> >>758 ID:RRAZhokE 死ねよ
0797火魔人2005/06/25(土) 04:37:57ID:4D+YN02A
reg q;

initial begin
q = 1'b0;
end

always @(posedge reset) begin
@(posedge clk) q = 1'b1 ;
@(posedge clk) q = 1'b0 ;
end

合成できる物って言ってなかったから・・・
0798774ワット発電中さん2005/06/30(木) 20:38:43ID:cTpDojFz
初心者です

`define STATE1 3'b000
と
parameter STATE1 3'b000

はどう使い分ければいいのでしょうか?

parameterだとモジュールごとに同じのを書かないとだめみたいだし、
`defineだとレオナルドでは警告がでたし、
同じ定義を複数のモジュールやファイルで共用はできないのでしょうか?



0799774ワット発電中さん2005/07/01(金) 11:46:24ID:Gq1lU/Xf
>>798
parameterを別のファイルに書いて、`includeで読み込むようにしてたよ。
今はVHDLなんで使ってないが。
0800774ワット発電中さん2005/07/01(金) 18:00:38ID:4oZSX0ys
VHDLのintegerは32ビットは扱えないの?
0801774ワット発電中さん2005/07/01(金) 19:29:01ID:UB9KQarK
扱える(符号付)。
0802774ワット発電中さん2005/07/01(金) 21:09:25ID:4oZSX0ys
符合なし32ビットはダメ?
■ このスレッドは過去ログ倉庫に格納されています