D記憶


記憶信号に単純に入力を代入しています。


logicname sample

{ -------------------------------------- }
{    実効譜                              }
{ -------------------------------------- }
entity dreg
input  d;
output q;
bitr   rq;

   rq = d;

   q = rq;

ende

{ -------------------------------------- }
{    機能実行譜                          }
{ -------------------------------------- }
entity sim
output d;
output q;
bitr   tc[4];

   part dreg(d,q)

   tc=tc+1;

   if (tc==5) d=1; endif
   if ((tc>8)&(tc<12)) d=1; endif
ende

endlogic

クロックの 0 から 1 になる点で d の値を q に記憶 します。


上では d の変化を q に記憶するだけでしたが、p が 1 のときの d の値を記憶して p が 0 のときは前の 値を続けます。


logicname sample

{ -------------------------------------- }
{    実効譜                              }
{ -------------------------------------- }
entity dreg
input  p;
input  d;
output q;
bitr   rq;

   if (p)
      rq = d;
   else
      rq = rq;
   endif

   q = rq;

ende

{ -------------------------------------- }
{    機能実行譜                          }
{ -------------------------------------- }
entity sim
output p;
output d;
output q;
bitr   tc[4];

   part dreg(p,d,q)

   tc=tc+1;

   if (tc==5) d=1; endif
   if ((tc>8)&(tc<12)) d=1; endif

   if (tc==9) p=1; endif
ende

endlogic

p が 1 のときだけ q を変えます。


プリセットとリセットを付けます。


logicname sample

{ -------------------------------------- }
{    実効譜                              }
{ -------------------------------------- }
entity dreg
input  pre,res;
input  p;
input  d;
output q;
bitr   rq;

   if (pre)
      rq = 1;
   else
      if (res)
         rq = 0;
      else
         if (p)
            rq = d;
         else
            rq = rq;
         endif
      endif
   endif

   q = rq;

ende

{ -------------------------------------- }
{    機能実行譜                          }
{ -------------------------------------- }
entity sim
output pre,res;
output p;
output d;
output q;
bitr   tc[4];

   part dreg(pre,res,p,d,q)

   tc=tc+1;

   if (tc==5) d=1; endif
   if ((tc>8)&(tc<12)) d=1; endif

   if (tc==9) p=1; endif

   if (tc==11) res=1; endif
   if (tc==13) pre=1; endif

ende

endlogic

pre が 1 のとき q を 1 に res が 1 のときに q を 0 にします。