大虾请教,是否可以解释下如下逻辑。谢谢了
clkbps :dff; serdata[10..0] :dff; loaddata :dff; wordcnt[4..0] :dff;
spwordcnt[7..0] :dff; if ((spwordcnt[]>=H"B") & (spwordcnt[]<=H"FF")) then TXout=VCC; end if; if (spwordcnt[]==H"FF") then spwordcnt[]=0; TXout=VCC; else spwordcnt[]=spwordcnt[]+1; end if; spwordcnt[].clk = clkword; spwordcnt[].clrn = aclrn; loaddata=(wordcnt[]==1); loaddata.clk=clkbps; test1 = loaddata; if (loaddata) then case spwordcnt[] is when H"0" => serdata[].d = B"11011110010" & loaddata; when H"1" => serdata[].d = B"11000001000" & loaddata; when H"2" => serdata[].d = B"10000000000" & loaddata; when H"3" => serdata[].d = B"10000001100" & loaddata; when H"4" => serdata[].d = B"11000000010" & loaddata; when H"5" => serdata[].d = B"11000000010" & loaddata; when H"6" => serdata[].d = B"11000000100" & loaddata; when H"7" => serdata[].d = B"10000000000" & loaddata; when H"8" => serdata[].d = B"11000100000" & loaddata; when H"9" => serdata[].d = B"10001001110" & loaddata; when H"A" => serdata[].d = B"10101111100" & loaddata; end case; serdata[].clk = !clkbps; -- serdata[].d=B"11011110010" & loaddata; else -- (wordcnt[]>1) TXout = serdata0; serdata[9..0].d = serdata[10..1].q; serdata10.d = VCC; serdata[].clk = !clkbps; end if;