Dies Aliquanti

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PICを作ろう ,WDTとクロックジェネレータ ~昼休みにまったり進めるプロジェクト

 WDT(ウォッチドッグタイマ)とクロックジェネレータです。WDTはもともと(私にとっては)どーでもいい部分(だって使うつもりないもん)だし、SLEEP命令も使うつもりはないので(したがって、クロックも止める必要なし)、完全にビヘイビアモデルで実装。
WDTのリトリガブルワンショットは、Verillog-HDLの規格書(IEEE-1364.2001)に類似の例があります。
(う~ん、意外にはかどらないな...)
----
本日の御託
「7人のメタボ侍、内臓脂肪を斬る」
笑えない、というか,ほとんど切ないニュース。労災になるのだろうか?


//
//  Watch Dog Timet
//  (c) 2007 BakaOyaji
// $Id$
//
//  Behavior implementation

`timescale 1ns/1ns

module watchdogtimer(
    input clk_i,
    input reset_i ,
    output reg wdt_o
   
);
    initial begin
        wdt_o = 0 ;
    end // initial

    always begin : monostable
        @( negedge reset_i )
        # 3000 wdt_o = 1'b1 ;
    end // monostable
    always @( posedge reset_i) begin
        disable monostable ;
        wdt_o = 1'b0 ;
    end
endmodule // watchdogtimer(
// EOF watchdogtimer.v

//
//  Clock Generater
//  (c) 2007 BakaOyaji
// $Id$
//
//  Behavior implementation
//  (c) 2007 BakaOyaji
`timescale 1ns/1ns
// 1MHz
`define CYCLE 1000
module clockgen (
    input go_sleep_i,
    input wakeup_a_i ,
    output reg clk_o ,
    output reg wakeup_o
);
    initial begin
        clk_o = 0 ;
        wakeup_o = 1'b0 ;
        forever begin
            begin : run
                forever begin
                    clk_o = 1'b1 ;
                    #(`CYCLE/2)
                    if ( go_sleep_i ==1'b1 ) begin
                        disable run ;
                    end // if
                    clk_o = 1'b0 ;
                    #(`CYCLE/2) ;
                end // forever
            end // run
            @( posedge wakeup_a_i )
            clk_o = 1'b0 ;
            wakeup_o = 1'b1 ;
            #(`CYCLE/2)
            clk_o = 1'b1 ;
            #(`CYCLE/2)
            clk_o = 1'b0 ;
            wakeup_o = 1'b0 ;
            #(`CYCLE/2) ;
        end // forever
    end // initial
endmodule // clockgen
// EOF clockgen.v



コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://diesaliquanti.blog.fc2.com/tb.php/372-9e66027b
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

まとめ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。