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

📄 eqns.js

📁 ATmega128实验板 简要介绍: 主要芯片: CPU:ATmega128L SRAM:SR61L256BS-8 CPLD:XILINX XC95144XL SFLAS
💻 JS
📖 第 1 页 / 共 2 页
字号:
    for (i=0; i<clk[signal].length; i++) {      if (i>0) str += nlTabStr + operator["OR"] + spcStr;      str += retPterm(clk[signal][i]);    }    str += operator["ENDLN"];  }  else if (gblclk[signal]) {    if (fStr.indexOf("L") != -1) {      if (clkNegs[signal]) str += operator["LE"];      else                 str += operator["LH"];    }    else {      if ((fStr.indexOf("TD") != -1) || (fStr.indexOf("DD") != -1)) str += operator["DCLK"];      else str += operator["CLKF"];    }    str += spcStr + operator["EQUAL"] + spcStr;    if (clkNegs[signal]) str += operator["NOT"];    for (i=0; i<gblclk[signal].length; i++) {      if (i>0) str += nlTabStr + operator["OR"] + spcStr;      str += retPterm(gblclk[signal][i]);    }    str += operator["ENDLN"] + tabStr + cClrS + operator["COMMENT"] + spcStr + operator["GCK_COM"] + cClrE;  }  return str;}function retRst(signal) {  var str = nlTabStr;  if (eqnType == 0) str += retSigName(signal) + ".";  if (rst[signal]) {    str += operator["RSTF"] + spcStr + operator["EQUAL"];    if (rstNegs[signal]) str += operator["NOT"];    for (i=0; i<rst[signal].length; i++) {      if (i>0) str += nlTabStr + operator["OR"] + spcStr;      str += retPterm(rst[signal][i]);    }    str += operator["ENDLN"];  }  else if (gblrst[signal]) {    str += operator["RSTF"] + spcStr + operator["EQUAL"];    if (rstNegs[signal]) str += operator["NOT"];    for (i=0; i<gblrst[signal].length; i++) {      if (i>0) str += nlTabStr + operator["OR"] + spcStr;      str += retPterm(gblrst[signal][i]);    }    str += operator["ENDLN"] + tabStr + cClrS + operator["COMMENT"] + spcStr + operator["GSR_COM"] + cClrE;  }  return str;}function retSet(signal) {  var str = nlTabStr;  if (eqnType == 0) str += retSigName(signal) + ".";  if (set[signal]) {    var tmpStr = "";    for (i=0; i<set[signal].length; i++) {      if (i>0) str += nlTabStr + operator["OR"] + spcStr;      tmpStr += retPterm(set[signal][i]);    }    if (tmpStr != "") {      str += operator["SETF"] + spcStr + operator["EQUAL"];      if (setNegs[signal]) str += operator["NOT"];      str += tmpStr;      str += operator["ENDLN"];    }  }  else if (gblset[signal]) {    str += operator["SETF"] + spcStr + operator["EQUAL"];    if (setNegs[signal]) str += operator["NOT"];    for (i=0; i<gblset[signal].length; i++) {      if (i>0) str += nlTabStr + operator["OR"] + spcStr;      str += retPterm(gblset[signal][i]);    }    str += operator["ENDLN"] + tabStr + cClrS + operator["COMMENT"] + spcStr + operator["GSR_COM"] + cClrE;  }  return str;}function retCE(signal) {  var str = nlTabStr;  if (eqnType == 0) str += retSigName(signal) + ".";  if (ce[signal]) {    str += operator["CE"] + spcStr + operator["EQUAL"];    if (ceNegs[signal]) str += operator["NOT"];    for (i=0; i<ce[signal].length; i++) {      if (i>0) str += nlTabStr + operator["OR"] + spcStr;      str += retPterm(ce[signal][i]);    }    str += operator["ENDLN"];  }  return str;}function retTrst(signal) {  var sigStr = retSigName(signal);  var eqnStr = retD1D2(signal);  var trstStr = "";  var isNeg = false;  if (trst[signal]) {    if (trstNegs[signal]) isNeg = true;    if (isNeg && eqnType == 0) trstStr += operator["NOT"];    for (i=0; i<trst[signal].length; i++) {      if (i>0) trstStr += nlTabStr + operator["OR"] + spcStr;      trstStr += retTrstPterm(isNeg, trst[signal][i]);    }  }  else if (gbltrst[signal]) {    if (trstNegs[signal]) isNeg = true;    if (isNeg && eqnType == 0) trstStr += operator["NOT"];    for (i=0; i<gbltrst[signal].length; i++) {      if (i>0) str += nlTabStr + operator["OR"] + spcStr;      trstStr += retTrstPterm(isNeg,gbltrst[signal][i]);    }  }  var str = "";  if (eqnType == 0)    str += sigStr + spcStr + operator["COMB"] + spcStr + eqnStr + nlTabStr +           sigStr + "." + operator["OE"] +           spcStr + operator["EQUAL"] + trstStr + ";" + tabStr + cClrS +		   operator["COMMENT"] + spcStr + operator["GTS_COM"] + cClrE;  else if (eqnType == 1) {    str += sigStr + spcStr + operator["COMB"] + spcStr + eqnStr + spcStr +           operator["OE"] + spcStr + "(" + trstStr + spcStr + rClrS + ") else" + rClrE +" 'Z'";  }  else {    str += sigStr + spcStr + operator["COMB"] + spcStr + "(" + trstStr +           ")" + operator["OE"] + spcStr + eqnStr + ":" + spcStr;    if (trstNegs[signal]) str += "0'bz";    else                  str += "1'bz";  }  str += ";";  return str;}function retFbnand(signal) {  var str = operator["COMMENT"] + spcStr + "Foldback NAND";  str += nlStr + retSigName(signal) + spcStr + operator["COMB"] + spcStr;  for (i=0; i<fbnand[signal].length; i++) {    if (i>0) str += nlTabStr + operator["OR"] + spcStr;    str += retPterm(fbnand[signal][i]);  }  return str;}function retEqn(signal) {  if (trst[signal] || gbltrst[signal]) return retTrst(signal);  if (!clk[signal] && !gblclk[signal]) return retComb(signal);  if (fbnand[signal]) return retFbnand(signal);  var str = "";  var dtStr = "";  if (inreg[signal]) {    str += operator["COMMENT"] + spcStr + "Input Register";    dtStr += retSigName(inreg[signal]);  }  else {    if (eqnType == 0) dtStr = retSigName(signal);    else {      if (d1[signal] && d2[signal]) dtStr = "d";      else if (d1[signal]) dtStr = "d1";      else if (d2[signal]) dtStr = "d2";    }    str += dtStr + spcStr + operator["COMB"];    str += retD1D2(signal) + ";";  }  var index = retSigIndex(signal);  var fStr = retSigType(index);  if (rst[signal] || gblrst[signal]) fStr += "C";  if (set[signal] || gblset[signal]) fStr += "P";  if (ce[signal]) fStr += "E";  if (eqnType == 1) str += nlStr + fStr + index + ":" + spcStr + fStr + " port map (";  else if (eqnType == 2) str += nlStr + fStr + spcStr + fStr + index + " (";  if (eqnType != 0) {    if ((fStr.indexOf("FD") != -1) || (fStr.indexOf("LD") != -1))      str += nlTabStr + operator["D"] + spcStr + operator["EQUAL"] + dtStr + operator["ENDLN"];    else if (fStr.indexOf("FT") != -1)      str += nlTabStr + operator["T"] + spcStr + operator["EQUAL"] + dtStr + operator["ENDLN"];    else if (fStr.indexOf("Q") != -1) {      str += nlTabStr + operator["D"] + spcStr + operator["EQUAL"];      if (d1[signal] && d2[signal]) str += "d";      else if (d1[signal]) str += "d1";      else if (d2[signal]) str += "d2";      else                 str += operator["GND"];      str += operator["ENDLN"];    }  }  if (clk[signal] || gblclk[signal]) str += retClk(signal, fStr);  if (rst[signal] || gblrst[signal]) str += retRst(signal);  if (set[signal] || gblset[signal]) str += retSet(signal);  if (ce[signal]) str += retCE(signal);  if (eqnType == 1) {    str += nlTabStr + "Q" + spcStr + operator["EQUAL"];    if (inreg[signal]) str += "reg_input";    else               str += retSigName(signal);    str += operator["ENDLN"] + nlStr + ");";  }  else if (eqnType == 2) {    str += nlTabStr + ".Q" + spcStr + operator["EQUAL"];    if (inreg[signal]) str += "reg_input";    else               str += retSigName(signal);    str += operator["ENDLN"] + nlStr + ");";  }    return str;}function getPterm(pt, type) {   if (type) return type + " = " + retPterm(pt);  return "PT" + pt.substring(pt.indexOf('_')+1,pt.length) + " = " + retPterm(pt);}function getPRLDName(prld) {  if (eqnType != 0) return prld;  else if (prld == "VCC") return "S";  return "R";}function retSigType(s) {  var sigType = sigTypes[s];  if (sigType == "D") return "FD";  if (sigType == "T") return "FT";  if (sigType.indexOf("LATCH") != -1) return "LD";  if (sigType.indexOf("DDEFF") != -1) return "FDD";  if (sigType.indexOf("DEFF") != -1) return  "FD";  if (sigType.indexOf("DDFF") != -1) return  "FDD";  if (sigType.indexOf("TDFF") != -1) return  "FTD";  if (sigType.indexOf("DFF") != -1) return   "FD";  if (sigType.indexOf("TFF") != -1) return   "FT";  return "Q";}function retPrefix(signal, sigType) {  if ((sigType == "T") || (sigType == "LATCH") ||      (sigType == "TFF") || (sigType == "Q")) return "";  var str = "FD";  if ((sigType == "DDEFF") || (sigType == "DDFF")) str += "D";  if (set[signal] || rst[signal]) str += "C";  if (prld[signal]) str += "P";  if (ce[signal]) str += "E";  return str + " ";} function getEqn(signal) { return retEqn(signal); }function retUimPterm(pt) {  var str = "";  if (!uimPterms[pt]) return pt;  for (p=0; p<uimPterms[pt].length; p++) {    if (p>0) str += spcStr + operator["AND"] + spcStr;    var sig = uimPterms[pt][p];    if (sig.indexOf("/") != -1) sig = sig.substring(1, sig.length);    str += retSigName(sig);  }  return str;}function retUimEqn(signal) {  var str = operator["COMMENT"] + spcStr + "FC Node" + nlStr;  var neg = 0;  if (uimSigNegs[s] == "ON") str += operator["NOT"];  str += retSigName(signal) + spcStr + operator["COMB"];  str += retUimPterm(signal) + ";";  return str;}function showLegend(url) { parent.leftnav.showLegend(url, 650, 350); }

⌨️ 快捷键说明

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