X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/blast.git/blobdiff_plain/14cd6d834ab531525a51c6a6992583b3e9143e02..2bdaa0aa3fab52f0808f60d9bbdabcd56d0efae9:/DelayInputModifier.cpp diff --git a/DelayInputModifier.cpp b/DelayInputModifier.cpp index a60d7e2..db89107 100644 --- a/DelayInputModifier.cpp +++ b/DelayInputModifier.cpp @@ -29,10 +29,10 @@ QString DelayInputModifier::toVHDL(int context, int flags) throw(Exception) { ConnectedInterface* toIface = AI_TO_CON(toCtlIface->getAssociatedIface()); QString toName = toIface->getOwner()->getName()+"_"+toIface->getName(); QString toCtlName = toCtlIface->getOwner()->getName()+"_"+toCtlIface->getName(); - QString dm1 = ""; QString dm2 = ""; - dm1.setNum(delayLength-1); + QString dm3 = ""; dm2.setNum(delayLength-2); + dm3.setNum(delayLength-3); QString ret=""; QString clkName = "clk"; QString resetName = "reset"; @@ -50,12 +50,12 @@ QString DelayInputModifier::toVHDL(int context, int flags) throw(Exception) { ret += " "+toName+"_mod <= (others => '0');\n"; ret += " "+toCtlName+"_mod <= '0';\n"; ret += " elsif rising_edge("+clkName+") then\n"; - ret += " "+toName+"_mod <= "+toName+"_dly("+dm1+");\n"; - ret += " "+toCtlName+"_mod <= "+toCtlName+"_dly("+dm1+");\n"; + ret += " "+toName+"_mod <= "+toName+"_dly("+dm2+");\n"; + ret += " "+toCtlName+"_mod <= "+toCtlName+"_dly("+dm2+");\n"; ret += " "+toName+"_dly(0) <= "+fromIface->toVHDL(AbstractInterface::Instance,0)+";\n"; ret += " "+toCtlName+"_dly(0) <= "+fromCtlIface->toVHDL(AbstractInterface::Instance,0)+";\n"; - ret += " "+toName+"_dly(1 to "+dm1+") <= "+toName+"_dly(0 to "+dm2+");\n"; - ret += " "+toCtlName+"_dly(1 to "+dm1+") <= "+toCtlName+"_dly(0 to "+dm2+");\n"; + ret += " "+toName+"_dly(1 to "+dm2+") <= "+toName+"_dly(0 to "+dm3+");\n"; + ret += " "+toCtlName+"_dly(1 to "+dm2+") <= "+toCtlName+"_dly(0 to "+dm3+");\n"; ret += " end if;\n"; ret += " end process "+toName + "_mod_process;\n"; } @@ -68,8 +68,8 @@ QString DelayInputModifier::toVHDL(int context, int flags) throw(Exception) { ret += " signal "+sig+"\n"; QString wStr=""; wStr.setNum(toIface->getWidth()); - ret += " signal "+toName+"_dly : vector_of_std_logic_vector"+wStr+"(0 to "+dm1+");\n"; - ret += " signal "+toCtlName+"_dly : vector_of_std_logic(0 to "+dm1+");\n"; + ret += " signal "+toName+"_dly : vector_of_std_logic_vector"+wStr+"(0 to "+dm2+");\n"; + ret += " signal "+toCtlName+"_dly : vector_of_std_logic(0 to "+dm2+");\n"; } return ret;