パルス発生器
周波数とデュティーを変えられるパルス発生器です。
1の期間を4ビット、0の期間を4ビットで設定することで
周波数とデュティーを変えています。
file: sample13
論理譜
logicname yahoo14
entity main
input reset;
input dhno[4];
input dlno[4];
output q;
bitr dhcount[4];
bitr dlcount[4];
bitr wv;
output T0P[4]; T0P=dhcount;
output T1P[4]; T1P=dlcount;
if (reset)
dhcount=dhno;
else
if (wv)
if (dhcount==0)
dhcount=dhcount;
else
dhcount=dhcount-1;
endif
else
dhcount=dhno;
endif
endif
if (reset)
dlcount=dlno;
else
if (!wv)
if (dlcount==0)
dlcount=dlcount;
else
dlcount=dlcount-1;
endif
else
dlcount=dlno;
endif
endif
if (reset)
wv=0;
else
switch(wv)
case 0:
if (dlcount==0)
wv=1;
else
wv=wv;
endif
case 1:
if (dhcount==0)
wv=0;
else
wv=wv;
endif
endswitch
endif
q=wv;
ende
entity sim
output reset;
output dhno[4];
output dlno[4];
output q;
bitr tc[8];
part main(reset,dhno,dlno,q)
tc=tc+1;
if (tc<5) reset=1; endif
if (tc<50)
dhno=5;
dlno=10;
else
dhno=3;
dlno=2;
endif
ende
endlogic