www.gusucode.com > visionhdl工具箱matlab源码程序 > visionhdl/visionhdlutilities/@visionhdlsupport/@MedianFilter/cgireml/memWriteFSM.m
function [wenb,wRst,endLine,spaceCntEnb,yinLine,yreachvEnd,vsRst] = memWriteFSM(hStart,hEnd,vStart,vEnd,dataValid,readDone,reachMaxLineSize) persistent inFrame inLine reachvEnd wenb = false; wRst = false; endLine = false; spaceCntEnb = false; vsRst = false; if isempty(inFrame) inFrame = false; inLine = false; reachvEnd = false; end yinLine = inLine; yreachvEnd = reachvEnd; if readDone reachvEnd = false; end if inFrame && ~yinLine spaceCntEnb = true; end hEnd_final = hEnd || reachMaxLineSize; if dataValid if inFrame && inLine wenb = true; end if vStart vsRst = true; %Frame start clean up inLine = false; wenb = false; % wRst = true; reachvEnd = false; inFrame = true; if hStart inLine = true; wenb = true; wRst = true; end elseif inFrame && vEnd inFrame = false; wRst = true; reachvEnd = true; if hEnd inLine = false; end elseif inFrame && inLine && hEnd_final inLine = false; wRst = true; endLine = true; elseif inFrame && hStart wenb = true; inLine = true; wRst = true; % for multiple hStart end end