📄 dspiowt.tdf
字号:
FUNCTION DPWM12(en,clock,clr,s[11..0])
returns (pwm);
function phigen (rcclk,up,go)
returns (phi1,phi0);
function optdecp (sysclk,pa,pb)
returns (p);
function keypuls (clk,kb)
returns (ps);
SUBDESIGN dspiowt
(
a0,a1,a2,a3,/iostb,r/w,/csioa,i[7..0],KIN[3..0],clk,ssclk,ssud,sstp : INPUT;
sg[6..0],sgd[7..0],SDP[3..0],SKN[3..0],pwmop,OPT[6..0],ssint: OUTPUT;
d[7..0] :BIDIR;
)
VARIABLE
dlt[2..0]:lcell;
op1[6..0]:dff;
op2[6..0]:dff;
op3[7..0],OP4[3..0],OP5[3..0] ,op6[7..0],op7[5..0],opf[1..0],ckdv,sckdv: DFF;
nn[7..0],cs1,cs2,cs:node;
ssip[1..0]:node;
pwmct :dpwm12;
sscgn:phigen;
ssdec:optdecp;
fqint:keypuls;
BEGIN
dlt0=/iostb;
dlt1=dlt0;
dlt2=dlt1;
sscgn.up=(!ssud or opf0.q);
sscgn.go=(sstp and !opf1.q);
ckdv.d=!ckdv.q;
ckdv.clk=ssclk;
sckdv.d=!sckdv.q;
sckdv.clk=clk;
sscgn.rcclk=ckdv.q;
ssdec.sysclk=clk;
fqint.clk =sckdv.q;
if i6 then ssint = ssdec.p;
else ssint = !fqint.ps;
end if;
IF i7 THEN ssip[]= (sscgn.phi1,sscgn.phi0);fqint.kb=ssclk;
else ssip[]=(i1,i0);fqint.kb=i0;
end if;
ssdec.pa=ssip0;
ssdec.pb=ssip1;
cs1=(!/csioa &(!a0&!a1&!a2&!a3) & r/w & dlt0);
cs2=(!/csioa &( a0&!a1&!a2&!a3) & r/w & dlt0);
cs =(cs1 or cs2 );
nn[]= ((cs1 & (i[7..2],ssip[])) or (cs2 & (0,0,0,0,KIN[])));
for j in 0 to 7 generate
d[j]=tri(nn[j],cs);
end generate;
op1[].clk=(!/csioa & (!a0&!a1&!a2&!a3)& !r/w & dlt2);%OUTPUT 00%
op2[].clk=(!/csioa & ( a0&!a1&!a2&!a3)& !r/w & dlt2); %OUTPUT 01%
op3[].clk=(!/csioa & (a0& a1&!a2&!a3)& !r/w & dlt2); %OUTPUT 03%
op4[].clk=(!/csioa & (!a0& a1&!a2&!a3)& !r/w & dlt2);%OUTPUT 02%
op5[].clk=(!/csioa & (!a0&!a1&a2&!a3)& !r/w & dlt2); %OUTPUT 04%
op6[].clk=(!/csioa & (!a0&!a1&!a2& a3)& !r/w & dlt2); %OUTPUT 08%
op7[].clk=(!/csioa & ( a0& a1& a2&!a3)& !r/w & dlt2); %OUTPUT 07%
opf[].clk=(!/csioa & ( a0& !a1& a2& !a3)& !r/w & dlt2); %OUTPUT 05%
opf0.d=d6;%up/dn%
opf1.d=d3;%stop%
pwmct.clock=clk;
pwmop=pwmct.pwm;
op1[].d=d[6..0];
op2[].d=d[6..0];
op3[].d=d[];
OP4[]=d[3..0];
OP5[]=d[3..0];
op6[].d=d[];
op7[].d=d[5..0];
pwmct.s[7..0]=op6[].q;
pwmct.s[11..8]=op7[3..0].q;
pwmct.en =op75.q;
pwmct.clr =op74.q;
opt[6..0]=op2[].q;%PORT(01)%
sg[6..0]=op1[].q;%PORT(00)%
sgd[]=op3[].q;%port(03)%
SDP[]=OP4[].Q;%port(02)%
SKN[]=OP5[].Q;%port(04)%
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -