⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datagenerate.tdf

📁 maxplusII开发平台
💻 TDF
字号:
Subdesign	DataGenerate
(
	Clock,
	nReset,
	nStart,
	nLockInc		:	Input;

	DMAing,
	DMADir			:	Input;		%1 = Dev2PC;  0 = PC2Dev%

	nFEmpty,
	nFFull			:	Input;

	nDMACS,
	nDMAOE,
	nDMARD,
	nDMAWR			:	Output;

	DataBus[7..0]	:	BiDir;
)
Variable
	DataBuf[7..0]	:	DFFE;
	DBTri[7..0]		:	TRI;
	DataInc[7..0]	:	DFF;
%	CanDMA,%
	CanDMAWR,
	CanDMARD		:	DFF;
	DMAWRClkD,
	DMARDClkD		:	DFFE;
Begin
	nDMACS				=	!(CanDMARD or CanDMAWR or DMAWRClkD or DMARDClkD);
	nDMAOE				=	!(CanDMARD or DMARDClkD);
	nDMAWR				=	!(DMAWRClkD);
	nDMARD				=	!(DMARDClkD);
	DataBus[]			=	DBTri[];
	DBTri[].oe			=	CanDMAWR or DMAWRClkD;
	DBTri[]				=	DataBuf[];

	DataInc[].clk		=	nLockInc;
	DataInc[]			=	DataBus[];
	
	DataBuf[].clk		=	nDMAWR;
	DataBuf[]			=	DataBuf[] + DataInc[];
	DataBuf[].clrn		=	nReset;
	
	DMAWRClkD.clk		=	Clock;
	DMAWRClkD.clrn		=	nReset;
	DMAWRClkD.ena		=	(CanDMAWR and nFFull) or DMAWRClkD;
	DMAWRClkD			=	Not DMAWRClkD;
	
	DMARDClkD.clk		=	Clock;
	DMARDClkD.clrn		=	nReset;
	DMARDClkD.ena		=	(CanDMARD and nFEmpty) or DMARDClkD;
	DMARDClkD			=	Not DMARDClkD;
	
	
	CanDMAWR.clk		=	!Clock;
	CanDMAWR			=	DMADir and DMAing and nFFull;% and CanDMA;%

	CanDMARD.clk		=	!Clock;
	CanDMARD			=	!DMADir and DMAing and nFEmpty;% and CanDMA;%
	
%	CanDMA.clk			=	GND;
	CanDMA				=	GND;
	CanDMA.prn			=	nStart;
	CanDMA.clrn			=	nReset;%
End;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -