send.tdf
来自「在QuartusII中使用AHDL语言编写一个RS232串行数据通信接口」· TDF 代码 · 共 48 行
TDF
48 行
% ***** Clock frequency is 3.456 MHz ***** %
% ***** Clock period is 289.35 ns ***** %
% ***** Data rate is 14,400 bps ***** %
% ***** Dataout period is 69.44 us ***** %
subdesign RS2321
(
%clock :Input;%
dataoutset,dataoutclk :input;
data_to_urst :output;
Cpudata[7..0] :input;
outRegister[8..0] :output;
dataoutCounter[3..0] :output;
SendCountReset :output;
sending :input;
)
Variable
outRegister[8..0] :dff;
dataoutCounter[3..0] :dff;
SendCountReset :dff;
begin
%set clock%
outRegister[8..0].clk=dataoutclk;
dataoutCounter[3..0].clk=dataoutclk;
SendCountReset.clk=dataoutclk;
% send data to recieve machine%
if (sending==1) then
if (dataoutset==1) then
outRegister[8..1].d=Cpudata[7..0];
outRegister[0].d=vcc;
else outRegister[7..0].d=outRegister[8..1].q;
outRegister[8].d=gnd;
end if;
data_to_urst=outRegister[0].q;
dataoutCounter[3..0].d=(dataoutCounter[3..0].q+1)&!SendCountReset;
Case dataoutCounter[] is
WHEN H"8" =>
SendCountReset.d=Vcc;
WHEN OTHERS =>
SendCountReset.d=Gnd;
End Case;
end if;
end;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?