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

📄 final.jam

📁 EDA条件下乘法器的实现。AHDL语言实现输入显示乘法等功能
💻 JAM
📖 第 1 页 / 共 3 页
字号:
GOTO L103;
LET k = 14;
IF (V2 == 2) THEN LET k = 11;
LET V72 = A14[((A16[k] >> 3) & 31) + 32];
LET V73 = A15[(A16[k] & 7) + 8];
L103:
IF ((A11[V27 + 2] & 4) != 4) THEN
GOTO L104;
LET V72 = 500;
LET V73 = 500;
L104:
IF ((A11[V27 + 2] & 128) != 128) THEN
GOTO L105;
LET V82 = 1;
LET A48[i] = A48[i] | 128;
L105:
LET V27 = V27 + 3;
NEXT j;
LET V27 = 0;
IF ((V36 & 15) > 9) THEN LET V27 = 7;
PRINT "Device #", V0 - i ," Silicon ID is ",
CHR$(A16[0]), CHR$(A16[1]), CHR$(A16[2]), CHR$(A16[3]),
CHR$(A16[4]), CHR$(A16[5]), CHR$(A16[6]), CHR$(A16[7]),
"(", CHR$(((V36 >> 4) & 1) + 48),
CHR$((V36 & 15) + 48 + V27), ")"
;
IF (V72 > V37) THEN LET V37 = V72;
IF (V73 > V38) THEN LET V38 = V73;
IF (!V40) THEN LET V42 = 3;
L106:
NEXT i;
IF ((V42 == 0) && V82) THEN CALL L31;
RETURN;
L149:
LET A18[0..9] = A19[0..9];
CALL L267;
WAIT 15 USEC;
LET A18[0..9] = A20[0..9];
CALL L267;
IF (V34 == 0) THEN GOTO L150;
IF (!USE_FIXED_ALGORITHM) THEN
DRSCAN V24, A29[0..(V24 - 1)], CAPTURE A31[V30..V31];
IF (USE_FIXED_ALGORITHM) THEN
DRSCAN V24, A29[0..(V24 - 1)], COMPARE A31[V30..V31],
A57[V30..V31], V40;
GOTO L152;
L150:
IF (V74) THEN GOTO L151;
DRSCAN V24, A29[0..(V24 - 1)], COMPARE A22[V30..V31],
A30[0..(V24 - 1)], V40;
GOTO L152;
L151:
DRSCAN V24, A29[0..(V24 - 1)],
COMPARE A30[0..(V24 - 1)], A30[0..(V24 - 1)],
V40;
L152:
IF (!V40) THEN LET V39 = 1;
RETURN;
L153:
LET V39 = 0;
LET V40 = 1;
IF (V10 > 89) THEN GOTO L154;
LET A18[0..9] = 016;
CALL L267;
DRSCAN V21, A26[0..(V21 - 1)];
LET A18[0..9] = 01A;
CALL L267;
DRSCAN V21, A26[0..(V21 - 1)];
L154:
IF (V29 == 0) THEN
LET A19[0..9] = 036;
IF (V29 == 1) THEN
LET A19[0..9] = 03A;
IF (V29 == 2) THEN
LET A19[0..9] = 032;
IF (V49) THEN CALL COMPUTE_7K_N_BITS;
IF (V34 == 1) THEN GOTO L155;
LET V30 = V15;
LET V31 = V30 + (V24 - 1);
GOTO L156;
L155:
LET V30 = 0;
LET V31 = V24 - 1;
L156:
LET V81 = 0;
LET V28 = 4;
IF (V10 > 88) THEN LET V28 = 0;
FOR i = 0 TO V28;
IF (i == V28) THEN LET V81 = 1;
PUSH i;
LET A20[0..9] = 022;
CALL L149;
IF (V29 != 0) THEN GOTO L157;
LET A19[0..9] = 032;
CALL L149;
LET A19[0..9] = 036;
L157:
LET V30 = V30 + V24;
LET V31 = V31 + V24;
IF (!V45) THEN GOTO L158;
LET b = 0;
CALL L292;
GOTO L159;
L158:
IF (V10 != V51) THEN GOTO L159;
LET V44 = 1;
LET b = 0;
CALL L288;
L159:
LET A20[0..9] = 026;
CALL L149;
IF (V29 != 0) THEN GOTO L160;
LET A19[0..9] = 032;
CALL L149;
LET A19[0..9] = 036;
L160:
LET V30 = V30 + V24;
LET V31 = V31 + V24;
IF (!V45) THEN GOTO L161;
LET b = 1;
CALL L292;
GOTO L162;
L161:
IF (V10 != V51) THEN GOTO L162;
LET b = 1;
CALL L288;
LET V44 = 0;
CALL L290;
L162:
IF (V81) THEN GOTO L163;
LET A18[0..9] = 016;
CALL L267;
POP i;
DRSCAN V21, A26[((i + 1) * V21)..(((i + 2) * V21) - 1)];
PUSH i;
LET A18[0..9] = 01A;
CALL L267;
POP i;
DRSCAN V21, A26[((i + 1) * V21)..(((i + 2) * V21) - 1)];
PUSH i;
L163:
POP i;
NEXT i;
LET V15 = V30;
IF (!V39 || (V34 == 1)) THEN
GOTO L164;
IF (V74) THEN LET V42 = 5;
IF (!V74) THEN LET V42 = 6;
L164:
RETURN;
L210:
LET V30 = 0;
FOR j = 0 TO V1;
LET V31 = V30;
IF (((A17[j] & 1) == 0) ||
((A17[j] & 4) == 0) ||
((A17[j] & 8) != 0)) THEN GOTO L212;
LET V2 = A12[j];
IF (V11 >= (A0[V2] - 108)) THEN GOTO L211;
LET V31 = V31 + (A0[V2] - 1);
LET A28[V31 - V11] = 1;
IF (V11 < 108) THEN LET A28[(107 + V30) - V11] = 1;
GOTO L212;
L211:
IF ((A17[j] & 8) == 0) THEN LET V49 = 1;
LET A17[j] = A17[j] | 8;
L212:
LET V30 = V31 + 1;
NEXT j;
LET A18[0..9] = 01E;
CALL L267;
DRSCAN V30, A28[0..(V30 - 1)];
LET V30 = 0;
FOR j = 0 TO V1;
LET V31 = V30;
LET V2 = A12[j];
IF (((A17[j] & 1) == 0) ||
((A17[j] & 4) == 0) ||
((A17[j] & 8) != 0)) THEN GOTO L213;
LET V31 = V31 + (A0[V2] - 1);
LET A28[V31 - V11] = 0;
IF (V11 < 108) THEN LET A28[(107 + V30) - V11] = 0;
L213:
LET V30 = V31 + 1;
NEXT j;
IF (V49 && (V11 == V52)) THEN
CALL L300;
LET V10 = V11;
RETURN;
L236:
LET V30 = V14;
IF (V49) THEN CALL COMPUTE_7K_N_BITS;
LET V31 = V30 + (V23 - 1);
IF (V75) THEN GOTO L237;
LET A18[0..9] = 016;
CALL L267;
DRSCAN V23, A21[V30..V31];
LET V30 = V30 + V23;
LET V31 = V31 + V23;
LET A18[0..9] = 01A;
CALL L267;
DRSCAN V23, A21[V30..V31];
LET V30 = V30 + V23;
LET V31 = V31 + V23;
GOTO L238;
L237:
LET A18[0..9] = 016;
CALL L267;
DRSCAN V23, A29[0..(V23 - 1)];
LET A18[0..9] = 01A;
CALL L267;
DRSCAN V23, A29[0..(V23 - 1)];
L238:
CALL L65;
LET V14 = V30;
RETURN;
L252:
IF (DO_SECURE == 0) THEN GOTO L257;
CALL L30;
FOR i = 0 TO V1;
IF (((A17[i] & V4) == 0) ||
((A17[i] & 4) == 0)) THEN GOTO L253;
IF ((A17[i] & 16) == 0) THEN
LET A17[i] = A17[i] | 8;
IF ((A17[i] & 16) != 0) THEN
LET V75 = 1;
L253:
NEXT i;
IF (!DO_SECURE_ALL && (V75 == 0)) THEN
GOTO L257;
IF (DO_SECURE_ALL && (V75 == 0)) THEN
GOTO L254;
LET V11 = 108;
CALL L210;
CALL L236;
L254:
IF (!DO_SECURE_ALL) THEN GOTO L257;
LET A18[0..9] = 03E;
CALL L267;
CALL L30;
LET V75 = 0;
FOR i = 0 TO V1;
IF (((A17[i] & V4) == 0) ||
((A17[i] & 4) == 0)) THEN GOTO L256;
IF ((A17[i] & 16) != 0) THEN GOTO L255;
LET A17[i] = A17[i] | 16;
LET V75 = 1;
GOTO L256;
L255:
LET A17[i] = A17[i] & ~16;
LET A17[i] = A17[i] | 8;
L256:
NEXT i;
IF (V75 == 0) THEN GOTO L257;
LET V11 = 108;
CALL L210;
CALL L236;
L257:
LET V75 = 0;
RETURN;
L264:
FOR i = 0 TO V1;
LET V2 = A12[i];
IF (((A17[i] & V4) != 0) &&
((A17[i] & 4) != 0)) THEN
IF (A0[V2] > V32) THEN
LET V32 = A0[V2];
NEXT i;
LET V32 = V32 - 108;
RETURN;
L267:
LET V41 = 0;
LET V27 = 0;
IF (!V56) THEN GOTO L268;
LET V56 = 0;
LET V41 = 50;
IF (!USE_EXTEND_IR_DELAY_METHOD) THEN GOTO L268;
LET V27 = 50;
LET A32[0..49] = A30[0..49];
L268:
FOR i = 0 TO V1;
IF ((A17[i] & 8) != 0) THEN GOTO L269;
IF (((A17[i] & V4) != 0) &&
((A17[i] & 4) != 0)) THEN GOTO L270;
LET A33[0..(A25[i] - 1)] = A39[0..(A25[i] - 1)];
IF (((A17[i] & 1) != 0) &&
((A17[i] & 4) != 0)) THEN
LET A33[0..(A25[i] - 1)] = 03E;
LET A32[V27..(V27 + (A25[i] - 1))] = A33[0..(A25[i] - 1)];
LET V27 = V27 + A25[i];
GOTO L271;
L269:
LET A32[V27..(V27 + 9)] = 03E;
LET V27 = V27 + 10;
GOTO L271;
L270:
LET A32[V27..(V27 + 9)] = A18[0..9];
LET V27 = V27 + 10;
L271:
NEXT i;
IF ((V41 == 0) || USE_EXTEND_IR_DELAY_METHOD) THEN
GOTO L272;
STATE DRPAUSE;
WAIT DRPAUSE, 5 USEC, DRPAUSE;
L272:
IRSCAN V27, A32[0..(V27 - 1)];
WAIT IRPAUSE, V83 USEC, IDLE;
WAIT 3 CYCLES;
RETURN;
COMPUTE_7K_N_BITS:
LET V23 = 0;
LET V24 = 0;
FOR i = 0 TO (V19 - 1);
LET A30[i] = 1;
NEXT i;
FOR i = 0 TO V1;
LET V25 = 1;
LET V26 = 1;
IF (((A17[i] & 1) == 0) ||
((A17[i] & 4) == 0) ||
((A17[i] & 8) != 0)) THEN GOTO COMPUTE_7K_N_BITS_1;
LET V2 = A12[i];
LET V25 = A1[V2];
LET V26 = A5[V2];
GOTO COMPUTE_7K_N_BITS_2;
COMPUTE_7K_N_BITS_1:
IF (V74) THEN LET A30[V24] = 0;
COMPUTE_7K_N_BITS_2:
LET V23 = V23 + V25;
LET V24 = V24 + V26;
NEXT i;
LET V49 = 0;
RETURN;
L288:
LET j = 0;
FOR i = 0 TO V1;
LET k = j;
IF (((A17[i] & 1) == 0) ||
((A17[i] & 4) == 0) ||
((A17[i] & 8) != 0)) THEN GOTO L289;
LET V2 = A12[i];
LET k = k + (A5[V2] - 1);
IF (V10 != A9[3 * (V2 - 1)]) THEN
GOTO L289;
LET V27 = (16 * (A6[V2] -
A9[(3 * (V2 - 1)) + 2])) -
A9[(3 * (V2 - 1)) + 1] - 1;
IF (V43) THEN LET A29[V27 + j] = b;
IF (V44) THEN LET A30[V27 + j] = b;
L289:
LET j = k + 1;
NEXT i;
RETURN;
L290:
LET j = 317;
IF (V51 == -1) THEN LET V51 = 0;
FOR i = 0 TO V1;
IF (((A17[i] & 1) == 0) ||
((A17[i] & 4) == 0)) THEN GOTO L291;
LET V2 = A12[i];
IF (V51 >= A9[3 * (V2 - 1)]) THEN
GOTO L291;
IF (j > (A9[3 * (V2 - 1)] - V51)) THEN
LET j = A9[3 * (V2 - 1)] - V51;
L291:
NEXT i;
IF (j != 317) THEN LET V51 = V51 + j;
IF (j == 317) THEN LET V51 = -1;
RETURN;
L292:
LET j = 0;
FOR i = 0 TO V1;
LET k = j;
IF (((A17[i] & 1) == 0) ||
((A17[i] & 4) == 0)) THEN GOTO L293;
LET V2 = A12[i];
LET k = k + (A5[V2] - 1);
LET V27 = (16 * (A6[V2] -
A10[(2 * (V2 - 1)) + 1])) -
A10[2 * (V2 - 1)] - 1;
LET A30[V27 + j] = b;
L293:
LET j = k + 1;
NEXT i;
RETURN;
L300:
LET j = 317;
FOR i = 0 TO V1;
IF (((A17[i] & 1) == 0) ||
((A17[i] & 4) == 0)) THEN GOTO L301;
LET V2 = A12[i];
IF (V52 >= (A0[V2] - 108)) THEN
GOTO L301;
IF (j > A0[V2]) THEN LET j = A0[V2];
L301:
NEXT i;
IF (j != 317) THEN LET V52 = j - 108;
IF (j == 317) THEN LET V52 = -1;
RETURN;
' END OF FILE
CRC 6072;

⌨️ 快捷键说明

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