From d8fe6235e3a7ac036bbb9e1305f77db84dd2c7d0 Mon Sep 17 00:00:00 2001 From: "raoxianhong@jingjiamicro.com" Date: Fri, 16 Jul 2021 06:41:26 +0800 Subject: [PATCH] 202107160641 --- examples/terris/include/terrisengine1.h | 6 +- examples/terris/src/terris_ctrl.c | 492 +++++++-- examples/terris/src/terris_main_module.c | 1200 +-------------------- examples/terris/verilog/terris_ctrl.v | 2 +- examples/terris/verilog/terris_main_asm.v | 1 + 5 files changed, 434 insertions(+), 1267 deletions(-) diff --git a/examples/terris/include/terrisengine1.h b/examples/terris/include/terrisengine1.h index 5a52a51..b7526dc 100644 --- a/examples/terris/include/terrisengine1.h +++ b/examples/terris/include/terrisengine1.h @@ -26,11 +26,7 @@ typedef struct tagTerrisBlock }TerrisBlock; #define MAXSPPED 2000 -static int gameScore = 0; -static int currentspeed = MAXSPPED; -static int gameLevel = 0; -static int currenttick = 0; -static TerrisBlock currentblock, nextblock; + static int terrisGenNewBlock(TerrisBlock * pBlock); diff --git a/examples/terris/src/terris_ctrl.c b/examples/terris/src/terris_ctrl.c index a0eda15..d914194 100644 --- a/examples/terris/src/terris_ctrl.c +++ b/examples/terris/src/terris_ctrl.c @@ -33,6 +33,7 @@ * teris_ctrl.c 修改记录: 202106201016: rxh, initial version + 202107160614: rxh, macro version */ #include "stdlib.h" #include "stdio.h" @@ -42,7 +43,6 @@ #include "bignumber.h" #include "hdl4secell.h" #include "terris.h" -#include "terrisengine1.h" /* 0: input wClk, @@ -53,14 +53,373 @@ 5: output[31:0] bScore, 6: output[31:0] bSpeed, 7: output[31:0] bLevel, -8: output [63:0] bNextBlock, +8: output [63:0] bNextblock, 9: output [63:0] bCurBlock; 10: output [15:0] bCurBlockPos; 11: input [31:0] bResult -11: input [63:0] bNewNextBlock +11: input [63:0] bNewNextblock */ +enum TERRIS_KEY { + TK_LEFT, + TK_DOWN, + TK_RIGHT, + TK_TURNLEFT, + TK_TURNRIGHT +}; + +#define PANELWIDTH XCOUNT +#define PANELHEIGHT YCOUNT +#define PANELGAP 0 +#define BLOCKSIZE 4 + + +typedef struct tagTerrisBlock +{ + int posx, posy; + unsigned long subblock[BLOCKSIZE][BLOCKSIZE]; +}TerrisBlock; + +#define MAXSPPED 2000 + +static void terrisBlockRotate(TerrisBlock* pBlock, int dir) +{ + /*dir 0:顺时针,否则,逆时针*/ + int i, j; + unsigned long paneltemp[BLOCKSIZE][BLOCKSIZE]; + for (i = 0; i < BLOCKSIZE; i++) + for (j = 0; j < BLOCKSIZE; j++) + { + if (dir == 0) + paneltemp[i][j] = pBlock->subblock[BLOCKSIZE - 1 - j][i]; + else + paneltemp[i][j] = pBlock->subblock[j][BLOCKSIZE - 1 - i]; + } + memcpy(pBlock->subblock, paneltemp, sizeof(paneltemp)); +} + +#if 1 +#include "hdl4se_macros.h" +#define M_ID(id) terrisctrl1##id +#define terrisctrl1_MODULE_VERSION_STRING "0.4.0-20210716.0614 Terris Controller V1 module macro version" +#define terrisctrl1_MODULE_CLSID CLSID_TERRISCTRL1 + +HDL4SE_IDLIST + VID(wClk), + VID(nwReset), + VID(bKeyData), + VID(wStateComplete), + VID(bState), + VID(bScore), + VID(bSpeed), + VID(bLevel), + VID(bNextBlock), + VID(bCurBlock), + VID(bCurBlockPos), + VID(bResult), + VID(bNewNextBlock) +END_HDL4SE_IDLIST + +MODULE_DECLARE(terrisctrl1) + int testx, testy, testparam, testid; + int startline; + int checklinecount; + + int gameScore; + int currentspeed; + int gameLevel; + int currenttick; + int key; + int lastkey; + + int state; + int state_reg; + TerrisBlock currentblock, nextblock; + +END_MODULE_DECLARE(terrisctrl1) + +DEFINE_FUNC(terrisctrl1Setup) + pobj->state_reg = pobj->state; + pobj->lastkey = pobj->key; +END_DEFINE_FUNC + +static void terrisctrl1_hdl4se_unit_PressKeyPro(MODULE_DATA_TYPE* pobj, int result) +{ + switch (pobj->testparam)//blockCanSetToContext.param) + { + case TK_LEFT:/*left*/ + if (result) + pobj->currentblock.posx--; + break; + case TK_DOWN:/*down*/ + break; + case TK_RIGHT:/*right*/ + if (result) + pobj->currentblock.posx++; + break; + case TK_TURNLEFT:/*逆时针1*/ + if (result == 0) + terrisBlockRotate(&pobj->currentblock, 0); + break; + case TK_TURNRIGHT:/*顺时针0*/ + if (result == 0) + terrisBlockRotate(&pobj->currentblock, 1); + break; + } + pobj->state = ST_FLUSHTODISP; +} + +static void terrisctrl1_hdl4se_unit_AfterCheckLine(MODULE_DATA_TYPE* pobj, int result) +{ + if (result == 0) { + pobj->state = ST_INIT; + } + else { + pobj->state = ST_GENBLOCK; + } +} + +static void terrisctrl1_hdl4se_unit_MoveDownPro(MODULE_DATA_TYPE* pobj, int result) +{ + if (result) + { + pobj->currentblock.posy++; + pobj->state = ST_FLUSHTODISP; + } + else { + pobj->state = ST_BLOCKWRITE; + } + return; +} + +static int terrisctrl1_hdl4se_unit_MoveDown(MODULE_DATA_TYPE* pobj) +{ + pobj->testx = pobj->currentblock.posx; + pobj->testy = pobj->currentblock.posy + 1; + pobj->testparam = 0; + pobj->testid = 0; + pobj->state = ST_CHECKBLOCKCANSETTO; + return 0; +} + +static int terrisctrl1_hdl4se_unit_Tick(MODULE_DATA_TYPE* pobj) +{ + pobj->currenttick++; + if ((pobj->currenttick % pobj->currentspeed) == 0) + { + terrisctrl1_hdl4se_unit_MoveDown(pobj); + return 1; + } + return 0; +} + + +static void terrisctrl1_hdl4se_unit_PressKeyStart(MODULE_DATA_TYPE* pobj, int key) +{ + pobj->currenttick = 0; + if (pobj->gameScore == 0 && (key == TK_LEFT || key == TK_RIGHT || key == TK_TURNLEFT || key == TK_TURNRIGHT)) { + pobj->state = ST_INIT; + } + else { + pobj->state = ST_CHECKBLOCKCANSETTO; + switch (key) + { + case TK_LEFT:/*left*/ + pobj->gameScore--; + pobj->testparam = key; + pobj->testid = 1; + pobj->testx = pobj->currentblock.posx - 1; + pobj->testy = pobj->currentblock.posy; + break; + case TK_DOWN:/*down*/ + pobj->gameScore += 2; + pobj->testx = pobj->currentblock.posx; + pobj->testy = pobj->currentblock.posy + 1; + pobj->testparam = key; + pobj->testid = 0; + terrisctrl1_hdl4se_unit_MoveDown(pobj); + break; + case TK_RIGHT:/*right*/ + pobj->gameScore--; + pobj->testparam = key; + pobj->testid = 1; + pobj->testx = pobj->currentblock.posx + 1; + pobj->testy = pobj->currentblock.posy; + break; + case TK_TURNLEFT:/*逆时针1*/ + pobj->gameScore--; + pobj->testparam = key; + pobj->testid = 1; + terrisBlockRotate(&pobj->currentblock, 1); + pobj->testx = pobj->currentblock.posx; + pobj->testy = pobj->currentblock.posy; + break; + case TK_TURNRIGHT:/*顺时针0*/ + pobj->gameScore--; + pobj->testparam = key; + pobj->testid = 1; + terrisBlockRotate(&pobj->currentblock, 0); + pobj->testx = pobj->currentblock.posx; + pobj->testy = pobj->currentblock.posy; + break; + } + } +} + +DEFINE_FUNC(terrisctrl1ClkTick) { + unsigned int statecomplete; + statecomplete = VREAD_U32(wStateComplete); + if (pobj->state == ST_INIT) { + pobj->currentspeed = MAXSPPED; + pobj->currenttick = 0; + pobj->gameScore = 200; + pobj->gameLevel = 0; + if (statecomplete != 0) + pobj->state = ST_GENBLOCK; + } + else if (pobj->state == ST_GENBLOCK) { + if (statecomplete != 0) { + unsigned long long data; + int i, j; + data = VREAD_U64(bNewNextBlock); + for (i = 0; i < BLOCKSIZE; i++) { + for (j = 0; j < BLOCKSIZE; j++) { + pobj->nextblock.subblock[BLOCKSIZE - 1 - i][BLOCKSIZE - 1 - j] = data & 0xf; + data >>= 4; + } + } + pobj->state = ST_FLUSHTODISP; + } + } + else if (pobj->state == ST_FLUSHTODISP) { + int curblockinvalid = 1; + int i, j; + for (i = 0; i < BLOCKSIZE; i++) { + for (j = 0; j < BLOCKSIZE; j++) { + if (pobj->currentblock.subblock[i][j] != 0) + curblockinvalid = 0; + } + } + if (curblockinvalid) { + memcpy(pobj->currentblock.subblock, pobj->nextblock.subblock, sizeof(pobj->currentblock.subblock)); + pobj->currentblock.posx = PANELWIDTH / 2; + pobj->currentblock.posy = 0; + pobj->state = ST_GENBLOCK; + } + else { + if (statecomplete != 0) + pobj->state = ST_CHECKKEY; + } + } + else if (pobj->state == ST_CHECKKEY) { + pobj->key = VREAD_U32(bKeyData); + if (pobj->key != pobj->lastkey) + { + pobj->lastkey = pobj->key; + if (pobj->key & 1) + terrisctrl1_hdl4se_unit_PressKeyStart(pobj, TK_RIGHT); + if (pobj->key & 2) + terrisctrl1_hdl4se_unit_PressKeyStart(pobj, TK_LEFT); + if (pobj->key & 4) + terrisctrl1_hdl4se_unit_PressKeyStart(pobj, TK_DOWN); + if (pobj->key & 8) + terrisctrl1_hdl4se_unit_PressKeyStart(pobj, TK_TURNLEFT); + } + else if (pobj->key == 0) { + terrisctrl1_hdl4se_unit_Tick(pobj); + } + } + else if (pobj->state == ST_CHECKBLOCKCANSETTO) { + if (statecomplete) { + int result = VREAD_U32(bResult); + if (pobj->testid == 0) { + terrisctrl1_hdl4se_unit_MoveDownPro(pobj, result); + } + else if (pobj->testid == 1) { + terrisctrl1_hdl4se_unit_PressKeyPro(pobj, result); + } + else { + terrisctrl1_hdl4se_unit_AfterCheckLine(pobj, result); + } + } + } + else if (pobj->state == ST_BLOCKWRITE) { + if (statecomplete != 0) { + pobj->state = ST_CHECKLINE; + pobj->checklinecount = 0; + } + } + else if (pobj->state == ST_CHECKLINE) { + if (statecomplete != 0) { + pobj->startline = VREAD_U32(bResult); + if (pobj->startline < YCOUNT) { + pobj->state = ST_COPYLINES; + pobj->checklinecount++; + } + else { + pobj->gameLevel += pobj->checklinecount; + if (pobj->checklinecount == 1) + pobj->gameScore += 10; + if (pobj->checklinecount == 2) + pobj->gameScore += 40; + if (pobj->checklinecount == 3) + pobj->gameScore += 160; + if (pobj->checklinecount == 4) + pobj->gameScore += 640; + pobj->currentspeed = MAXSPPED - pobj->gameScore / 3; + if (pobj->currentspeed < 1) + pobj->currentspeed = 1; + + memcpy(&pobj->currentblock, &pobj->nextblock, sizeof(pobj->currentblock)); + pobj->currentblock.posx = PANELWIDTH / 2; + pobj->currentblock.posy = 0; + pobj->testx = pobj->currentblock.posx; + pobj->testy = pobj->currentblock.posy; + pobj->testid = 2; + pobj->state = ST_CHECKBLOCKCANSETTO; + } + } + } + else if (pobj->state == ST_COPYLINES) { + if (statecomplete != 0) { + pobj->state = ST_CHECKLINE; + } + } + else { + pobj->state = ST_INIT; + } +} END_DEFINE_FUNC + +MODULE_INIT(terrisctrl1) + PORT_IN(wClk, 1); + PORT_IN(nwReset, 1); + PORT_IN(bKeyData, 32); + PORT_IN(wStateComplete, 1); + PORT_OUT(bState, 4); + PORT_OUT(bScore, 32); + PORT_OUT(bSpeed, 32); + PORT_OUT(bLevel, 32); + PORT_OUT(bNextBlock, 64); + PORT_OUT(bCurBlock, 64); + PORT_OUT(bCurBlockPos, 16); + PORT_IN(bResult, 32); + PORT_IN(bNewNextBlock, 64); + + pobj->state = ST_INIT; + memset(&pobj->currentblock, 0, sizeof(TerrisBlock)); + memset(&pobj->nextblock, 0, sizeof(TerrisBlock)); + + SETUP_FUNC(terrisctrl1Setup); + CLKTICK_FUNC(terrisctrl1ClkTick); + +END_MODULE_INIT(terrisctrl1) + +MODULE_DEINIT(terrisctrl1) +END_MODULE_DEINIT(terrisctrl1) + +#else + #define INPUTPORTCOUNT 5 struct _sTerrisCtrl1; @@ -82,6 +441,12 @@ struct _sTerrisCtrl1 { int startline; int checklinecount; + int gameScore; + int currentspeed; + int gameLevel; + int currenttick; + TerrisBlock currentblock, nextblock; + int key; int lastkey; @@ -113,6 +478,7 @@ static int terrisctrl1Create(const PARAMITEM* pParams, int paramcount, HOBJECT* pobj = (sTerrisCtrl1*)malloc(sizeof(sTerrisCtrl1)); if (pobj == NULL) return -1; + memset(pobj, 0, sizeof(sTerrisCtrl1)); *pObject = 0; HDL4SEUNIT_VARINIT(pobj, CLSID_TERRISCTRL1); INTERFACE_INIT(IHDL4SEUnit, pobj, terrisctrl1, hdl4se_unit); @@ -134,7 +500,7 @@ static int terrisctrl1Create(const PARAMITEM* pParams, int paramcount, HOBJECT* pobj->name = strdup(pParams[i].pvalue); } else if (pParams[i].name == PARAMID_HDL4SE_UNIT_PARENT) { - pobj->parent = (IHDL4SEModule **)pParams[i].pvalue; + pobj->parent = (IHDL4SEModuleVar *)pParams[i].pvalue; } } pobj->state = ST_INIT; @@ -192,27 +558,26 @@ static int terrisctrl1_hdl4se_unit_ConnectInput(HOBJECT object, int index, HOBJE CONNECTPORT(2, 1); /* bKeyData */ CONNECTPORT(3, 2); /* wStateComplete */ CONNECTPORT(11, 3); /* bResult */ - CONNECTPORT(12, 4); /* bNewNextBlock */ + CONNECTPORT(12, 4); /* bNewpobj->nextblock */ return 0; } static int terrisctrl1_hdl4se_unit_GetValue(HOBJECT object, int index, int width, IBigNumber ** value) { - int i; sTerrisCtrl1* pobj; pobj = (sTerrisCtrl1*)objectThis(object); if (index == 4) { objectCall1(value, AssignUint32, pobj->state_reg); } else if (index == 5) { - objectCall1(value, AssignUint32, gameScore); + objectCall1(value, AssignUint32, pobj->gameScore); } else if (index == 6) { - objectCall1(value, AssignUint32, MAXSPPED - currentspeed); + objectCall1(value, AssignUint32, MAXSPPED - pobj->currentspeed); } else if (index == 7) { - objectCall1(value, AssignUint32, gameLevel); + objectCall1(value, AssignUint32, pobj->gameLevel); } else if (index == 8) { unsigned long long data; @@ -221,7 +586,7 @@ static int terrisctrl1_hdl4se_unit_GetValue(HOBJECT object, int index, int width for (i = 0; i < BLOCKSIZE; i++) { for (j = 0; j < BLOCKSIZE; j++) { data <<= 4; - data |= nextblock.subblock[BLOCKSIZE - 1 - i][BLOCKSIZE-1-j] & 0xf; + data |= pobj->nextblock.subblock[BLOCKSIZE - 1 - i][BLOCKSIZE-1-j] & 0xf; } } objectCall1(value, AssignUint64, data); @@ -233,7 +598,7 @@ static int terrisctrl1_hdl4se_unit_GetValue(HOBJECT object, int index, int width for (i = 0; i < BLOCKSIZE; i++) { for (j = 0; j < BLOCKSIZE; j++) { data <<= 4; - data |= currentblock.subblock[BLOCKSIZE - 1 - i][BLOCKSIZE - 1 - j] & 0xf; + data |= pobj->currentblock.subblock[BLOCKSIZE - 1 - i][BLOCKSIZE - 1 - j] & 0xf; } } objectCall1(value, AssignUint64, data); @@ -246,7 +611,7 @@ static int terrisctrl1_hdl4se_unit_GetValue(HOBJECT object, int index, int width objectCall1(value, AssignUint32, pobj->startline); } else { - objectCall1(value, AssignUint32, ((currentblock.posx + 1) & 0xff) | (((YCOUNT + 1 - currentblock.posy) & 0xff) << 8)); + objectCall1(value, AssignUint32, ((pobj->currentblock.posx + 1) & 0xff) | (((YCOUNT + 1 - pobj->currentblock.posy) & 0xff) << 8)); } } return 0; @@ -258,21 +623,21 @@ static void terrisctrl1_hdl4se_unit_PressKeyPro(sTerrisCtrl1* pobj, int result) { case TK_LEFT:/*left*/ if (result) - currentblock.posx--; + pobj->currentblock.posx--; break; case TK_DOWN:/*down*/ break; case TK_RIGHT:/*right*/ if (result) - currentblock.posx++; + pobj->currentblock.posx++; break; case TK_TURNLEFT:/*逆时针1*/ if (result == 0) - terrisBlockRotate(¤tblock, 0); + terrisBlockRotate(&pobj->currentblock, 0); break; case TK_TURNRIGHT:/*顺时针0*/ if (result == 0) - terrisBlockRotate(¤tblock, 1); + terrisBlockRotate(&pobj->currentblock, 1); break; } pobj->state = ST_FLUSHTODISP; @@ -292,7 +657,7 @@ static void terrisctrl1_hdl4se_unit_MoveDownPro(sTerrisCtrl1* pobj, int result) { if (result) { - currentblock.posy++; + pobj->currentblock.posy++; pobj->state = ST_FLUSHTODISP; } else { @@ -303,8 +668,8 @@ static void terrisctrl1_hdl4se_unit_MoveDownPro(sTerrisCtrl1* pobj, int result) static int terrisctrl1_hdl4se_unit_MoveDown(sTerrisCtrl1* pobj) { - pobj->testx = currentblock.posx; - pobj->testy = currentblock.posy + 1; + pobj->testx = pobj->currentblock.posx; + pobj->testy = pobj->currentblock.posy + 1; pobj->testparam = 0; pobj->testid = 0; pobj->state = ST_CHECKBLOCKCANSETTO; @@ -313,8 +678,8 @@ static int terrisctrl1_hdl4se_unit_MoveDown(sTerrisCtrl1* pobj) static int terrisctrl1_hdl4se_unit_Tick(sTerrisCtrl1* pobj) { - currenttick++; - if ((currenttick % currentspeed) == 0) + pobj->currenttick++; + if ((pobj->currenttick % pobj->currentspeed) == 0) { terrisctrl1_hdl4se_unit_MoveDown(pobj); return 1; @@ -325,8 +690,8 @@ static int terrisctrl1_hdl4se_unit_Tick(sTerrisCtrl1* pobj) static void terrisctrl1_hdl4se_unit_PressKeyStart(sTerrisCtrl1* pobj, int key) { - currenttick = 0; - if (gameScore == 0 && (key == TK_LEFT || key == TK_RIGHT || key == TK_TURNLEFT || key == TK_TURNRIGHT)) { + pobj->currenttick = 0; + if (pobj->gameScore == 0 && (key == TK_LEFT || key == TK_RIGHT || key == TK_TURNLEFT || key == TK_TURNRIGHT)) { pobj->state = ST_INIT; } else { @@ -334,42 +699,42 @@ static void terrisctrl1_hdl4se_unit_PressKeyStart(sTerrisCtrl1* pobj, int key) switch (key) { case TK_LEFT:/*left*/ - gameScore--; + pobj->gameScore--; pobj->testparam = key; pobj->testid = 1; - pobj->testx = currentblock.posx - 1; - pobj->testy = currentblock.posy; + pobj->testx = pobj->currentblock.posx - 1; + pobj->testy = pobj->currentblock.posy; break; case TK_DOWN:/*down*/ - gameScore += 2; - pobj->testx = currentblock.posx; - pobj->testy = currentblock.posy + 1; + pobj->gameScore += 2; + pobj->testx = pobj->currentblock.posx; + pobj->testy = pobj->currentblock.posy + 1; pobj->testparam = key; pobj->testid = 0; terrisctrl1_hdl4se_unit_MoveDown(pobj); break; case TK_RIGHT:/*right*/ - gameScore--; + pobj->gameScore--; pobj->testparam = key; pobj->testid = 1; - pobj->testx = currentblock.posx + 1; - pobj->testy = currentblock.posy; + pobj->testx = pobj->currentblock.posx + 1; + pobj->testy = pobj->currentblock.posy; break; case TK_TURNLEFT:/*逆时针1*/ - gameScore--; + pobj->gameScore--; pobj->testparam = key; pobj->testid = 1; - terrisBlockRotate(¤tblock, 1); - pobj->testx = currentblock.posx; - pobj->testy = currentblock.posy; + terrisBlockRotate(&pobj->currentblock, 1); + pobj->testx = pobj->currentblock.posx; + pobj->testy = pobj->currentblock.posy; break; case TK_TURNRIGHT:/*顺时针0*/ - gameScore--; + pobj->gameScore--; pobj->testparam = key; pobj->testid = 1; - terrisBlockRotate(¤tblock, 0); - pobj->testx = currentblock.posx; - pobj->testy = currentblock.posy; + terrisBlockRotate(&pobj->currentblock, 0); + pobj->testx = pobj->currentblock.posx; + pobj->testy = pobj->currentblock.posy; break; } } @@ -386,10 +751,10 @@ static int terrisctrl1_hdl4se_unit_ClkTick(HOBJECT object) if (pobj->state == ST_INIT) { objectCall3(pobj->input_unit[2], GetValue, pobj->input_index[2], 32, pobj->inputdata); objectCall1(pobj->inputdata, GetUint32, &statecomplete); - currentspeed = MAXSPPED; - currenttick = 0; - gameScore = 200; - gameLevel = 0; + pobj->currentspeed = MAXSPPED; + pobj->currenttick = 0; + pobj->gameScore = 200; + pobj->gameLevel = 0; if (statecomplete != 0) pobj->state = ST_GENBLOCK; } @@ -403,7 +768,7 @@ static int terrisctrl1_hdl4se_unit_ClkTick(HOBJECT object) objectCall1(pobj->inputdata, GetUint64, &data); for (i = 0; i < BLOCKSIZE; i++) { for (j = 0; j < BLOCKSIZE; j++) { - nextblock.subblock[BLOCKSIZE - 1 - i][BLOCKSIZE - 1 - j] = data & 0xf; + pobj->nextblock.subblock[BLOCKSIZE - 1 - i][BLOCKSIZE - 1 - j] = data & 0xf; data >>= 4; } } @@ -415,14 +780,14 @@ static int terrisctrl1_hdl4se_unit_ClkTick(HOBJECT object) int i, j; for (i = 0; i < BLOCKSIZE; i++) { for (j = 0; j < BLOCKSIZE; j++) { - if (currentblock.subblock[i][j] != 0) + if (pobj->currentblock.subblock[i][j] != 0) curblockinvalid = 0; } } if (curblockinvalid) { - memcpy(currentblock.subblock, nextblock.subblock, sizeof(currentblock.subblock)); - currentblock.posx = PANELWIDTH / 2; - currentblock.posy = 0; + memcpy(pobj->currentblock.subblock, pobj->nextblock.subblock, sizeof(pobj->currentblock.subblock)); + pobj->currentblock.posx = PANELWIDTH / 2; + pobj->currentblock.posy = 0; pobj->state = ST_GENBLOCK; } else { @@ -487,24 +852,24 @@ static int terrisctrl1_hdl4se_unit_ClkTick(HOBJECT object) pobj->state = ST_COPYLINES; pobj->checklinecount++; } else { - gameLevel += pobj->checklinecount; + pobj->gameLevel += pobj->checklinecount; if (pobj->checklinecount == 1) - gameScore += 10; + pobj->gameScore += 10; if (pobj->checklinecount == 2) - gameScore += 40; + pobj->gameScore += 40; if (pobj->checklinecount == 3) - gameScore += 160; + pobj->gameScore += 160; if (pobj->checklinecount == 4) - gameScore += 640; - currentspeed = MAXSPPED - gameScore / 3; - if (currentspeed < 1) - currentspeed = 1; - - memcpy(¤tblock, &nextblock, sizeof(currentblock)); - currentblock.posx = PANELWIDTH / 2; - currentblock.posy = 0; - pobj->testx = currentblock.posx; - pobj->testy = currentblock.posy; + pobj->gameScore += 640; + pobj->currentspeed = MAXSPPED - pobj->gameScore / 3; + if (pobj->currentspeed < 1) + pobj->currentspeed = 1; + + memcpy(&pobj->currentblock, &pobj->nextblock, sizeof(pobj->currentblock)); + pobj->currentblock.posx = PANELWIDTH / 2; + pobj->currentblock.posy = 0; + pobj->testx = pobj->currentblock.posx; + pobj->testy = pobj->currentblock.posy; pobj->testid = 2; pobj->state = ST_CHECKBLOCKCANSETTO; } @@ -533,3 +898,4 @@ static int terrisctrl1_hdl4se_unit_Setup(HOBJECT object) return 0; } +#endif \ No newline at end of file diff --git a/examples/terris/src/terris_main_module.c b/examples/terris/src/terris_main_module.c index 3b49a8f..885eabe 100644 --- a/examples/terris/src/terris_main_module.c +++ b/examples/terris/src/terris_main_module.c @@ -31,7 +31,7 @@ /* -* Created by HDL4SE @ Thu Jul 15 17:33:09 2021 +* Created by HDL4SE @ Fri Jul 16 06:01:31 2021 * Don't edit it. */ @@ -47,1202 +47,6 @@ #include "verilog_parsetree.h" -IHDL4SEUnit** hdl4seCreate_0011(IHDL4SEModuleVar * parent, const char* instanceparam, const char* name) -{ /* module turnleft */ - IHDL4SEModuleVar* module; - IHDL4SEUnit** unit; - IHDL4SEUnit** nets[16]; - int __netswidth[16]; - int __portswidth[2]; - char __instparam[128]; - - /* 生成模块对象 */ - unit = hdl4seCreateUnit(parent, CLSID_HDL4SE_MODULE, instanceparam, name); - /* 得到对象的IHDL4SEModule 接口 */ - objectQueryInterface(unit, IID_HDL4SEMODULE, (void**)&module); - - /* 端口 */ - /* 0*/ hdl4se_module_AddPort(&module->data, "inblock", 64, 1, PORT_DIRECT_INPUT ); - /* 0*/ __portswidth[0] = 64; - /* 1*/ hdl4se_module_AddPort(&module->data, "outblock", 64, 1, PORT_DIRECT_OUTPUT); - /* 1*/ __portswidth[1] = 64; - - /* 线网 */ - nets[ 0] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "b00"); - __netswidth[0] = 4; - nets[ 1] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "b01"); - __netswidth[1] = 4; - nets[ 2] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "b02"); - __netswidth[2] = 4; - nets[ 3] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "b03"); - __netswidth[3] = 4; - nets[ 4] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "b10"); - __netswidth[4] = 4; - nets[ 5] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "b11"); - __netswidth[5] = 4; - nets[ 6] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "b12"); - __netswidth[6] = 4; - nets[ 7] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "b13"); - __netswidth[7] = 4; - nets[ 8] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "b20"); - __netswidth[8] = 4; - nets[ 9] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "b21"); - __netswidth[9] = 4; - nets[ 10] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "b22"); - __netswidth[10] = 4; - nets[ 11] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "b23"); - __netswidth[11] = 4; - nets[ 12] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "b30"); - __netswidth[12] = 4; - nets[ 13] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "b31"); - __netswidth[13] = 4; - nets[ 14] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "b32"); - __netswidth[14] = 4; - nets[ 15] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "b33"); - __netswidth[15] = 4; - - /* 持续性赋值 */ - /* assign outblock = {b30,b20,b10,b00,b31,b21 - ,b11,b01,b32,b22,b12 - ,b02,b33,b23,b13,b03 - }; */ - IHDL4SEUnit** tempvar_0 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINDN, "1, 16", "tempvar_0"); - objectCall3(tempvar_0, ConnectInput, 0, nets[12], 0); - objectCall3(tempvar_0, ConnectInput, 1, nets[8], 0); - objectCall3(tempvar_0, ConnectInput, 2, nets[4], 0); - objectCall3(tempvar_0, ConnectInput, 3, nets[0], 0); - objectCall3(tempvar_0, ConnectInput, 4, nets[13], 0); - objectCall3(tempvar_0, ConnectInput, 5, nets[9], 0); - objectCall3(tempvar_0, ConnectInput, 6, nets[5], 0); - objectCall3(tempvar_0, ConnectInput, 7, nets[1], 0); - objectCall3(tempvar_0, ConnectInput, 8, nets[14], 0); - objectCall3(tempvar_0, ConnectInput, 9, nets[10], 0); - objectCall3(tempvar_0, ConnectInput, 10, nets[6], 0); - objectCall3(tempvar_0, ConnectInput, 11, nets[2], 0); - objectCall3(tempvar_0, ConnectInput, 12, nets[15], 0); - objectCall3(tempvar_0, ConnectInput, 13, nets[11], 0); - objectCall3(tempvar_0, ConnectInput, 14, nets[7], 0); - objectCall3(tempvar_0, ConnectInput, 15, nets[3], 0); - objectCall3(unit, ConnectInput, 1, tempvar_0, 16); - /* assign b00 = inblock [3:0] ; */ - IHDL4SEUnit** tempvar_1 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 4, 0", "tempvar_1"); - objectCall3(tempvar_1, ConnectInput, 0, unit, 0); - objectCall3(nets[0], ConnectInput, 0, tempvar_1, 1); - /* assign b01 = inblock [7:4] ; */ - IHDL4SEUnit** tempvar_2 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 4, 4", "tempvar_2"); - objectCall3(tempvar_2, ConnectInput, 0, unit, 0); - objectCall3(nets[1], ConnectInput, 0, tempvar_2, 1); - /* assign b02 = inblock [11:8] ; */ - IHDL4SEUnit** tempvar_3 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 4, 8", "tempvar_3"); - objectCall3(tempvar_3, ConnectInput, 0, unit, 0); - objectCall3(nets[2], ConnectInput, 0, tempvar_3, 1); - /* assign b03 = inblock [15:12] ; */ - IHDL4SEUnit** tempvar_4 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 4, 12", "tempvar_4"); - objectCall3(tempvar_4, ConnectInput, 0, unit, 0); - objectCall3(nets[3], ConnectInput, 0, tempvar_4, 1); - /* assign b10 = inblock [19:16] ; */ - IHDL4SEUnit** tempvar_5 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 4, 16", "tempvar_5"); - objectCall3(tempvar_5, ConnectInput, 0, unit, 0); - objectCall3(nets[4], ConnectInput, 0, tempvar_5, 1); - /* assign b11 = inblock [23:20] ; */ - IHDL4SEUnit** tempvar_6 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 4, 20", "tempvar_6"); - objectCall3(tempvar_6, ConnectInput, 0, unit, 0); - objectCall3(nets[5], ConnectInput, 0, tempvar_6, 1); - /* assign b12 = inblock [27:24] ; */ - IHDL4SEUnit** tempvar_7 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 4, 24", "tempvar_7"); - objectCall3(tempvar_7, ConnectInput, 0, unit, 0); - objectCall3(nets[6], ConnectInput, 0, tempvar_7, 1); - /* assign b13 = inblock [31:28] ; */ - IHDL4SEUnit** tempvar_8 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 4, 28", "tempvar_8"); - objectCall3(tempvar_8, ConnectInput, 0, unit, 0); - objectCall3(nets[7], ConnectInput, 0, tempvar_8, 1); - /* assign b20 = inblock [35:32] ; */ - IHDL4SEUnit** tempvar_9 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 4, 32", "tempvar_9"); - objectCall3(tempvar_9, ConnectInput, 0, unit, 0); - objectCall3(nets[8], ConnectInput, 0, tempvar_9, 1); - /* assign b21 = inblock [39:36] ; */ - IHDL4SEUnit** tempvar_10 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 4, 36", "tempvar_10"); - objectCall3(tempvar_10, ConnectInput, 0, unit, 0); - objectCall3(nets[9], ConnectInput, 0, tempvar_10, 1); - /* assign b22 = inblock [43:40] ; */ - IHDL4SEUnit** tempvar_11 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 4, 40", "tempvar_11"); - objectCall3(tempvar_11, ConnectInput, 0, unit, 0); - objectCall3(nets[10], ConnectInput, 0, tempvar_11, 1); - /* assign b23 = inblock [47:44] ; */ - IHDL4SEUnit** tempvar_12 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 4, 44", "tempvar_12"); - objectCall3(tempvar_12, ConnectInput, 0, unit, 0); - objectCall3(nets[11], ConnectInput, 0, tempvar_12, 1); - /* assign b30 = inblock [51:48] ; */ - IHDL4SEUnit** tempvar_13 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 4, 48", "tempvar_13"); - objectCall3(tempvar_13, ConnectInput, 0, unit, 0); - objectCall3(nets[12], ConnectInput, 0, tempvar_13, 1); - /* assign b31 = inblock [55:52] ; */ - IHDL4SEUnit** tempvar_14 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 4, 52", "tempvar_14"); - objectCall3(tempvar_14, ConnectInput, 0, unit, 0); - objectCall3(nets[13], ConnectInput, 0, tempvar_14, 1); - /* assign b32 = inblock [59:56] ; */ - IHDL4SEUnit** tempvar_15 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 4, 56", "tempvar_15"); - objectCall3(tempvar_15, ConnectInput, 0, unit, 0); - objectCall3(nets[14], ConnectInput, 0, tempvar_15, 1); - /* assign b33 = inblock [63:60] ; */ - IHDL4SEUnit** tempvar_16 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 4, 60", "tempvar_16"); - objectCall3(tempvar_16, ConnectInput, 0, unit, 0); - objectCall3(nets[15], ConnectInput, 0, tempvar_16, 1); - - /*释放module接口*/ - objectRelease(module); - /*返回unit接口*/ - return unit; -} - - -IHDL4SEUnit** hdl4seCreate_0013(IHDL4SEModuleVar * parent, const char* instanceparam, const char* name) -{ /* module teris_ctrl */ - IHDL4SEModuleVar* module; - IHDL4SEUnit** unit; - IHDL4SEUnit** nets[62]; - int __netswidth[62]; - IHDL4SEUnit** modules[29]; - int __portswidth[13]; - char __instparam[128]; - - /* 生成模块对象 */ - unit = hdl4seCreateUnit(parent, CLSID_HDL4SE_MODULE, instanceparam, name); - /* 得到对象的IHDL4SEModule 接口 */ - objectQueryInterface(unit, IID_HDL4SEMODULE, (void**)&module); - - /* 端口 */ - /* 0*/ hdl4se_module_AddPort(&module->data, "wClk", 1, 1, PORT_DIRECT_INPUT ); - /* 0*/ __portswidth[0] = 1; - /* 1*/ hdl4se_module_AddPort(&module->data, "nwReset", 1, 1, PORT_DIRECT_INPUT ); - /* 1*/ __portswidth[1] = 1; - /* 2*/ hdl4se_module_AddPort(&module->data, "bKeyData", 32, 1, PORT_DIRECT_INPUT ); - /* 2*/ __portswidth[2] = 32; - /* 3*/ hdl4se_module_AddPort(&module->data, "wStateComplete", 1, 1, PORT_DIRECT_INPUT ); - /* 3*/ __portswidth[3] = 1; - /* 4*/ hdl4se_module_AddPort(&module->data, "bState", 4, 1, PORT_DIRECT_OUTPUT); - /* 4*/ __portswidth[4] = 4; - /* 5*/ hdl4se_module_AddPort(&module->data, "bScore", 32, 1, PORT_DIRECT_OUTPUT); - /* 5*/ __portswidth[5] = 32; - /* 6*/ hdl4se_module_AddPort(&module->data, "bSpeed", 32, 1, PORT_DIRECT_OUTPUT); - /* 6*/ __portswidth[6] = 32; - /* 7*/ hdl4se_module_AddPort(&module->data, "bLevel", 32, 1, PORT_DIRECT_OUTPUT); - /* 7*/ __portswidth[7] = 32; - /* 8*/ hdl4se_module_AddPort(&module->data, "bNextBlock", 64, 1, PORT_DIRECT_OUTPUT); - /* 8*/ __portswidth[8] = 64; - /* 9*/ hdl4se_module_AddPort(&module->data, "bCurBlock", 64, 1, PORT_DIRECT_OUTPUT); - /* 9*/ __portswidth[9] = 64; - /* 10*/ hdl4se_module_AddPort(&module->data, "bCurBlockPos", 16, 1, PORT_DIRECT_OUTPUT); - /* 10*/ __portswidth[10] = 16; - /* 11*/ hdl4se_module_AddPort(&module->data, "bResult", 32, 1, PORT_DIRECT_INPUT ); - /* 11*/ __portswidth[11] = 32; - /* 12*/ hdl4se_module_AddPort(&module->data, "bNewNextBlock", 64, 1, PORT_DIRECT_INPUT ); - /* 12*/ __portswidth[12] = 64; - - /* 线网 */ - nets[ 0] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "outputx"); - __netswidth[0] = 8; - nets[ 1] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "outputy"); - __netswidth[1] = 8; - nets[ 2] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "wirein_state"); - __netswidth[2] = 4; - nets[ 3] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "wireout_state"); - __netswidth[3] = 4; - nets[ 4] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "stateAfterFlushToDisp"); - __netswidth[4] = 4; - nets[ 5] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "stateAfterCheckBlockCanSetTo"); - __netswidth[5] = 4; - nets[ 6] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "stateAfterCheckLine"); - __netswidth[6] = 4; - nets[ 7] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "stateAfterCheckKey"); - __netswidth[7] = 4; - nets[ 8] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 4", "nextstate"); - __netswidth[8] = 4; - nets[ 9] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "wirein_testx"); - __netswidth[9] = 8; - nets[ 10] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "wireout_testx"); - __netswidth[10] = 8; - nets[ 11] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "testxwencheckkey"); - __netswidth[11] = 8; - nets[ 12] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "wirein_testy"); - __netswidth[12] = 8; - nets[ 13] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "wireout_testy"); - __netswidth[13] = 8; - nets[ 14] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "testywencheckkey"); - __netswidth[14] = 8; - nets[ 15] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "wirein_testid"); - __netswidth[15] = 8; - nets[ 16] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "wireout_testid"); - __netswidth[16] = 8; - nets[ 17] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "testidwhencheckkey"); - __netswidth[17] = 8; - nets[ 18] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "wirein_startline"); - __netswidth[18] = 8; - nets[ 19] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "wireout_startline"); - __netswidth[19] = 8; - nets[ 20] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 32", "wirein_checklinecount"); - __netswidth[20] = 32; - nets[ 21] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 32", "wireout_checklinecount"); - __netswidth[21] = 32; - nets[ 22] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 32", "checklinecountAfterCheckline"); - __netswidth[22] = 32; - nets[ 23] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "wirein_testparam"); - __netswidth[23] = 8; - nets[ 24] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "wireout_testparam"); - __netswidth[24] = 8; - nets[ 25] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 32", "scoreAfterCheckLine"); - __netswidth[25] = 32; - nets[ 26] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 32", "scoreAfterCheckKey"); - __netswidth[26] = 32; - nets[ 27] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 32", "wirein_score"); - __netswidth[27] = 32; - nets[ 28] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 32", "wireout_score"); - __netswidth[28] = 32; - nets[ 29] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 32", "linescore"); - __netswidth[29] = 32; - nets[ 30] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 32", "levelAfterCheckLine"); - __netswidth[30] = 32; - nets[ 31] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 32", "wirein_level"); - __netswidth[31] = 32; - nets[ 32] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 32", "wireout_level"); - __netswidth[32] = 32; - nets[ 33] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 32", "nextlevel"); - __netswidth[33] = 32; - nets[ 34] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 32", "wirein_speed"); - __netswidth[34] = 32; - nets[ 35] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 32", "wireout_speed"); - __netswidth[35] = 32; - nets[ 36] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 32", "scorediv4"); - __netswidth[36] = 32; - nets[ 37] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 32", "wirein_tick"); - __netswidth[37] = 32; - nets[ 38] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 32", "wireout_tick"); - __netswidth[38] = 32; - nets[ 39] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "curposxAfterCheckKey"); - __netswidth[39] = 8; - nets[ 40] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "curposxAfterCheckLine"); - __netswidth[40] = 8; - nets[ 41] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "wirein_curposx"); - __netswidth[41] = 8; - nets[ 42] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "wireout_curposx"); - __netswidth[42] = 8; - nets[ 43] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "nextblockx"); - __netswidth[43] = 8; - nets[ 44] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "curposyAfterCheckKey"); - __netswidth[44] = 8; - nets[ 45] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "curposyAfterCheckLine"); - __netswidth[45] = 8; - nets[ 46] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "cursoryAfterCheckBlock"); - __netswidth[46] = 8; - nets[ 47] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "wirein_curposy"); - __netswidth[47] = 8; - nets[ 48] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "wireout_curposy"); - __netswidth[48] = 8; - nets[ 49] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 8", "nextblocky"); - __netswidth[49] = 8; - nets[ 50] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 64", "curblockWhenFlushToDisp"); - __netswidth[50] = 64; - nets[ 51] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 64", "curblockAfterCheckBlock"); - __netswidth[51] = 64; - nets[ 52] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 64", "curblockAfterCheckLine"); - __netswidth[52] = 64; - nets[ 53] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 64", "wirein_curblock"); - __netswidth[53] = 64; - nets[ 54] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 64", "wireout_curblock"); - __netswidth[54] = 64; - nets[ 55] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 64", "curblockturnleft"); - __netswidth[55] = 64; - nets[ 56] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 64", "curblockturnright"); - __netswidth[56] = 64; - nets[ 57] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 64", "wirein_nextblock"); - __netswidth[57] = 64; - nets[ 58] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 64", "wireout_nextblock"); - __netswidth[58] = 64; - nets[ 59] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 32", "wirein_key"); - __netswidth[59] = 32; - nets[ 60] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 32", "wireout_key"); - __netswidth[60] = 32; - nets[ 61] = hdl4seCreateUnit(module, CLSID_HDL4SE_WIRE, " 32", "cur_key"); - __netswidth[61] = 32; - -/* 模块实例化 */ - modules[ 0] = hdl4seCreateUnit2(module, "76FBFD4B-FEAD-45fd-AA27-AFC58AC241C2", "4", "terris_ctrlstate"); - objectCall3(modules[0], ConnectInput, 0, unit, 0); - objectCall3(modules[0], ConnectInput, 1, nets[2], 0); - objectCall3(nets[3], ConnectInput, 0, modules[0], 2); - modules[ 1] = hdl4seCreateUnit2(module, "DD99B7F6-9ED1-45BB-8150-ED78EEF982CA", "4", "mux_nextstate"); - objectCall3(modules[1], ConnectInput, 0, nets[3], 0); - IHDL4SEUnit** tempvar_1 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "4, 7", "tempvar_1"); - IHDL4SEUnit** tempvar_2 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 0", "tempvar_2"); - IHDL4SEUnit **tempvar_0 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "4", "tempvar_0"); - objectCall3(tempvar_0, ConnectInput, 0, unit, 3); - objectCall3(tempvar_0, ConnectInput, 1, tempvar_2, 0); - objectCall3(tempvar_0, ConnectInput, 2, tempvar_1, 0); - objectCall3(modules[1], ConnectInput, 1, tempvar_0, 3); - objectCall3(modules[1], ConnectInput, 2, nets[4], 0); - objectCall3(modules[1], ConnectInput, 3, nets[7], 0); - objectCall3(modules[1], ConnectInput, 4, nets[5], 0); - IHDL4SEUnit** tempvar_4 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "4, 5", "tempvar_4"); - IHDL4SEUnit** tempvar_5 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "4, 4", "tempvar_5"); - IHDL4SEUnit **tempvar_3 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "4", "tempvar_3"); - objectCall3(tempvar_3, ConnectInput, 0, unit, 3); - objectCall3(tempvar_3, ConnectInput, 1, tempvar_5, 0); - objectCall3(tempvar_3, ConnectInput, 2, tempvar_4, 0); - objectCall3(modules[1], ConnectInput, 5, tempvar_3, 3); - objectCall3(modules[1], ConnectInput, 6, nets[6], 0); - IHDL4SEUnit** tempvar_7 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "4, 5", "tempvar_7"); - IHDL4SEUnit** tempvar_8 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "4, 6", "tempvar_8"); - IHDL4SEUnit **tempvar_6 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "4", "tempvar_6"); - objectCall3(tempvar_6, ConnectInput, 0, unit, 3); - objectCall3(tempvar_6, ConnectInput, 1, tempvar_8, 0); - objectCall3(tempvar_6, ConnectInput, 2, tempvar_7, 0); - objectCall3(modules[1], ConnectInput, 7, tempvar_6, 3); - IHDL4SEUnit** tempvar_10 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 1", "tempvar_10"); - IHDL4SEUnit** tempvar_11 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "4, 7", "tempvar_11"); - IHDL4SEUnit **tempvar_9 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "4", "tempvar_9"); - objectCall3(tempvar_9, ConnectInput, 0, unit, 3); - objectCall3(tempvar_9, ConnectInput, 1, tempvar_11, 0); - objectCall3(tempvar_9, ConnectInput, 2, tempvar_10, 0); - objectCall3(modules[1], ConnectInput, 8, tempvar_9, 3); - objectCall3(nets[8], ConnectInput, 0, modules[1], 9); - modules[ 2] = hdl4seCreateUnit2(module, "76FBFD4B-FEAD-45fd-AA27-AFC58AC241C2", "8", "reg_testx"); - objectCall3(modules[2], ConnectInput, 0, unit, 0); - objectCall3(modules[2], ConnectInput, 1, nets[9], 0); - objectCall3(nets[10], ConnectInput, 0, modules[2], 2); - modules[ 3] = hdl4seCreateUnit2(module, "DD99B7F6-9ED1-45BB-8150-ED78EEF982CA", "8", "mux_testx"); - objectCall3(modules[3], ConnectInput, 0, nets[3], 0); - objectCall3(modules[3], ConnectInput, 1, nets[10], 0); - objectCall3(modules[3], ConnectInput, 2, nets[10], 0); - objectCall3(modules[3], ConnectInput, 3, nets[11], 0); - objectCall3(modules[3], ConnectInput, 4, nets[10], 0); - objectCall3(modules[3], ConnectInput, 5, nets[10], 0); - IHDL4SEUnit** tempvar_12 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "8, 8", "tempvar_12"); - objectCall3(modules[3], ConnectInput, 6, tempvar_12, 0); - objectCall3(modules[3], ConnectInput, 7, nets[10], 0); - objectCall3(modules[3], ConnectInput, 8, nets[10], 0); - objectCall3(nets[9], ConnectInput, 0, modules[3], 9); - modules[ 4] = hdl4seCreateUnit2(module, "76FBFD4B-FEAD-45fd-AA27-AFC58AC241C2", "8", "reg_testy"); - objectCall3(modules[4], ConnectInput, 0, unit, 0); - objectCall3(modules[4], ConnectInput, 1, nets[12], 0); - objectCall3(nets[13], ConnectInput, 0, modules[4], 2); - modules[ 5] = hdl4seCreateUnit2(module, "DD99B7F6-9ED1-45BB-8150-ED78EEF982CA", "8", "mux_testy"); - objectCall3(modules[5], ConnectInput, 0, nets[3], 0); - objectCall3(modules[5], ConnectInput, 1, nets[13], 0); - objectCall3(modules[5], ConnectInput, 2, nets[13], 0); - objectCall3(modules[5], ConnectInput, 3, nets[14], 0); - objectCall3(modules[5], ConnectInput, 4, nets[13], 0); - objectCall3(modules[5], ConnectInput, 5, nets[13], 0); - IHDL4SEUnit** tempvar_13 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "8, 0", "tempvar_13"); - objectCall3(modules[5], ConnectInput, 6, tempvar_13, 0); - objectCall3(modules[5], ConnectInput, 7, nets[13], 0); - objectCall3(modules[5], ConnectInput, 8, nets[13], 0); - objectCall3(nets[12], ConnectInput, 0, modules[5], 9); - modules[ 6] = hdl4seCreateUnit2(module, "76FBFD4B-FEAD-45fd-AA27-AFC58AC241C2", "8", "reg_testid"); - objectCall3(modules[6], ConnectInput, 0, unit, 0); - objectCall3(modules[6], ConnectInput, 1, nets[15], 0); - objectCall3(nets[16], ConnectInput, 0, modules[6], 2); - modules[ 7] = hdl4seCreateUnit2(module, "DD99B7F6-9ED1-45BB-8150-ED78EEF982CA", "8", "mux_testid"); - objectCall3(modules[7], ConnectInput, 0, nets[3], 0); - objectCall3(modules[7], ConnectInput, 1, nets[16], 0); - objectCall3(modules[7], ConnectInput, 2, nets[16], 0); - objectCall3(modules[7], ConnectInput, 3, nets[17], 0); - objectCall3(modules[7], ConnectInput, 4, nets[16], 0); - objectCall3(modules[7], ConnectInput, 5, nets[16], 0); - IHDL4SEUnit** tempvar_14 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "4, 4", "tempvar_14"); - objectCall3(modules[7], ConnectInput, 6, tempvar_14, 0); - objectCall3(modules[7], ConnectInput, 7, nets[16], 0); - objectCall3(modules[7], ConnectInput, 8, nets[16], 0); - objectCall3(nets[15], ConnectInput, 0, modules[7], 9); - modules[ 8] = hdl4seCreateUnit2(module, "76FBFD4B-FEAD-45fd-AA27-AFC58AC241C2", "8", "reg_startline"); - objectCall3(modules[8], ConnectInput, 0, unit, 0); - objectCall3(modules[8], ConnectInput, 1, nets[18], 0); - objectCall3(nets[19], ConnectInput, 0, modules[8], 2); - modules[ 9] = hdl4seCreateUnit2(module, "76FBFD4B-FEAD-45fd-AA27-AFC58AC241C2", "32", "reg_checklinecount"); - objectCall3(modules[9], ConnectInput, 0, unit, 0); - objectCall3(modules[9], ConnectInput, 1, nets[20], 0); - objectCall3(nets[21], ConnectInput, 0, modules[9], 2); - modules[ 10] = hdl4seCreateUnit2(module, "DD99B7F6-9ED1-45BB-8150-ED78EEF982CA", "32", "mux_checklinecount"); - objectCall3(modules[10], ConnectInput, 0, nets[3], 0); - objectCall3(modules[10], ConnectInput, 1, nets[21], 0); - objectCall3(modules[10], ConnectInput, 2, nets[21], 0); - objectCall3(modules[10], ConnectInput, 3, nets[21], 0); - objectCall3(modules[10], ConnectInput, 4, nets[21], 0); - IHDL4SEUnit** tempvar_15 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "8, 0", "tempvar_15"); - objectCall3(modules[10], ConnectInput, 5, tempvar_15, 0); - objectCall3(modules[10], ConnectInput, 6, nets[22], 0); - objectCall3(modules[10], ConnectInput, 7, nets[21], 0); - objectCall3(modules[10], ConnectInput, 8, nets[21], 0); - objectCall3(nets[20], ConnectInput, 0, modules[10], 9); - modules[ 11] = hdl4seCreateUnit2(module, "76FBFD4B-FEAD-45fd-AA27-AFC58AC241C2", "8", "reg_testparam"); - objectCall3(modules[11], ConnectInput, 0, unit, 0); - objectCall3(modules[11], ConnectInput, 1, nets[23], 0); - objectCall3(nets[24], ConnectInput, 0, modules[11], 2); - modules[ 12] = hdl4seCreateUnit2(module, "76FBFD4B-FEAD-45fd-AA27-AFC58AC241C2", "32", "terris_score"); - objectCall3(modules[12], ConnectInput, 0, unit, 0); - objectCall3(modules[12], ConnectInput, 1, nets[27], 0); - objectCall3(nets[28], ConnectInput, 0, modules[12], 2); - modules[ 13] = hdl4seCreateUnit2(module, "DD99B7F6-9ED1-45BB-8150-ED78EEF982CA", "32", "mux_score"); - objectCall3(modules[13], ConnectInput, 0, nets[3], 0); - IHDL4SEUnit** tempvar_16 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "32, 32'hc8", "tempvar_16"); - objectCall3(modules[13], ConnectInput, 1, tempvar_16, 0); - objectCall3(modules[13], ConnectInput, 2, nets[28], 0); - objectCall3(modules[13], ConnectInput, 3, nets[26], 0); - objectCall3(modules[13], ConnectInput, 4, nets[28], 0); - objectCall3(modules[13], ConnectInput, 5, nets[28], 0); - objectCall3(modules[13], ConnectInput, 6, nets[25], 0); - objectCall3(modules[13], ConnectInput, 7, nets[28], 0); - objectCall3(modules[13], ConnectInput, 8, nets[28], 0); - objectCall3(nets[27], ConnectInput, 0, modules[13], 9); - modules[ 14] = hdl4seCreateUnit2(module, "041F3AA1-97CD-4412-9E8E-D04ADF291AE2", "32", "mux_linescore"); - IHDL4SEUnit** tempvar_18 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 1", "tempvar_18"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[21], 2, 0, BINOP_SUB); - IHDL4SEUnit **tempvar_17 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_17"); - objectCall3(tempvar_17, ConnectInput, 0, nets[21], 0); - objectCall3(tempvar_17, ConnectInput, 1, tempvar_18, 0); - objectCall3(modules[14], ConnectInput, 0, tempvar_17, 2); - IHDL4SEUnit** tempvar_19 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "32, 32'ha", "tempvar_19"); - objectCall3(modules[14], ConnectInput, 1, tempvar_19, 0); - IHDL4SEUnit** tempvar_20 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "32, 32'h28", "tempvar_20"); - objectCall3(modules[14], ConnectInput, 2, tempvar_20, 0); - IHDL4SEUnit** tempvar_21 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "32, 32'ha0", "tempvar_21"); - objectCall3(modules[14], ConnectInput, 3, tempvar_21, 0); - IHDL4SEUnit** tempvar_22 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "32, 32'h280", "tempvar_22"); - objectCall3(modules[14], ConnectInput, 4, tempvar_22, 0); - objectCall3(nets[29], ConnectInput, 0, modules[14], 5); - modules[ 15] = hdl4seCreateUnit2(module, "76FBFD4B-FEAD-45fd-AA27-AFC58AC241C2", "32", "terris_level"); - objectCall3(modules[15], ConnectInput, 0, unit, 0); - objectCall3(modules[15], ConnectInput, 1, nets[31], 0); - objectCall3(nets[32], ConnectInput, 0, modules[15], 2); - modules[ 16] = hdl4seCreateUnit2(module, "DD99B7F6-9ED1-45BB-8150-ED78EEF982CA", "32", "mux_level"); - objectCall3(modules[16], ConnectInput, 0, nets[3], 0); - IHDL4SEUnit** tempvar_23 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "32, 32'h0", "tempvar_23"); - objectCall3(modules[16], ConnectInput, 1, tempvar_23, 0); - objectCall3(modules[16], ConnectInput, 2, nets[32], 0); - objectCall3(modules[16], ConnectInput, 3, nets[32], 0); - objectCall3(modules[16], ConnectInput, 4, nets[32], 0); - objectCall3(modules[16], ConnectInput, 5, nets[32], 0); - objectCall3(modules[16], ConnectInput, 6, nets[30], 0); - objectCall3(modules[16], ConnectInput, 7, nets[32], 0); - objectCall3(modules[16], ConnectInput, 8, nets[32], 0); - objectCall3(nets[33], ConnectInput, 0, modules[16], 9); - modules[ 17] = hdl4seCreateUnit2(module, "76FBFD4B-FEAD-45fd-AA27-AFC58AC241C2", "32", "terris_speed"); - objectCall3(modules[17], ConnectInput, 0, unit, 0); - objectCall3(modules[17], ConnectInput, 1, nets[34], 0); - objectCall3(nets[35], ConnectInput, 0, modules[17], 2); - modules[ 18] = hdl4seCreateUnit2(module, "76FBFD4B-FEAD-45fd-AA27-AFC58AC241C2", "32", "terris_tick"); - objectCall3(modules[18], ConnectInput, 0, unit, 0); - objectCall3(modules[18], ConnectInput, 1, nets[37], 0); - objectCall3(nets[38], ConnectInput, 0, modules[18], 2); - modules[ 19] = hdl4seCreateUnit2(module, "76FBFD4B-FEAD-45fd-AA27-AFC58AC241C2", "8", "terris_curposx"); - objectCall3(modules[19], ConnectInput, 0, unit, 0); - objectCall3(modules[19], ConnectInput, 1, nets[41], 0); - objectCall3(nets[42], ConnectInput, 0, modules[19], 2); - modules[ 20] = hdl4seCreateUnit2(module, "DD99B7F6-9ED1-45BB-8150-ED78EEF982CA", "8", "mux_blockx"); - objectCall3(modules[20], ConnectInput, 0, nets[3], 0); - IHDL4SEUnit** tempvar_24 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "8, 8", "tempvar_24"); - objectCall3(modules[20], ConnectInput, 1, tempvar_24, 0); - IHDL4SEUnit** tempvar_27 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "64, 64'h000000000", "tempvar_27"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[54], 64, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_26 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_26"); - objectCall3(tempvar_26, ConnectInput, 0, nets[54], 0); - objectCall3(tempvar_26, ConnectInput, 1, tempvar_27, 0); - IHDL4SEUnit** tempvar_28 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "8, 8", "tempvar_28"); - IHDL4SEUnit **tempvar_25 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_25"); - objectCall3(tempvar_25, ConnectInput, 0, tempvar_26, 2); - objectCall3(tempvar_25, ConnectInput, 1, nets[42], 0); - objectCall3(tempvar_25, ConnectInput, 2, tempvar_28, 0); - objectCall3(modules[20], ConnectInput, 2, tempvar_25, 3); - objectCall3(modules[20], ConnectInput, 3, nets[39], 0); - IHDL4SEUnit **tempvar_29 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_29"); - objectCall3(tempvar_29, ConnectInput, 0, unit, 11); - objectCall3(tempvar_29, ConnectInput, 1, nets[42], 0); - objectCall3(tempvar_29, ConnectInput, 2, nets[10], 0); - objectCall3(modules[20], ConnectInput, 4, tempvar_29, 3); - objectCall3(modules[20], ConnectInput, 5, nets[42], 0); - objectCall3(modules[20], ConnectInput, 6, nets[40], 0); - objectCall3(modules[20], ConnectInput, 7, nets[42], 0); - objectCall3(modules[20], ConnectInput, 8, nets[42], 0); - objectCall3(nets[43], ConnectInput, 0, modules[20], 9); - modules[ 21] = hdl4seCreateUnit2(module, "76FBFD4B-FEAD-45fd-AA27-AFC58AC241C2", "8", "terris_curposy"); - objectCall3(modules[21], ConnectInput, 0, unit, 0); - objectCall3(modules[21], ConnectInput, 1, nets[47], 0); - objectCall3(nets[48], ConnectInput, 0, modules[21], 2); - modules[ 22] = hdl4seCreateUnit2(module, "DD99B7F6-9ED1-45BB-8150-ED78EEF982CA", "8", "mux_blocky"); - objectCall3(modules[22], ConnectInput, 0, nets[3], 0); - IHDL4SEUnit** tempvar_30 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "8, 0", "tempvar_30"); - objectCall3(modules[22], ConnectInput, 1, tempvar_30, 0); - IHDL4SEUnit** tempvar_33 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "64, 64'h000000000", "tempvar_33"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[54], 64, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_32 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_32"); - objectCall3(tempvar_32, ConnectInput, 0, nets[54], 0); - objectCall3(tempvar_32, ConnectInput, 1, tempvar_33, 0); - IHDL4SEUnit** tempvar_34 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "8, 0", "tempvar_34"); - IHDL4SEUnit **tempvar_31 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_31"); - objectCall3(tempvar_31, ConnectInput, 0, tempvar_32, 2); - objectCall3(tempvar_31, ConnectInput, 1, nets[48], 0); - objectCall3(tempvar_31, ConnectInput, 2, tempvar_34, 0); - objectCall3(modules[22], ConnectInput, 2, tempvar_31, 3); - objectCall3(modules[22], ConnectInput, 3, nets[48], 0); - objectCall3(modules[22], ConnectInput, 4, nets[46], 0); - objectCall3(modules[22], ConnectInput, 5, nets[48], 0); - objectCall3(modules[22], ConnectInput, 6, nets[45], 0); - objectCall3(modules[22], ConnectInput, 7, nets[48], 0); - objectCall3(modules[22], ConnectInput, 8, nets[48], 0); - objectCall3(nets[49], ConnectInput, 0, modules[22], 9); - modules[ 23] = hdl4seCreateUnit2(module, "76FBFD4B-FEAD-45fd-AA27-AFC58AC241C2", "64", "terris_curblock"); - objectCall3(modules[23], ConnectInput, 0, unit, 0); - objectCall3(modules[23], ConnectInput, 1, nets[53], 0); - objectCall3(nets[54], ConnectInput, 0, modules[23], 2); - modules[ 24] = hdl4seCreateUnit2(module, "DD99B7F6-9ED1-45BB-8150-ED78EEF982CA", "64", "mux_curblock"); - objectCall3(modules[24], ConnectInput, 0, nets[3], 0); - objectCall3(modules[24], ConnectInput, 1, nets[54], 0); - objectCall3(modules[24], ConnectInput, 2, nets[50], 0); - objectCall3(modules[24], ConnectInput, 3, nets[54], 0); - objectCall3(modules[24], ConnectInput, 4, nets[51], 0); - objectCall3(modules[24], ConnectInput, 5, nets[54], 0); - objectCall3(modules[24], ConnectInput, 6, nets[52], 0); - objectCall3(modules[24], ConnectInput, 7, nets[54], 0); - objectCall3(modules[24], ConnectInput, 8, nets[54], 0); - objectCall3(nets[53], ConnectInput, 0, modules[24], 9); - modules[ 25] = hdl4seCreate_0011(module, "", "curturnleft"); - objectCall3(modules[25], ConnectInput, 0, nets[54], 0); - objectCall3(nets[55], ConnectInput, 0, modules[25], 1); - modules[ 26] = hdl4seCreate_0011(module, "", "curturnright"); - objectCall3(modules[26], ConnectInput, 0, nets[54], 0); - objectCall3(nets[56], ConnectInput, 0, modules[26], 1); - modules[ 27] = hdl4seCreateUnit2(module, "76FBFD4B-FEAD-45fd-AA27-AFC58AC241C2", "64", "terris_nextblock"); - objectCall3(modules[27], ConnectInput, 0, unit, 0); - objectCall3(modules[27], ConnectInput, 1, nets[57], 0); - objectCall3(nets[58], ConnectInput, 0, modules[27], 2); - modules[ 28] = hdl4seCreateUnit2(module, "76FBFD4B-FEAD-45fd-AA27-AFC58AC241C2", "31", "terris_key"); - objectCall3(modules[28], ConnectInput, 0, unit, 0); - objectCall3(modules[28], ConnectInput, 1, nets[59], 0); - objectCall3(nets[60], ConnectInput, 0, modules[28], 2); - - /* 持续性赋值 */ - /* assign bState = wireout_state; */ - objectCall3(unit, ConnectInput, 4, nets[3], 0); - /* assign bScore = wireout_score; */ - objectCall3(unit, ConnectInput, 5, nets[28], 0); - /* assign bSpeed = (32'h1f4-wireout_speed); */ - IHDL4SEUnit** tempvar_36 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "32, 32'h1f4", "tempvar_36"); - sprintf(__instparam, "%d, %d, %d, %d", 32, __netswidth[35], 0, BINOP_SUB); - IHDL4SEUnit **tempvar_35 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_35"); - objectCall3(tempvar_35, ConnectInput, 0, tempvar_36, 0); - objectCall3(tempvar_35, ConnectInput, 1, nets[35], 0); - objectCall3(unit, ConnectInput, 6, tempvar_35, 2); - /* assign bLevel = wireout_level; */ - objectCall3(unit, ConnectInput, 7, nets[32], 0); - /* assign bNextBlock = wireout_nextblock; */ - objectCall3(unit, ConnectInput, 8, nets[58], 0); - /* assign bCurBlock = ((cur_key [3] )?(curblockturnleft):(wireout_curblock)); */ - IHDL4SEUnit** tempvar_38 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 1, 3", "tempvar_38"); - objectCall3(tempvar_38, ConnectInput, 0, nets[61], 0); - IHDL4SEUnit **tempvar_37 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_37"); - objectCall3(tempvar_37, ConnectInput, 0, tempvar_38, 1); - objectCall3(tempvar_37, ConnectInput, 1, nets[54], 0); - objectCall3(tempvar_37, ConnectInput, 2, nets[55], 0); - objectCall3(unit, ConnectInput, 9, tempvar_37, 3); - /* assign bCurBlockPos = {outputy,outputx}; */ - IHDL4SEUnit** tempvar_39 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINDN, "1, 2", "tempvar_39"); - objectCall3(tempvar_39, ConnectInput, 0, nets[1], 0); - objectCall3(tempvar_39, ConnectInput, 1, nets[0], 0); - objectCall3(unit, ConnectInput, 10, tempvar_39, 2); - /* assign wirein_state = ((nwReset)?(nextstate):(0)); */ - IHDL4SEUnit** tempvar_41 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 0", "tempvar_41"); - IHDL4SEUnit **tempvar_40 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_40"); - objectCall3(tempvar_40, ConnectInput, 0, unit, 1); - objectCall3(tempvar_40, ConnectInput, 1, tempvar_41, 0); - objectCall3(tempvar_40, ConnectInput, 2, nets[8], 0); - objectCall3(nets[2], ConnectInput, 0, tempvar_40, 3); - /* assign stateAfterFlushToDisp = (((wireout_curblock==64'h000000000))?(7):(((wStateComplete)?(2):(1)))); */ - IHDL4SEUnit** tempvar_44 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "64, 64'h000000000", "tempvar_44"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[54], 64, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_43 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_43"); - objectCall3(tempvar_43, ConnectInput, 0, nets[54], 0); - objectCall3(tempvar_43, ConnectInput, 1, tempvar_44, 0); - IHDL4SEUnit** tempvar_45 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "4, 7", "tempvar_45"); - IHDL4SEUnit** tempvar_47 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "3, 2", "tempvar_47"); - IHDL4SEUnit** tempvar_48 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 1", "tempvar_48"); - IHDL4SEUnit **tempvar_46 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "3", "tempvar_46"); - objectCall3(tempvar_46, ConnectInput, 0, unit, 3); - objectCall3(tempvar_46, ConnectInput, 1, tempvar_48, 0); - objectCall3(tempvar_46, ConnectInput, 2, tempvar_47, 0); - IHDL4SEUnit **tempvar_42 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "4", "tempvar_42"); - objectCall3(tempvar_42, ConnectInput, 0, tempvar_43, 2); - objectCall3(tempvar_42, ConnectInput, 1, tempvar_46, 3); - objectCall3(tempvar_42, ConnectInput, 2, tempvar_45, 0); - objectCall3(nets[4], ConnectInput, 0, tempvar_42, 3); - /* assign stateAfterCheckBlockCanSetTo = ((wStateComplete)?((((wireout_testid==0))?(((bResult)?(1):(4))):((((wireout_testid==4))?(((bResult)?(7):(0))):(1))))):(3)); */ - IHDL4SEUnit** tempvar_52 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 0", "tempvar_52"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[16], 2, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_51 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_51"); - objectCall3(tempvar_51, ConnectInput, 0, nets[16], 0); - objectCall3(tempvar_51, ConnectInput, 1, tempvar_52, 0); - IHDL4SEUnit** tempvar_54 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 1", "tempvar_54"); - IHDL4SEUnit** tempvar_55 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "4, 4", "tempvar_55"); - IHDL4SEUnit **tempvar_53 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "4", "tempvar_53"); - objectCall3(tempvar_53, ConnectInput, 0, unit, 11); - objectCall3(tempvar_53, ConnectInput, 1, tempvar_55, 0); - objectCall3(tempvar_53, ConnectInput, 2, tempvar_54, 0); - IHDL4SEUnit** tempvar_58 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "4, 4", "tempvar_58"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[16], 4, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_57 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_57"); - objectCall3(tempvar_57, ConnectInput, 0, nets[16], 0); - objectCall3(tempvar_57, ConnectInput, 1, tempvar_58, 0); - IHDL4SEUnit** tempvar_60 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "4, 7", "tempvar_60"); - IHDL4SEUnit** tempvar_61 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 0", "tempvar_61"); - IHDL4SEUnit **tempvar_59 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "4", "tempvar_59"); - objectCall3(tempvar_59, ConnectInput, 0, unit, 11); - objectCall3(tempvar_59, ConnectInput, 1, tempvar_61, 0); - objectCall3(tempvar_59, ConnectInput, 2, tempvar_60, 0); - IHDL4SEUnit** tempvar_62 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 1", "tempvar_62"); - IHDL4SEUnit **tempvar_56 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "4", "tempvar_56"); - objectCall3(tempvar_56, ConnectInput, 0, tempvar_57, 2); - objectCall3(tempvar_56, ConnectInput, 1, tempvar_62, 0); - objectCall3(tempvar_56, ConnectInput, 2, tempvar_59, 3); - IHDL4SEUnit **tempvar_50 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "4", "tempvar_50"); - objectCall3(tempvar_50, ConnectInput, 0, tempvar_51, 2); - objectCall3(tempvar_50, ConnectInput, 1, tempvar_56, 3); - objectCall3(tempvar_50, ConnectInput, 2, tempvar_53, 3); - IHDL4SEUnit** tempvar_63 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "3, 3", "tempvar_63"); - IHDL4SEUnit **tempvar_49 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "4", "tempvar_49"); - objectCall3(tempvar_49, ConnectInput, 0, unit, 3); - objectCall3(tempvar_49, ConnectInput, 1, tempvar_63, 0); - objectCall3(tempvar_49, ConnectInput, 2, tempvar_50, 3); - objectCall3(nets[5], ConnectInput, 0, tempvar_49, 3); - /* assign stateAfterCheckLine = ((wStateComplete)?((((bResult<24))?(6):(3))):(5)); */ - IHDL4SEUnit** tempvar_67 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "6, 24", "tempvar_67"); - sprintf(__instparam, "%d, %d, %d, %d", __portswidth[11], 6, 1, BINOP_LT); - IHDL4SEUnit **tempvar_66 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_66"); - objectCall3(tempvar_66, ConnectInput, 0, unit, 11); - objectCall3(tempvar_66, ConnectInput, 1, tempvar_67, 0); - IHDL4SEUnit** tempvar_68 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "4, 6", "tempvar_68"); - IHDL4SEUnit** tempvar_69 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "3, 3", "tempvar_69"); - IHDL4SEUnit **tempvar_65 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "4", "tempvar_65"); - objectCall3(tempvar_65, ConnectInput, 0, tempvar_66, 2); - objectCall3(tempvar_65, ConnectInput, 1, tempvar_69, 0); - objectCall3(tempvar_65, ConnectInput, 2, tempvar_68, 0); - IHDL4SEUnit** tempvar_70 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "4, 5", "tempvar_70"); - IHDL4SEUnit **tempvar_64 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "4", "tempvar_64"); - objectCall3(tempvar_64, ConnectInput, 0, unit, 3); - objectCall3(tempvar_64, ConnectInput, 1, tempvar_70, 0); - objectCall3(tempvar_64, ConnectInput, 2, tempvar_65, 3); - objectCall3(nets[6], ConnectInput, 0, tempvar_64, 3); - /* assign stateAfterCheckKey = (((((cur_key [0] ||cur_key [1] )||cur_key [3] )&&(wireout_score==0)))?(0):(((((cur_key==0)&&(wireout_tick<=wireout_speed)))?(2):(3)))); */ - IHDL4SEUnit** tempvar_75 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 1, 0", "tempvar_75"); - objectCall3(tempvar_75, ConnectInput, 0, nets[61], 0); - IHDL4SEUnit** tempvar_76 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 1, 1", "tempvar_76"); - objectCall3(tempvar_76, ConnectInput, 0, nets[61], 0); - IHDL4SEUnit **tempvar_74 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, "1, 1, 1, 17", "tempvar_74"); - objectCall3(tempvar_74, ConnectInput, 0, tempvar_75, 1); - objectCall3(tempvar_74, ConnectInput, 1, tempvar_76, 1); - IHDL4SEUnit** tempvar_77 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 1, 3", "tempvar_77"); - objectCall3(tempvar_77, ConnectInput, 0, nets[61], 0); - IHDL4SEUnit **tempvar_73 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, "1, 1, 1, 17", "tempvar_73"); - objectCall3(tempvar_73, ConnectInput, 0, tempvar_74, 2); - objectCall3(tempvar_73, ConnectInput, 1, tempvar_77, 1); - IHDL4SEUnit** tempvar_79 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 0", "tempvar_79"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[28], 2, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_78 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_78"); - objectCall3(tempvar_78, ConnectInput, 0, nets[28], 0); - objectCall3(tempvar_78, ConnectInput, 1, tempvar_79, 0); - IHDL4SEUnit **tempvar_72 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, "1, 1, 1, 16", "tempvar_72"); - objectCall3(tempvar_72, ConnectInput, 0, tempvar_73, 2); - objectCall3(tempvar_72, ConnectInput, 1, tempvar_78, 2); - IHDL4SEUnit** tempvar_80 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 0", "tempvar_80"); - IHDL4SEUnit** tempvar_84 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 0", "tempvar_84"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[61], 2, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_83 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_83"); - objectCall3(tempvar_83, ConnectInput, 0, nets[61], 0); - objectCall3(tempvar_83, ConnectInput, 1, tempvar_84, 0); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[38], __netswidth[35], 1, BINOP_LE); - IHDL4SEUnit **tempvar_85 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_85"); - objectCall3(tempvar_85, ConnectInput, 0, nets[38], 0); - objectCall3(tempvar_85, ConnectInput, 1, nets[35], 0); - IHDL4SEUnit **tempvar_82 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, "1, 1, 1, 16", "tempvar_82"); - objectCall3(tempvar_82, ConnectInput, 0, tempvar_83, 2); - objectCall3(tempvar_82, ConnectInput, 1, tempvar_85, 2); - IHDL4SEUnit** tempvar_86 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "3, 2", "tempvar_86"); - IHDL4SEUnit** tempvar_87 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "3, 3", "tempvar_87"); - IHDL4SEUnit **tempvar_81 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "3", "tempvar_81"); - objectCall3(tempvar_81, ConnectInput, 0, tempvar_82, 2); - objectCall3(tempvar_81, ConnectInput, 1, tempvar_87, 0); - objectCall3(tempvar_81, ConnectInput, 2, tempvar_86, 0); - IHDL4SEUnit **tempvar_71 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "3", "tempvar_71"); - objectCall3(tempvar_71, ConnectInput, 0, tempvar_72, 2); - objectCall3(tempvar_71, ConnectInput, 1, tempvar_81, 3); - objectCall3(tempvar_71, ConnectInput, 2, tempvar_80, 0); - objectCall3(nets[7], ConnectInput, 0, tempvar_71, 3); - /* assign wirein_startline = (((wStateComplete&&(bState==5)))?(bResult):(wireout_startline)); */ - IHDL4SEUnit** tempvar_91 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "4, 5", "tempvar_91"); - sprintf(__instparam, "%d, %d, %d, %d", __portswidth[4], 4, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_90 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_90"); - objectCall3(tempvar_90, ConnectInput, 0, unit, 4); - objectCall3(tempvar_90, ConnectInput, 1, tempvar_91, 0); - sprintf(__instparam, "%d, %d, %d, %d", __portswidth[3], 1, 1, BINOP_ANDL); - IHDL4SEUnit **tempvar_89 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_89"); - objectCall3(tempvar_89, ConnectInput, 0, unit, 3); - objectCall3(tempvar_89, ConnectInput, 1, tempvar_90, 2); - IHDL4SEUnit **tempvar_88 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_88"); - objectCall3(tempvar_88, ConnectInput, 0, tempvar_89, 2); - objectCall3(tempvar_88, ConnectInput, 1, nets[19], 0); - objectCall3(tempvar_88, ConnectInput, 2, unit, 11); - objectCall3(nets[18], ConnectInput, 0, tempvar_88, 3); - /* assign wirein_testparam = (((bState==2))?(cur_key):(wireout_testparam)); */ - IHDL4SEUnit** tempvar_94 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "3, 2", "tempvar_94"); - sprintf(__instparam, "%d, %d, %d, %d", __portswidth[4], 3, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_93 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_93"); - objectCall3(tempvar_93, ConnectInput, 0, unit, 4); - objectCall3(tempvar_93, ConnectInput, 1, tempvar_94, 0); - IHDL4SEUnit **tempvar_92 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_92"); - objectCall3(tempvar_92, ConnectInput, 0, tempvar_93, 2); - objectCall3(tempvar_92, ConnectInput, 1, nets[24], 0); - objectCall3(tempvar_92, ConnectInput, 2, nets[61], 0); - objectCall3(nets[23], ConnectInput, 0, tempvar_92, 3); - /* assign scoreAfterCheckKey = ((((cur_key [3] ||cur_key [1] )||cur_key [0] ))?((wireout_score-1)):(((cur_key [2] )?((wireout_score+2)):(wireout_score)))); */ - IHDL4SEUnit** tempvar_98 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 1, 3", "tempvar_98"); - objectCall3(tempvar_98, ConnectInput, 0, nets[61], 0); - IHDL4SEUnit** tempvar_99 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 1, 1", "tempvar_99"); - objectCall3(tempvar_99, ConnectInput, 0, nets[61], 0); - IHDL4SEUnit **tempvar_97 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, "1, 1, 1, 17", "tempvar_97"); - objectCall3(tempvar_97, ConnectInput, 0, tempvar_98, 1); - objectCall3(tempvar_97, ConnectInput, 1, tempvar_99, 1); - IHDL4SEUnit** tempvar_100 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 1, 0", "tempvar_100"); - objectCall3(tempvar_100, ConnectInput, 0, nets[61], 0); - IHDL4SEUnit **tempvar_96 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, "1, 1, 1, 17", "tempvar_96"); - objectCall3(tempvar_96, ConnectInput, 0, tempvar_97, 2); - objectCall3(tempvar_96, ConnectInput, 1, tempvar_100, 1); - IHDL4SEUnit** tempvar_102 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 1", "tempvar_102"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[28], 2, 0, BINOP_SUB); - IHDL4SEUnit **tempvar_101 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_101"); - objectCall3(tempvar_101, ConnectInput, 0, nets[28], 0); - objectCall3(tempvar_101, ConnectInput, 1, tempvar_102, 0); - IHDL4SEUnit** tempvar_104 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 1, 2", "tempvar_104"); - objectCall3(tempvar_104, ConnectInput, 0, nets[61], 0); - IHDL4SEUnit** tempvar_106 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "3, 2", "tempvar_106"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[28], 3, 0, BINOP_ADD); - IHDL4SEUnit **tempvar_105 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_105"); - objectCall3(tempvar_105, ConnectInput, 0, nets[28], 0); - objectCall3(tempvar_105, ConnectInput, 1, tempvar_106, 0); - IHDL4SEUnit **tempvar_103 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_103"); - objectCall3(tempvar_103, ConnectInput, 0, tempvar_104, 1); - objectCall3(tempvar_103, ConnectInput, 1, nets[28], 0); - objectCall3(tempvar_103, ConnectInput, 2, tempvar_105, 2); - IHDL4SEUnit **tempvar_95 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_95"); - objectCall3(tempvar_95, ConnectInput, 0, tempvar_96, 2); - objectCall3(tempvar_95, ConnectInput, 1, tempvar_103, 3); - objectCall3(tempvar_95, ConnectInput, 2, tempvar_101, 2); - objectCall3(nets[26], ConnectInput, 0, tempvar_95, 3); - /* assign scoreAfterCheckLine = (((wStateComplete&&(bResult>=24)))?((wireout_score+(((wireout_checklinecount>0))?(linescore):(0)))):(wireout_score)); */ - IHDL4SEUnit** tempvar_110 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "6, 24", "tempvar_110"); - sprintf(__instparam, "%d, %d, %d, %d", __portswidth[11], 6, 1, BINOP_GE); - IHDL4SEUnit **tempvar_109 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_109"); - objectCall3(tempvar_109, ConnectInput, 0, unit, 11); - objectCall3(tempvar_109, ConnectInput, 1, tempvar_110, 0); - sprintf(__instparam, "%d, %d, %d, %d", __portswidth[3], 1, 1, BINOP_ANDL); - IHDL4SEUnit **tempvar_108 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_108"); - objectCall3(tempvar_108, ConnectInput, 0, unit, 3); - objectCall3(tempvar_108, ConnectInput, 1, tempvar_109, 2); - IHDL4SEUnit** tempvar_114 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 0", "tempvar_114"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[21], 2, 1, BINOP_GT); - IHDL4SEUnit **tempvar_113 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_113"); - objectCall3(tempvar_113, ConnectInput, 0, nets[21], 0); - objectCall3(tempvar_113, ConnectInput, 1, tempvar_114, 0); - IHDL4SEUnit** tempvar_115 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 0", "tempvar_115"); - IHDL4SEUnit **tempvar_112 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_112"); - objectCall3(tempvar_112, ConnectInput, 0, tempvar_113, 2); - objectCall3(tempvar_112, ConnectInput, 1, tempvar_115, 0); - objectCall3(tempvar_112, ConnectInput, 2, nets[29], 0); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[28], 0, 0, BINOP_ADD); - IHDL4SEUnit **tempvar_111 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_111"); - objectCall3(tempvar_111, ConnectInput, 0, nets[28], 0); - objectCall3(tempvar_111, ConnectInput, 1, tempvar_112, 3); - IHDL4SEUnit **tempvar_107 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_107"); - objectCall3(tempvar_107, ConnectInput, 0, tempvar_108, 2); - objectCall3(tempvar_107, ConnectInput, 1, nets[28], 0); - objectCall3(tempvar_107, ConnectInput, 2, tempvar_111, 2); - objectCall3(nets[25], ConnectInput, 0, tempvar_107, 3); - /* assign wirein_level = ((wStateComplete)?(nextlevel):(wireout_level)); */ - IHDL4SEUnit **tempvar_116 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_116"); - objectCall3(tempvar_116, ConnectInput, 0, unit, 3); - objectCall3(tempvar_116, ConnectInput, 1, nets[32], 0); - objectCall3(tempvar_116, ConnectInput, 2, nets[33], 0); - objectCall3(nets[31], ConnectInput, 0, tempvar_116, 3); - /* assign levelAfterCheckLine = (((wStateComplete&&(bResult>=24)))?((wireout_level+wireout_checklinecount)):(wireout_level)); */ - IHDL4SEUnit** tempvar_120 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "6, 24", "tempvar_120"); - sprintf(__instparam, "%d, %d, %d, %d", __portswidth[11], 6, 1, BINOP_GE); - IHDL4SEUnit **tempvar_119 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_119"); - objectCall3(tempvar_119, ConnectInput, 0, unit, 11); - objectCall3(tempvar_119, ConnectInput, 1, tempvar_120, 0); - sprintf(__instparam, "%d, %d, %d, %d", __portswidth[3], 1, 1, BINOP_ANDL); - IHDL4SEUnit **tempvar_118 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_118"); - objectCall3(tempvar_118, ConnectInput, 0, unit, 3); - objectCall3(tempvar_118, ConnectInput, 1, tempvar_119, 2); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[32], __netswidth[21], 0, BINOP_ADD); - IHDL4SEUnit **tempvar_121 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_121"); - objectCall3(tempvar_121, ConnectInput, 0, nets[32], 0); - objectCall3(tempvar_121, ConnectInput, 1, nets[21], 0); - IHDL4SEUnit **tempvar_117 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_117"); - objectCall3(tempvar_117, ConnectInput, 0, tempvar_118, 2); - objectCall3(tempvar_117, ConnectInput, 1, nets[32], 0); - objectCall3(tempvar_117, ConnectInput, 2, tempvar_121, 2); - objectCall3(nets[30], ConnectInput, 0, tempvar_117, 3); - /* assign wirein_speed = (((32'h1f4>scorediv4))?((32'h1f4-scorediv4)):(1)); */ - IHDL4SEUnit** tempvar_124 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "32, 32'h1f4", "tempvar_124"); - sprintf(__instparam, "%d, %d, %d, %d", 32, __netswidth[36], 1, BINOP_GT); - IHDL4SEUnit **tempvar_123 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_123"); - objectCall3(tempvar_123, ConnectInput, 0, tempvar_124, 0); - objectCall3(tempvar_123, ConnectInput, 1, nets[36], 0); - IHDL4SEUnit** tempvar_126 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "32, 32'h1f4", "tempvar_126"); - sprintf(__instparam, "%d, %d, %d, %d", 32, __netswidth[36], 0, BINOP_SUB); - IHDL4SEUnit **tempvar_125 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_125"); - objectCall3(tempvar_125, ConnectInput, 0, tempvar_126, 0); - objectCall3(tempvar_125, ConnectInput, 1, nets[36], 0); - IHDL4SEUnit** tempvar_127 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 1", "tempvar_127"); - IHDL4SEUnit **tempvar_122 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_122"); - objectCall3(tempvar_122, ConnectInput, 0, tempvar_123, 2); - objectCall3(tempvar_122, ConnectInput, 1, tempvar_127, 0); - objectCall3(tempvar_122, ConnectInput, 2, tempvar_125, 2); - objectCall3(nets[34], ConnectInput, 0, tempvar_122, 3); - /* assign wirein_tick = (((((nwReset==0)||(cur_key!=0))||(wireout_state!=2)))?(0):((wireout_tick+1))); */ - IHDL4SEUnit** tempvar_132 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 0", "tempvar_132"); - sprintf(__instparam, "%d, %d, %d, %d", __portswidth[1], 2, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_131 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_131"); - objectCall3(tempvar_131, ConnectInput, 0, unit, 1); - objectCall3(tempvar_131, ConnectInput, 1, tempvar_132, 0); - IHDL4SEUnit** tempvar_134 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 0", "tempvar_134"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[61], 2, 1, BINOP_NE); - IHDL4SEUnit **tempvar_133 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_133"); - objectCall3(tempvar_133, ConnectInput, 0, nets[61], 0); - objectCall3(tempvar_133, ConnectInput, 1, tempvar_134, 0); - IHDL4SEUnit **tempvar_130 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, "1, 1, 1, 17", "tempvar_130"); - objectCall3(tempvar_130, ConnectInput, 0, tempvar_131, 2); - objectCall3(tempvar_130, ConnectInput, 1, tempvar_133, 2); - IHDL4SEUnit** tempvar_136 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "3, 2", "tempvar_136"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[3], 3, 1, BINOP_NE); - IHDL4SEUnit **tempvar_135 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_135"); - objectCall3(tempvar_135, ConnectInput, 0, nets[3], 0); - objectCall3(tempvar_135, ConnectInput, 1, tempvar_136, 0); - IHDL4SEUnit **tempvar_129 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, "1, 1, 1, 17", "tempvar_129"); - objectCall3(tempvar_129, ConnectInput, 0, tempvar_130, 2); - objectCall3(tempvar_129, ConnectInput, 1, tempvar_135, 2); - IHDL4SEUnit** tempvar_137 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 0", "tempvar_137"); - IHDL4SEUnit** tempvar_139 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 1", "tempvar_139"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[38], 2, 0, BINOP_ADD); - IHDL4SEUnit **tempvar_138 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_138"); - objectCall3(tempvar_138, ConnectInput, 0, nets[38], 0); - objectCall3(tempvar_138, ConnectInput, 1, tempvar_139, 0); - IHDL4SEUnit **tempvar_128 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_128"); - objectCall3(tempvar_128, ConnectInput, 0, tempvar_129, 2); - objectCall3(tempvar_128, ConnectInput, 1, tempvar_138, 2); - objectCall3(tempvar_128, ConnectInput, 2, tempvar_137, 0); - objectCall3(nets[37], ConnectInput, 0, tempvar_128, 3); - /* assign wirein_curposx = ((wStateComplete)?(nextblockx):(wireout_curposx)); */ - IHDL4SEUnit **tempvar_140 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_140"); - objectCall3(tempvar_140, ConnectInput, 0, unit, 3); - objectCall3(tempvar_140, ConnectInput, 1, nets[42], 0); - objectCall3(tempvar_140, ConnectInput, 2, nets[43], 0); - objectCall3(nets[41], ConnectInput, 0, tempvar_140, 3); - /* assign curposxAfterCheckLine = 8; */ - IHDL4SEUnit** tempvar_141 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "8, 8", "tempvar_141"); - objectCall3(nets[40], ConnectInput, 0, tempvar_141, 0); - /* assign wirein_curposy = ((wStateComplete)?(nextblocky):(wireout_curposy)); */ - IHDL4SEUnit **tempvar_142 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_142"); - objectCall3(tempvar_142, ConnectInput, 0, unit, 3); - objectCall3(tempvar_142, ConnectInput, 1, nets[48], 0); - objectCall3(tempvar_142, ConnectInput, 2, nets[49], 0); - objectCall3(nets[47], ConnectInput, 0, tempvar_142, 3); - /* assign curposyAfterCheckKey = wireout_curposy; */ - objectCall3(nets[44], ConnectInput, 0, nets[48], 0); - /* assign curposyAfterCheckLine = 0; */ - IHDL4SEUnit** tempvar_143 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "8, 0", "tempvar_143"); - objectCall3(nets[45], ConnectInput, 0, tempvar_143, 0); - /* assign cursoryAfterCheckBlock = (((bResult&&(wireout_testid==0)))?((wireout_curposy+1)):(wireout_curposy)); */ - IHDL4SEUnit** tempvar_147 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 0", "tempvar_147"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[16], 2, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_146 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_146"); - objectCall3(tempvar_146, ConnectInput, 0, nets[16], 0); - objectCall3(tempvar_146, ConnectInput, 1, tempvar_147, 0); - sprintf(__instparam, "%d, %d, %d, %d", __portswidth[11], 1, 1, BINOP_ANDL); - IHDL4SEUnit **tempvar_145 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_145"); - objectCall3(tempvar_145, ConnectInput, 0, unit, 11); - objectCall3(tempvar_145, ConnectInput, 1, tempvar_146, 2); - IHDL4SEUnit** tempvar_149 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 1", "tempvar_149"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[48], 2, 0, BINOP_ADD); - IHDL4SEUnit **tempvar_148 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_148"); - objectCall3(tempvar_148, ConnectInput, 0, nets[48], 0); - objectCall3(tempvar_148, ConnectInput, 1, tempvar_149, 0); - IHDL4SEUnit **tempvar_144 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_144"); - objectCall3(tempvar_144, ConnectInput, 0, tempvar_145, 2); - objectCall3(tempvar_144, ConnectInput, 1, nets[48], 0); - objectCall3(tempvar_144, ConnectInput, 2, tempvar_148, 2); - objectCall3(nets[46], ConnectInput, 0, tempvar_144, 3); - /* assign curblockWhenFlushToDisp = (((wireout_curblock==64'h000000000))?(wireout_nextblock):(wireout_curblock)); */ - IHDL4SEUnit** tempvar_152 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "64, 64'h000000000", "tempvar_152"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[54], 64, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_151 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_151"); - objectCall3(tempvar_151, ConnectInput, 0, nets[54], 0); - objectCall3(tempvar_151, ConnectInput, 1, tempvar_152, 0); - IHDL4SEUnit **tempvar_150 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_150"); - objectCall3(tempvar_150, ConnectInput, 0, tempvar_151, 2); - objectCall3(tempvar_150, ConnectInput, 1, nets[54], 0); - objectCall3(tempvar_150, ConnectInput, 2, nets[58], 0); - objectCall3(nets[50], ConnectInput, 0, tempvar_150, 3); - /* assign curblockAfterCheckBlock = ((((wStateComplete&&bResult)&&(wireout_testid==3)))?(curblockturnleft):(wireout_curblock)); */ - sprintf(__instparam, "%d, %d, %d, %d", __portswidth[3], __portswidth[11], 1, BINOP_ANDL); - IHDL4SEUnit **tempvar_155 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_155"); - objectCall3(tempvar_155, ConnectInput, 0, unit, 3); - objectCall3(tempvar_155, ConnectInput, 1, unit, 11); - IHDL4SEUnit** tempvar_157 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "3, 3", "tempvar_157"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[16], 3, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_156 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_156"); - objectCall3(tempvar_156, ConnectInput, 0, nets[16], 0); - objectCall3(tempvar_156, ConnectInput, 1, tempvar_157, 0); - IHDL4SEUnit **tempvar_154 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, "1, 1, 1, 16", "tempvar_154"); - objectCall3(tempvar_154, ConnectInput, 0, tempvar_155, 2); - objectCall3(tempvar_154, ConnectInput, 1, tempvar_156, 2); - IHDL4SEUnit **tempvar_153 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_153"); - objectCall3(tempvar_153, ConnectInput, 0, tempvar_154, 2); - objectCall3(tempvar_153, ConnectInput, 1, nets[54], 0); - objectCall3(tempvar_153, ConnectInput, 2, nets[55], 0); - objectCall3(nets[51], ConnectInput, 0, tempvar_153, 3); - /* assign curblockAfterCheckLine = (((wStateComplete&&(bResult>=24)))?(wireout_nextblock):(wireout_curblock)); */ - IHDL4SEUnit** tempvar_161 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "6, 24", "tempvar_161"); - sprintf(__instparam, "%d, %d, %d, %d", __portswidth[11], 6, 1, BINOP_GE); - IHDL4SEUnit **tempvar_160 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_160"); - objectCall3(tempvar_160, ConnectInput, 0, unit, 11); - objectCall3(tempvar_160, ConnectInput, 1, tempvar_161, 0); - sprintf(__instparam, "%d, %d, %d, %d", __portswidth[3], 1, 1, BINOP_ANDL); - IHDL4SEUnit **tempvar_159 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_159"); - objectCall3(tempvar_159, ConnectInput, 0, unit, 3); - objectCall3(tempvar_159, ConnectInput, 1, tempvar_160, 2); - IHDL4SEUnit **tempvar_158 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_158"); - objectCall3(tempvar_158, ConnectInput, 0, tempvar_159, 2); - objectCall3(tempvar_158, ConnectInput, 1, nets[54], 0); - objectCall3(tempvar_158, ConnectInput, 2, nets[58], 0); - objectCall3(nets[52], ConnectInput, 0, tempvar_158, 3); - /* assign wirein_nextblock = (((wStateComplete&&(wireout_state==7)))?(bNewNextBlock):(wireout_nextblock)); */ - IHDL4SEUnit** tempvar_165 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "4, 7", "tempvar_165"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[3], 4, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_164 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_164"); - objectCall3(tempvar_164, ConnectInput, 0, nets[3], 0); - objectCall3(tempvar_164, ConnectInput, 1, tempvar_165, 0); - sprintf(__instparam, "%d, %d, %d, %d", __portswidth[3], 1, 1, BINOP_ANDL); - IHDL4SEUnit **tempvar_163 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_163"); - objectCall3(tempvar_163, ConnectInput, 0, unit, 3); - objectCall3(tempvar_163, ConnectInput, 1, tempvar_164, 2); - IHDL4SEUnit **tempvar_162 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_162"); - objectCall3(tempvar_162, ConnectInput, 0, tempvar_163, 2); - objectCall3(tempvar_162, ConnectInput, 1, nets[58], 0); - objectCall3(tempvar_162, ConnectInput, 2, unit, 12); - objectCall3(nets[57], ConnectInput, 0, tempvar_162, 3); - /* assign wirein_key = (((wireout_state==2))?(bKeyData):((bKeyData|wireout_key))); */ - IHDL4SEUnit** tempvar_168 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "3, 2", "tempvar_168"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[3], 3, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_167 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_167"); - objectCall3(tempvar_167, ConnectInput, 0, nets[3], 0); - objectCall3(tempvar_167, ConnectInput, 1, tempvar_168, 0); - sprintf(__instparam, "%d, %d, %d, %d", __portswidth[2], __netswidth[60], 0, BINOP_OR); - IHDL4SEUnit **tempvar_169 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_169"); - objectCall3(tempvar_169, ConnectInput, 0, unit, 2); - objectCall3(tempvar_169, ConnectInput, 1, nets[60], 0); - IHDL4SEUnit **tempvar_166 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_166"); - objectCall3(tempvar_166, ConnectInput, 0, tempvar_167, 2); - objectCall3(tempvar_166, ConnectInput, 1, tempvar_169, 2); - objectCall3(tempvar_166, ConnectInput, 2, unit, 2); - objectCall3(nets[59], ConnectInput, 0, tempvar_166, 3); - /* assign outputx = (((wireout_state==3))?((wireout_testx+1)):((((wireout_state==6))?(wireout_startline):((wireout_curposx+1))))); */ - IHDL4SEUnit** tempvar_172 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "3, 3", "tempvar_172"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[3], 3, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_171 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_171"); - objectCall3(tempvar_171, ConnectInput, 0, nets[3], 0); - objectCall3(tempvar_171, ConnectInput, 1, tempvar_172, 0); - IHDL4SEUnit** tempvar_174 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 1", "tempvar_174"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[10], 2, 0, BINOP_ADD); - IHDL4SEUnit **tempvar_173 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_173"); - objectCall3(tempvar_173, ConnectInput, 0, nets[10], 0); - objectCall3(tempvar_173, ConnectInput, 1, tempvar_174, 0); - IHDL4SEUnit** tempvar_177 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "4, 6", "tempvar_177"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[3], 4, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_176 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_176"); - objectCall3(tempvar_176, ConnectInput, 0, nets[3], 0); - objectCall3(tempvar_176, ConnectInput, 1, tempvar_177, 0); - IHDL4SEUnit** tempvar_179 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 1", "tempvar_179"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[42], 2, 0, BINOP_ADD); - IHDL4SEUnit **tempvar_178 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_178"); - objectCall3(tempvar_178, ConnectInput, 0, nets[42], 0); - objectCall3(tempvar_178, ConnectInput, 1, tempvar_179, 0); - IHDL4SEUnit **tempvar_175 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_175"); - objectCall3(tempvar_175, ConnectInput, 0, tempvar_176, 2); - objectCall3(tempvar_175, ConnectInput, 1, tempvar_178, 2); - objectCall3(tempvar_175, ConnectInput, 2, nets[19], 0); - IHDL4SEUnit **tempvar_170 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_170"); - objectCall3(tempvar_170, ConnectInput, 0, tempvar_171, 2); - objectCall3(tempvar_170, ConnectInput, 1, tempvar_175, 3); - objectCall3(tempvar_170, ConnectInput, 2, tempvar_173, 2); - objectCall3(nets[0], ConnectInput, 0, tempvar_170, 3); - /* assign outputy = (((wireout_state==3))?((25-wireout_testy)):((((wireout_state==6))?(0):((25-wireout_curposy))))); */ - IHDL4SEUnit** tempvar_182 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "3, 3", "tempvar_182"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[3], 3, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_181 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_181"); - objectCall3(tempvar_181, ConnectInput, 0, nets[3], 0); - objectCall3(tempvar_181, ConnectInput, 1, tempvar_182, 0); - IHDL4SEUnit** tempvar_184 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "6, 25", "tempvar_184"); - sprintf(__instparam, "%d, %d, %d, %d", 6, __netswidth[13], 0, BINOP_SUB); - IHDL4SEUnit **tempvar_183 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_183"); - objectCall3(tempvar_183, ConnectInput, 0, tempvar_184, 0); - objectCall3(tempvar_183, ConnectInput, 1, nets[13], 0); - IHDL4SEUnit** tempvar_187 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "4, 6", "tempvar_187"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[3], 4, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_186 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_186"); - objectCall3(tempvar_186, ConnectInput, 0, nets[3], 0); - objectCall3(tempvar_186, ConnectInput, 1, tempvar_187, 0); - IHDL4SEUnit** tempvar_188 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "8, 0", "tempvar_188"); - IHDL4SEUnit** tempvar_190 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "6, 25", "tempvar_190"); - sprintf(__instparam, "%d, %d, %d, %d", 6, __netswidth[48], 0, BINOP_SUB); - IHDL4SEUnit **tempvar_189 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_189"); - objectCall3(tempvar_189, ConnectInput, 0, tempvar_190, 0); - objectCall3(tempvar_189, ConnectInput, 1, nets[48], 0); - IHDL4SEUnit **tempvar_185 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_185"); - objectCall3(tempvar_185, ConnectInput, 0, tempvar_186, 2); - objectCall3(tempvar_185, ConnectInput, 1, tempvar_189, 2); - objectCall3(tempvar_185, ConnectInput, 2, tempvar_188, 0); - IHDL4SEUnit **tempvar_180 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_180"); - objectCall3(tempvar_180, ConnectInput, 0, tempvar_181, 2); - objectCall3(tempvar_180, ConnectInput, 1, tempvar_185, 3); - objectCall3(tempvar_180, ConnectInput, 2, tempvar_183, 2); - objectCall3(nets[1], ConnectInput, 0, tempvar_180, 3); - /* assign testxwencheckkey = ((cur_key [0] )?((wireout_curposx+1)):(((cur_key [1] )?((wireout_curposx-1)):(wireout_curposx)))); */ - IHDL4SEUnit** tempvar_192 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 1, 0", "tempvar_192"); - objectCall3(tempvar_192, ConnectInput, 0, nets[61], 0); - IHDL4SEUnit** tempvar_194 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 1", "tempvar_194"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[42], 2, 0, BINOP_ADD); - IHDL4SEUnit **tempvar_193 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_193"); - objectCall3(tempvar_193, ConnectInput, 0, nets[42], 0); - objectCall3(tempvar_193, ConnectInput, 1, tempvar_194, 0); - IHDL4SEUnit** tempvar_196 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 1, 1", "tempvar_196"); - objectCall3(tempvar_196, ConnectInput, 0, nets[61], 0); - IHDL4SEUnit** tempvar_198 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 1", "tempvar_198"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[42], 2, 0, BINOP_SUB); - IHDL4SEUnit **tempvar_197 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_197"); - objectCall3(tempvar_197, ConnectInput, 0, nets[42], 0); - objectCall3(tempvar_197, ConnectInput, 1, tempvar_198, 0); - IHDL4SEUnit **tempvar_195 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_195"); - objectCall3(tempvar_195, ConnectInput, 0, tempvar_196, 1); - objectCall3(tempvar_195, ConnectInput, 1, nets[42], 0); - objectCall3(tempvar_195, ConnectInput, 2, tempvar_197, 2); - IHDL4SEUnit **tempvar_191 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_191"); - objectCall3(tempvar_191, ConnectInput, 0, tempvar_192, 1); - objectCall3(tempvar_191, ConnectInput, 1, tempvar_195, 3); - objectCall3(tempvar_191, ConnectInput, 2, tempvar_193, 2); - objectCall3(nets[11], ConnectInput, 0, tempvar_191, 3); - /* assign testywencheckkey = (((cur_key [2] ||(cur_key==0)))?((wireout_curposy+1)):(wireout_curposy)); */ - IHDL4SEUnit** tempvar_201 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 1, 2", "tempvar_201"); - objectCall3(tempvar_201, ConnectInput, 0, nets[61], 0); - IHDL4SEUnit** tempvar_203 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 0", "tempvar_203"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[61], 2, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_202 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_202"); - objectCall3(tempvar_202, ConnectInput, 0, nets[61], 0); - objectCall3(tempvar_202, ConnectInput, 1, tempvar_203, 0); - IHDL4SEUnit **tempvar_200 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, "1, 1, 1, 17", "tempvar_200"); - objectCall3(tempvar_200, ConnectInput, 0, tempvar_201, 1); - objectCall3(tempvar_200, ConnectInput, 1, tempvar_202, 2); - IHDL4SEUnit** tempvar_205 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 1", "tempvar_205"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[48], 2, 0, BINOP_ADD); - IHDL4SEUnit **tempvar_204 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_204"); - objectCall3(tempvar_204, ConnectInput, 0, nets[48], 0); - objectCall3(tempvar_204, ConnectInput, 1, tempvar_205, 0); - IHDL4SEUnit **tempvar_199 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_199"); - objectCall3(tempvar_199, ConnectInput, 0, tempvar_200, 2); - objectCall3(tempvar_199, ConnectInput, 1, nets[48], 0); - objectCall3(tempvar_199, ConnectInput, 2, tempvar_204, 2); - objectCall3(nets[14], ConnectInput, 0, tempvar_199, 3); - /* assign testidwhencheckkey = (((cur_key==0))?((((wireout_tick<=wireout_speed))?(wireout_testid):(0))):(((cur_key [2] )?(0):(((cur_key [1] )?(1):(((cur_key [0] )?(2):(3)))))))); */ - IHDL4SEUnit** tempvar_208 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 0", "tempvar_208"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[61], 2, 1, BINOP_EQ); - IHDL4SEUnit **tempvar_207 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_207"); - objectCall3(tempvar_207, ConnectInput, 0, nets[61], 0); - objectCall3(tempvar_207, ConnectInput, 1, tempvar_208, 0); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[38], __netswidth[35], 1, BINOP_LE); - IHDL4SEUnit **tempvar_210 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_210"); - objectCall3(tempvar_210, ConnectInput, 0, nets[38], 0); - objectCall3(tempvar_210, ConnectInput, 1, nets[35], 0); - IHDL4SEUnit** tempvar_211 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 0", "tempvar_211"); - IHDL4SEUnit **tempvar_209 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_209"); - objectCall3(tempvar_209, ConnectInput, 0, tempvar_210, 2); - objectCall3(tempvar_209, ConnectInput, 1, tempvar_211, 0); - objectCall3(tempvar_209, ConnectInput, 2, nets[16], 0); - IHDL4SEUnit** tempvar_213 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 1, 2", "tempvar_213"); - objectCall3(tempvar_213, ConnectInput, 0, nets[61], 0); - IHDL4SEUnit** tempvar_214 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 0", "tempvar_214"); - IHDL4SEUnit** tempvar_216 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 1, 1", "tempvar_216"); - objectCall3(tempvar_216, ConnectInput, 0, nets[61], 0); - IHDL4SEUnit** tempvar_217 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 1", "tempvar_217"); - IHDL4SEUnit** tempvar_219 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 1, 0", "tempvar_219"); - objectCall3(tempvar_219, ConnectInput, 0, nets[61], 0); - IHDL4SEUnit** tempvar_220 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "3, 2", "tempvar_220"); - IHDL4SEUnit** tempvar_221 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "3, 3", "tempvar_221"); - IHDL4SEUnit **tempvar_218 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "3", "tempvar_218"); - objectCall3(tempvar_218, ConnectInput, 0, tempvar_219, 1); - objectCall3(tempvar_218, ConnectInput, 1, tempvar_221, 0); - objectCall3(tempvar_218, ConnectInput, 2, tempvar_220, 0); - IHDL4SEUnit **tempvar_215 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "3", "tempvar_215"); - objectCall3(tempvar_215, ConnectInput, 0, tempvar_216, 1); - objectCall3(tempvar_215, ConnectInput, 1, tempvar_218, 3); - objectCall3(tempvar_215, ConnectInput, 2, tempvar_217, 0); - IHDL4SEUnit **tempvar_212 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "3", "tempvar_212"); - objectCall3(tempvar_212, ConnectInput, 0, tempvar_213, 1); - objectCall3(tempvar_212, ConnectInput, 1, tempvar_215, 3); - objectCall3(tempvar_212, ConnectInput, 2, tempvar_214, 0); - IHDL4SEUnit **tempvar_206 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_206"); - objectCall3(tempvar_206, ConnectInput, 0, tempvar_207, 2); - objectCall3(tempvar_206, ConnectInput, 1, tempvar_212, 3); - objectCall3(tempvar_206, ConnectInput, 2, tempvar_209, 3); - objectCall3(nets[17], ConnectInput, 0, tempvar_206, 3); - /* assign checklinecountAfterCheckline = (((wStateComplete&&(bResult<24)))?((wireout_checklinecount+1)):(wireout_checklinecount)); */ - IHDL4SEUnit** tempvar_225 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "6, 24", "tempvar_225"); - sprintf(__instparam, "%d, %d, %d, %d", __portswidth[11], 6, 1, BINOP_LT); - IHDL4SEUnit **tempvar_224 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_224"); - objectCall3(tempvar_224, ConnectInput, 0, unit, 11); - objectCall3(tempvar_224, ConnectInput, 1, tempvar_225, 0); - sprintf(__instparam, "%d, %d, %d, %d", __portswidth[3], 1, 1, BINOP_ANDL); - IHDL4SEUnit **tempvar_223 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_223"); - objectCall3(tempvar_223, ConnectInput, 0, unit, 3); - objectCall3(tempvar_223, ConnectInput, 1, tempvar_224, 2); - IHDL4SEUnit** tempvar_227 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 1", "tempvar_227"); - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[21], 2, 0, BINOP_ADD); - IHDL4SEUnit **tempvar_226 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_226"); - objectCall3(tempvar_226, ConnectInput, 0, nets[21], 0); - objectCall3(tempvar_226, ConnectInput, 1, tempvar_227, 0); - IHDL4SEUnit **tempvar_222 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_222"); - objectCall3(tempvar_222, ConnectInput, 0, tempvar_223, 2); - objectCall3(tempvar_222, ConnectInput, 1, nets[21], 0); - objectCall3(tempvar_222, ConnectInput, 2, tempvar_226, 2); - objectCall3(nets[22], ConnectInput, 0, tempvar_222, 3); - /* assign scorediv4 = wireout_score [31:4] ; */ - IHDL4SEUnit** tempvar_228 = hdl4seCreateUnit(module, CLSID_HDL4SE_SPLIT1, "0, 28, 4", "tempvar_228"); - objectCall3(tempvar_228, ConnectInput, 0, nets[28], 0); - objectCall3(nets[36], ConnectInput, 0, tempvar_228, 1); - /* assign cur_key = (((wireout_key==bKeyData))?(0):(bKeyData)); */ - sprintf(__instparam, "%d, %d, %d, %d", __netswidth[60], __portswidth[2], 1, BINOP_EQ); - IHDL4SEUnit **tempvar_230 = hdl4seCreateUnit(module, CLSID_HDL4SE_BINOP, __instparam, "tempvar_230"); - objectCall3(tempvar_230, ConnectInput, 0, nets[60], 0); - objectCall3(tempvar_230, ConnectInput, 1, unit, 2); - IHDL4SEUnit** tempvar_231 = hdl4seCreateUnit(module, CLSID_HDL4SE_CONST, "2, 0", "tempvar_231"); - IHDL4SEUnit **tempvar_229 = hdl4seCreateUnit(module, CLSID_HDL4SE_MUX2, "0", "tempvar_229"); - objectCall3(tempvar_229, ConnectInput, 0, tempvar_230, 2); - objectCall3(tempvar_229, ConnectInput, 1, unit, 2); - objectCall3(tempvar_229, ConnectInput, 2, tempvar_231, 0); - objectCall3(nets[61], ConnectInput, 0, tempvar_229, 3); - - /*释放module接口*/ - objectRelease(module); - /*返回unit接口*/ - return unit; -} - - IHDL4SEUnit** hdl4seCreate_001A(IHDL4SEModuleVar * parent, const char* instanceparam, const char* name) { /* module rand */ IHDL4SEModuleVar* module; @@ -3088,7 +1892,7 @@ IHDL4SEUnit** hdl4seCreate_001D(IHDL4SEModuleVar * parent, const char* instancep objectCall3(modules[0], ConnectInput, 3, nets[2], 0); objectCall3(modules[0], ConnectInput, 4, nets[3], 0); objectCall3(nets[4], ConnectInput, 0, modules[0], 5); - modules[ 1] = hdl4seCreate_0013(module, "", "ctrl"); + modules[ 1] = hdl4seCreateUnit2(module, "158fa52-ca8b-4551-9b87-fc7cff466e2a", "", "ctrl"); objectCall3(modules[1], ConnectInput, 0, unit, 0); objectCall3(modules[1], ConnectInput, 1, unit, 1); objectCall3(modules[1], ConnectInput, 2, nets[5], 0); diff --git a/examples/terris/verilog/terris_ctrl.v b/examples/terris/verilog/terris_ctrl.v index f969bea..bab03f6 100644 --- a/examples/terris/verilog/terris_ctrl.v +++ b/examples/terris/verilog/terris_ctrl.v @@ -79,7 +79,7 @@ endmodule /* 俄罗斯方块控制器V1 */ (* - //HDL4SE="LCOM", + HDL4SE="LCOM", CLSID="158fa52-ca8b-4551-9b87-fc7cff466e2a", softmodule="hdl4se" *) diff --git a/examples/terris/verilog/terris_main_asm.v b/examples/terris/verilog/terris_main_asm.v index 0888771..c66f08e 100644 --- a/examples/terris/verilog/terris_main_asm.v +++ b/examples/terris/verilog/terris_main_asm.v @@ -622,6 +622,7 @@ endmodule (* + HDL4SE = "LCOM", CLSID = "158fa52-ca8b-4551-9b87-fc7cff466e2a", softmodule = "hdl4se" *) -- GitLab