dspiowc.tdf

来自「给出具体的几个汇编源代码.相信您看过之后对汇编语言编程会有所了解.」· TDF 代码 · 共 65 行

TDF
65
字号
FUNCTION DPWM12(en,clock,clr,s[11..0])
returns (pwm);
SUBDESIGN dspiowc
( 
	a0,a1,a2,a3,/iostb,r/w,/csioa,i[7..0],KIN[3..0],clk	: INPUT;
	sg[6..0],sgd[7..0],SDP[3..0],SKN[3..0],pwmop,OPT[7..0]: OUTPUT;
    d[7..0]  :BIDIR;
)

VARIABLE
    dlt[2..0]:lcell;
    op1[6..0]:dff;
    op2[7..0]:dff;
    op3[7..0],OP4[3..0],OP5[3..0] ,op6[7..0],op7[5..0]: DFF;
    nn[7..0],cs1,cs2,cs:node;
    pwmct  :dpwm12;
       
BEGIN
	dlt0=/iostb;
	dlt1=dlt0;
	dlt2=dlt1;   	
	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..0])  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%
    
    pwmct.clock=clk;
    pwmop=pwmct.pwm;

    op1[].d=d[6..0];
    op2[].d=d[7..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[7..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 + =
减小字号Ctrl + -
显示快捷键?