提交 a94aaacd 编写于 作者: 饶先宏's avatar 饶先宏

202109090950

上级 63097abc
......@@ -5,7 +5,7 @@
set_global_assignment -name FAMILY "Cyclone V"
set_global_assignment -name DEVICE 5CSEMA5F31C6
set_global_assignment -name TOP_LEVEL_ENTITY "de1_riscv_v4"
set_global_assignment -name ORIGINAL_QUARTUS_VERSION "15.1.0"
set_global_assignment -name ORIGINAL_QUARTUS_VERSION 15.1.0
set_global_assignment -name LAST_QUARTUS_VERSION 13.1
set_global_assignment -name PROJECT_CREATION_TIME_DATE "08:23:33 SEPTEMBER 02,2021"
set_global_assignment -name DEVICE_FILTER_PACKAGE FBGA
......@@ -488,9 +488,6 @@ set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)"
set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
set_global_assignment -name VERILOG_FILE ../verilog/alex_uart/rtl/uart_tx.v
set_global_assignment -name VERILOG_FILE ../verilog/alex_uart/rtl/uart_rx.v
set_global_assignment -name VERILOG_FILE ../verilog/alex_uart/rtl/uart.v
set_global_assignment -name VERILOG_FILE ../verilog/altera/ram/ram4kB.v
set_global_assignment -name VERILOG_FILE ../verilog/alu/div32.v
set_global_assignment -name VERILOG_FILE ../verilog/alu/mul32.v
......
:10007400930700006388070037150000130585B750
:100084006F00103567800000971100009381C17ADA
:10009400138541C4138601C63306A64093050000A8
:1000A400EF00900D171500001305C5B26308050095
:1000B40017150000130545ACEF009031EF00100256
:1000C400032501009305410013060000EF00C00A58
:1000D4006F00C07D130101FF2324810083C741C445
:1000E400232611006392070293070000638A070026
:1000F400371500001305050097000000E700000015
:10010400930710002382F1C48320C10003248100DB
:10011400130101016780000093070000638C07004E
:1001240037150000938581C41305050017030000EB
:100134006700000067800000130101FE232E810088
:10014400130401022326A4FE0327C4FE9307A00080
:10015400B377F70217170000032747319397270057
:10016400B307F70083A70700138507000324C10121
:100174001301010267800000130101FC232E110208
:10018400232C8102232A9102130401042326A4FCB4
:100194002324B4FC930710002322F4FEB70700F0D5
:1001A4002320F4FEB70700F093870701232EF4FC05
:1001B40093070000130800002324F4FE232604FF01
:1001C4008327C4FD37077F6F1307D77723A0E70082
:1001D4008327C4FD938747003757666D1307B7F528
:1001E40023A0E700032684FE8326C4FE1305100023
:1001F400930500003307A600130807003338C8002E
:10020400B387B600B306F800938706002324E4FE00
:100214002326F4FE032784FE8327C4FE2328E4FC5C
:10022400232AF4FC832704FD13850700EFF0DFF095
:1002340093040500032704FD832744FD1306A0004F
:10024400930600001305070093850700EF000023C1
:10025400130705009387050093070700138507001C
:10026400EFF09FED9307050093978700B3E4F40044
:10027400032704FD832744FD13064006930600006C
:100284001305070093850700EF00401F13070500BF
:10029400938705009307070013850700EFF0DFE954
:1002A4009307050093970701B3E4F400032704FDC3
:1002B400832744FD1306803E9306000013050700C0
:1002C40093850700EF00801B130705009387050043
:1002D4009307070013850700EFF01FE69307050057
:1002E4009397870133E7F4008327C4FD23A0E70035
:1002F400032704FD832744FD3726000013060671F7
:10030400930600001305070093850700EF0000170C
:1003140013070500938705002328E4FC232AF4FC33
:10032400832704FD13850700EFF01FE19304050004
:10033400032704FD832744FD1306A0009306000051
:100344001305070093850700EF004013130705000A
:10035400938705009307070013850700EFF0DFDD9F
:100364009307050093978700B3E4F400032704FD83
:10037400832744FD13064006930600001305070077
:1003840093850700EF00800F13070500938705008E
:100394009307070013850700EFF01FDA93070500A2
:1003A40093970701B3E4F400032704FD832744FD76
:1003B4001306803E9306000013050700938507008B
:1003C400EF00C00B13070500938705009307070090
:1003D40013850700EFF05FD6930705001397870195
:1003E4008327C4FD9387470033E7E40023A0E70095
:1003F400032704FD832744FD3726000013060671F6
:10040400930600001305070093850700EF0000071B
:1004140013070500938705002328E4FC232AF4FC32
:10042400832704FD13850700EFF01FD19304050013
:10043400032704FD832744FD1306A0009306000050
:100444001305070093850700EF0040031307050019
:10045400938705009307070013850700EFF0DFCDAE
:1004640093070500139787008327C4FD93878700AC
:1004740033E7E40023A0E7006FF0DFD613030500A1
:1004840093880500130706001308050093870500E9
:1004940063920628B7150000938505CE63F6C80E4F
:1004A400B70601006378D60C9336061093C616007F
:1004B400939636003355D600B385A50083C5050051
:1004C40013050002B386D500B305D540630CD500EF
:1004D400B397B800B356D3003317B600B3E7F600AA
:1004E4003318B3009355070133D3B702131607012A
:1004F40013560601B3F7B70213050300B3086602E7
:100504009396070193570801B3E7D70063FE1701D9
:10051400B387E7001305F3FF63E8E70063F6170109
:100524001305E3FFB387E700B3871741B3D8B702D6
:100534001318080113580801B3F7B702B3061603DA
:10054400939707013368F80093870800637CD80009
:10055400330807019387F8FF6366E8006374D800E3
:100564009387E8FF131505013365F5009305000033
:10057400678000003705000193060001E36CA6F2D2
:10058400930680016FF01FF36314060073001000DC
:10059400B70701006370F60C9336061093C6160075
:1005A40093963600B357D600B385F50083C705008C
:1005B400B387D70093060002B385F6406396F60A24
:1005C400B387C840930510009358070133DE17031F
:1005D400131607011356060193560801B3F71703C0
:1005E40013050E003303C60393970701B3E7F60020
:1005F40063FE6700B387E7001305FEFF63E8E700C7
:1006040063F667001305EEFFB387E700B38767401F
:1006140033D317031318080113580801B3F717034A
:10062400B3066602939707013368F8009307030043
:10063400637CD800330807019307F3FF6366E8007F
:100644006374D8009307E3FF131505013365F500C0
:1006540067800000B707000193060001E364F6F425
:10066400930680016FF01FF43317B600B3D6F80079
:1006740013550701B357F3003318B30033D3A6025D
:1006840013160701B398B80013560601B3E7170110
:10069400B3F6A602B30866029395060193D6070142
:1006A400B3E6B6009305030063FE1601B386E600C5
:1006B4009305F3FF63E8E60063F616019305E3FF91
:1006C400B386E600B3861641B3D8A6029397070112
:1006D40093D70701B3F6A6023306160393960601D1
:1006E400B3E7D7009386080063FEC700B387E7002B
:1006F4009386F8FF63E8E70063F6C7009386E8FF94
:10070400B387E70093950501B387C740B3E5D500E8
:100714006FF09FEB63E6D518B707010063F4F604A6
:1007240013B706101347170013173700B717000045
:10073400B3D5E600938707CEB387B70083C7070016
:10074400B387E70013070002B305F7406316F70207
:1007540013051000E3EE16E13335C300134515000D
:1007640067800000B707000113070001E3E0F6FC0F
:10077400130780016FF09FFB3357F600B396B60062
:10078400B366D70033D7F800B398B800B357F30073
:10079400B3E7170193D80601B35E17031398060154
:1007A400135808013316B60033771703330ED803F2
:1007B4001315070113D707013367A70013850E002C
:1007C400637EC7013307D7001385FEFF6368D70034
:1007D4006376C7011385EEFF3307D7003307C7419C
:1007E400335E17039397070193D7070133771703F2
:1007F4003308C80313170701B3E7E70013070E0014
:1008040063FE0701B387D7001307FEFF63E8D70031
:1008140063F607011307EEFFB387D700131505012D
:10082400370E01003365E5009306FEFF3377D500EC
:10083400B3870741B376D600135805011356060152
:10084400B308D702B306D8023307C7023308C80275
:100854003306D70013D708013307C7006374D700E2
:100864003308C80193560701B386060163E6D7022D
:10087400E39ED7CEB70701009387F7FF3377F700DE
:1008840013170701B3F8F8003313B3003307170144
:1008940093050000E37EE3CC1305F5FF6FF01FCD55
:1008A400930500001305000067800000130101FF99
:1008B400930500002324810023261100130405005E
:1008C400EF00401903A581C38327C5036384070090
:1008D400E780070013050400EF00403A130101FF0D
:1008E400232481002320210137140000371900003C
:1008F4009307C4021309C9023309F94023261100DE
:100904002322910013592940630009021304C402ED
:100914009304000083270400938414001304440008
:10092400E7800700E31899FE371400003719000028
:100934009307C402130949033309F94013592940A1
:10094400630009021304C402930400008327040013
:100954009384140013044400E7800700E31899FE0D
:100964008320C10003248100832441000329010062
:1009740013010101678000001303F0001307050051
:10098400637EC3029377F7006390070A63920508B6
:10099400937606FF1376F600B386E6002320B700AD
:1009A4002322B7002324B7002326B7001307070127
:1009B400E366D7FE6314060067800000B306C340F5
:1009C4009396260097020000B38656006780C600FF
:1009D4002307B700A306B7002306B700A305B70093
:1009E4002305B700A304B7002304B700A303B7008B
:1009F4002303B700A302B7002302B700A301B70083
:100A04002301B700A300B7002300B70067800000EC
:100A140093F5F50F93968500B3E5D50093960501FC
:100A2400B3E5D5006FF0DFF6939627009702000038
:100A3400B386560093820000E78006FA9380020092
:100A4400938707FF3307F7403306F600E378C3F6CE
:100A54006FF0DFF3130101FD232C410103AA81C3CD
:100A6400232021032326110203298A14232481022B
:100A740023229102232E3101232A510123286101CB
:100A8400232671012324810163000904130B05004B
:100A9400938B0500930A10009309F0FF8324490007
:100AA4001384F4FF6342040293942400B304990072
:100AB40063840B0483A74410638077051304F4FF55
:100AC4009384C4FFE31634FF8320C102032481020C
:100AD40083244102032901028329C101032A8101DC
:100AE400832A4101032B0101832BC100032C8100C4
:100AF40013010103678000008327490083A6440093
:100B04009387F7FF638E870423A20400E38806FA21
:100B14008327891833978A00032C4900B377F70099
:100B240063920702E78006000327490083278A149B
:100B340063148701E38427F9E38807F8138907001E
:100B44006FF0DFF58327C91883A544083377F700CE
:100B5400631C070013050B00E78006006FF0DFFC41
:100B6400232289006FF09FFA13850500E7800600B1
:100B74006FF09FFB130101FF23248100B7170000CE
:100B84003714000093874703130484033304F440A9
:100B940023229100232611009354244063800402ED
:100BA4001304C4FF3304F400832704009384F4FF84
:100BB4001304C4FFE7800700E39804FE8320C10008
:100BC4000324810083244100130101016780000094
:100BD40093050500930600001306000013050000AA
:100BE4006F00400003A781C383278714638C070425
:100BF40003A747001308F001634EE8061318270003
:100C040063060502338307012324C30883A88718D6
:100C1400130610003316E600B3E8C80023A417191E
:100C24002324D310930620006304D502130717006E
:100C340023A2E700B387070123A4B700130500002C
:100C4400678000009307C7142324F7146FF05FFA3A
:100C540083A6C7181307170023A2E700B3E6C6004C
:100C640023A6D718B387070123A4B70013050000F0
:100C7400678000001305F0FF678000009308D0052B
:100C840073000000634405006F000000130101FFBE
:100C9400232481001304050023261100330480401B
:100CA400EF00C000232085006F00000003A501C4ED
:040CB4006780000055
:100CB8003F000000060000005B0000004F0000003D
:100CC800660000006D0000007D00000007000000C5
:100CD8007F0000006F00000000010202030303030D
:100CE80004040404040404040505050505050505B4
:100CF8000505050505050505060606060606060694
:100D0800060606060606060606060606060606067B
:100D18000606060606060606070707070707070763
:100D2800070707070707070707070707070707074B
:100D3800070707070707070707070707070707073B
:100D4800070707070707070707070707070707072B
:100D58000707070707070707080808080808080813
:100D680008080808080808080808080808080808FB
:100D780008080808080808080808080808080808EB
:100D880008080808080808080808080808080808DB
:100D980008080808080808080808080808080808CB
:100DA80008080808080808080808080808080808BB
:100DB80008080808080808080808080808080808AB
:100DC800080808080808080808080808080808089B
:080DD8000808080808080808D3
:101000001000000000000000037A5200017C010182
:101010001B0D0200100000001800000064F4FFFF28
:0C10200030040000000000000000000090
:08102C00740000001C0100002B
:04103400D8000000E0
:1010380000000000241300008C130000F4130000CB
:101048000000000000000000000000000000000098
:101058000000000000000000000000000000000088
:101068000000000000000000000000000000000078
:101078000000000000000000000000000000000068
:101088000000000000000000000000000000000058
:101098000000000000000000000000000000000048
:1010A8000000000000000000000000000000000038
:1010B8000000000000000000000000000000000028
:1010C8000000000000000000000000000000000018
:1010D8000000000000000000010000000000000007
:1010E8000E33CDAB34126DE6ECDE05000B000000CC
:1010F80000000000000000000000000000000000E8
:1011080000000000000000000000000000000000D7
:1011180000000000000000000000000000000000C7
:1011280000000000000000000000000000000000B7
:1011380000000000000000000000000000000000A7
:101148000000000000000000000000000000000097
:101158000000000000000000000000000000000087
:101168000000000000000000000000000000000077
:101178000000000000000000000000000000000067
:101188000000000000000000000000000000000057
:101198000000000000000000000000000000000047
:1011A8000000000000000000000000000000000037
:1011B8000000000000000000000000000000000027
:1011C8000000000000000000000000000000000017
:1011D8000000000000000000000000000000000007
:1011E80000000000000000000000000000000000F7
:1011F80000000000000000000000000000000000E7
:1012080000000000000000000000000000000000D6
:1012180000000000000000000000000000000000C6
:1012280000000000000000000000000000000000B6
:1012380000000000000000000000000000000000A6
:101248000000000000000000000000000000000096
:101258000000000000000000000000000000000086
:101268000000000000000000000000000000000076
:101278000000000000000000000000000000000066
:101288000000000000000000000000000000000056
:101298000000000000000000000000000000000046
:1012A8000000000000000000000000000000000036
:1012B8000000000000000000000000000000000026
:1012C8000000000000000000000000000000000016
:1012D8000000000000000000000000000000000006
:1012E80000000000000000000000000000000000F6
:1012F80000000000000000000000000000000000E6
:1013080000000000000000000000000000000000D5
:1013180000000000000000000000000000000000C5
:1013280000000000000000000000000000000000B5
:1013380000000000000000000000000000000000A5
:101348000000000000000000000000000000000095
:101358000000000000000000000000000000000085
:101368000000000000000000000000000000000075
:101378000000000000000000000000000000000065
:101388000000000000000000000000000000000055
:101398000000000000000000000000000000000045
:1013A8000000000000000000000000000000000035
:1013B8000000000000000000000000000000000025
:1013C8000000000000000000000000000000000015
:1013D8000000000000000000000000000000000005
:1013E80000000000000000000000000000000000F5
:1013F80000000000000000000000000000000000E5
:1014080000000000000000000000000000000000D4
:1014180000000000000000000000000000000000C4
:1014280000000000000000000000000000000000B4
:1014380000000000000000000000000000000000A4
:101448000000000000000000000000000000000094
:0814580000000000000000008C
:10146000FFFFFFFF0000000000000000B80C0000BC
:0C147000381000000000000038100000E0
:040000030000008C6D
:00000001FF
此差异已折叠。
......@@ -101,8 +101,6 @@ IDLIST
END_IDLIST
enum riscv_core_state {
RISCVSTATE_INIT_REGX1,
RISCVSTATE_INIT_REGX2,
RISCVSTATE_READ_INST,
RISCVSTATE_READ_REGS,
RISCVSTATE_EXEC_INST,
......@@ -138,16 +136,15 @@ DEFINE_FUNC(riscv_core_read_sig, "state, pc, instr, bReadData, regrddata, regrdd
unsigned int state;
state = vget(state);
vput(wRead, 0);
if (state == RISCVSTATE_INIT_REGX2) {
vput(wRead, 1);
vput(bReadAddr, vget(pc));
}
else
if (state == RISCVSTATE_READ_INST) {
vput(bReadAddr, 0);
switch (state) {
case RISCVSTATE_WAIT_ST2:
case RISCVSTATE_WAIT_LD2:
case RISCVSTATE_READ_INST: {
vput(wRead, 1);
vput(bReadAddr, vget(pc));
}
else if (state == RISCVSTATE_EXEC_INST) {
} break;
case RISCVSTATE_EXEC_INST: {
unsigned int instr;
unsigned int opcode;
instr = vget(instr);
......@@ -208,8 +205,8 @@ DEFINE_FUNC(riscv_core_read_sig, "state, pc, instr, bReadData, regrddata, regrdd
vput(wRead, 1);
vput(bReadAddr, newpc);
}
}
else if (state == RISCVSTATE_WAIT_LD) {
} break;
case RISCVSTATE_WAIT_LD: {
unsigned int instr = vget(instr);
unsigned int func3 = (instr >> 12) & 0x7;
unsigned int ldaddr = vget(ldaddr);
......@@ -227,29 +224,17 @@ DEFINE_FUNC(riscv_core_read_sig, "state, pc, instr, bReadData, regrddata, regrdd
vput(bReadAddr, ldaddr + 4);
}
else {
vput(wRead, 0);
vput(bReadAddr, 0);
vput(wRead, 1);
vput(bReadAddr, vget(pc));
}
}
/*else if (state == RISCVSTATE_WRITE_RD) {
vput(wRead, 1);
vput(bReadAddr, vget(pc));
}
*/
/*
else if (state == RISCVSTATE_WAIT_ST2) {
vput(wRead, 1);
vput(bReadAddr, vget(pc));
}
else if (state == RISCVSTATE_WAIT_ST) {
}break;
case RISCVSTATE_WAIT_ST: {
unsigned int instr = vget(instr);
unsigned int lastaddr = vget(lastaddr);
unsigned int opcode = instr & 0x7f;
unsigned int func3;
func3 = (instr >> 12) & 0x7;
opcode >>= 2;
vput(wRead, 1);
vput(bReadAddr, vget(pc));
if (opcode == 0x08) {
if (func3 == 1 && (lastaddr & 3) == 3) { // sh
vput(wRead, 0);
......@@ -257,9 +242,13 @@ DEFINE_FUNC(riscv_core_read_sig, "state, pc, instr, bReadData, regrddata, regrdd
else if (func3 == 2 && (lastaddr & 3) != 0) {
vput(wRead, 0);
}
else {
vput(wRead, 1);
vput(bReadAddr, vget(pc));
}
}
}break;
}
*/
} END_DEFINE_FUNC
DEFINE_FUNC(riscv_core_gen_ldaddr, "state, pc, instr, regrddata") {
......@@ -319,26 +308,6 @@ DEFINE_FUNC(riscv_core_reg_wr_sig, "state, dstreg, dstvalue, bReadData, instr, r
vput(regena2, 0xf);
vput(regwrdata2, vget(dstvalue));
}break;
case RISCVSTATE_INIT_REGX1: {
vput(regwren, 1);
vput(regno, 1);
vput(regena, 0xf);
vput(regwrdata, 0x8c);
vput(regwren2, 1);
vput(regno2, 1);
vput(regena2, 0xf);
vput(regwrdata2, 0x8c);
}break;
case RISCVSTATE_INIT_REGX2: {
vput(regwren, 1);
vput(regno, 2);
vput(regena, 0xf);
vput(regwrdata, RAMSIZE * 4 - 16);
vput(regwren2, 1);
vput(regno2, 2);
vput(regena2, 0xf);
vput(regwrdata2, RAMSIZE * 4 - 16);
}break;
default: {
vput(regwren, 0);
vput(regno, 0);
......@@ -556,12 +525,6 @@ DEFINE_FUNC(riscv_core_exec_inst, "") {
DEFINE_FUNC(riscv_core_gen_dstreg, "state, instr, ldaddr, readreg, bReadData, pc, rs1, rs2, divclk, regrddata, imm") {
switch (vget(state)) {
case RISCVSTATE_INIT_REGX1: {
RISCV_SETDSTREG(1, 0x8c);
}break;
case RISCVSTATE_INIT_REGX2: {
RISCV_SETDSTREG(2, RAMSIZE * 4 - 16);
}break;
case RISCVSTATE_WAIT_LD: {
unsigned int instr = vget(instr);
unsigned int func3 = (instr >> 12) & 0x7;
......@@ -781,26 +744,17 @@ DEFINE_FUNC(riscv_core_gen_imm, "instr, state") {
DEFINE_FUNC(riscv_core_gen_state, "state, instr, nwReset, imm, ldaddr, lastaddr, lastv") {
if (vget(nwReset) == 0) {
vput(state, RISCVSTATE_INIT_REGX1);
vput(state, RISCVSTATE_READ_INST);
}
else {
int state = vget(state);
switch (state) {
case RISCVSTATE_INIT_REGX1: {
vput(state, RISCVSTATE_INIT_REGX2);
}break;
case RISCVSTATE_INIT_REGX2: {
vput(state, RISCVSTATE_READ_REGS);
}break;
case RISCVSTATE_READ_INST: {
vput(state, RISCVSTATE_READ_REGS);
}break;
case RISCVSTATE_READ_REGS: {
vput(state, RISCVSTATE_EXEC_INST);
}break;
/*case RISCVSTATE_WRITE_RD: {
vput(state, RISCVSTATE_READ_REGS);
}break;*/
case RISCVSTATE_EXEC_INST: {
unsigned int instr = vget(instr);
unsigned int opcode = instr & 0x7f;
......@@ -832,11 +786,11 @@ DEFINE_FUNC(riscv_core_gen_state, "state, instr, nwReset, imm, ldaddr, lastaddr,
vput(state, RISCVSTATE_WAIT_LD2);
}
else {
vput(state, RISCVSTATE_READ_INST);
vput(state, RISCVSTATE_READ_REGS);
}
}break;
case RISCVSTATE_WAIT_LD2: {
vput(state, RISCVSTATE_READ_INST);
vput(state, RISCVSTATE_READ_REGS);
}break;
case RISCVSTATE_WAIT_ST: {
unsigned int instr = vget(instr);
......@@ -845,7 +799,7 @@ DEFINE_FUNC(riscv_core_gen_state, "state, instr, nwReset, imm, ldaddr, lastaddr,
unsigned int func3;
func3 = (instr >> 12) & 0x7;
opcode >>= 2;
vput(state, RISCVSTATE_READ_INST);
vput(state, RISCVSTATE_READ_REGS);
if (opcode == 0x08) {
if (func3 == 1 && (lastaddr & 3) == 3) { /* sh */
vput(state, RISCVSTATE_WAIT_ST2);
......@@ -856,11 +810,11 @@ DEFINE_FUNC(riscv_core_gen_state, "state, instr, nwReset, imm, ldaddr, lastaddr,
}
}break;
case RISCVSTATE_WAIT_ST2: {
vput(state, RISCVSTATE_READ_INST);
vput(state, RISCVSTATE_READ_REGS);
}break;
case RISCVSTATE_WAIT_DIV: {
if (vget(divclk) == 0)
vput(state, RISCVSTATE_READ_INST);
vput(state, RISCVSTATE_READ_REGS);
}break;
}
}
......@@ -956,7 +910,7 @@ DEFINE_FUNC(riscv_core_gen_write, "nwReset, state, pc, instr, regrddata, regrdda
}
break;
}
vput(writeaddr, lastaddr + 4);
vput(writeaddr, (lastaddr & 0xfffffffc) + 4);
vput(writedata, writedata);
vput(writemask, writemask);
}
......@@ -1230,10 +1184,10 @@ MODULE_INIT(riscv_core)
PORT_IN(regrddata2, 32);
GREG(pc, 32, riscv_core_reg_gen_pc);
GREG(instr, 32, riscv_core_reg_gen_instr);
GREG(write, 1, riscv_core_gen_write);
GREG(writeaddr, 32, riscv_core_gen_write);
GREG(writedata, 32, riscv_core_gen_write);
GREG(writemask, 4, riscv_core_gen_write);
GWIRE(write, 1, riscv_core_gen_write);
GWIRE(writeaddr, 32, riscv_core_gen_write);
GWIRE(writedata, 32, riscv_core_gen_write);
GWIRE(writemask, 4, riscv_core_gen_write);
GREG(readreg, 5, riscv_core_reg_gen_readreg);
GREG(state, 4, riscv_core_gen_state);
GREG(imm, 32, riscv_core_gen_imm);
......
......@@ -92,7 +92,7 @@ DEFINE_FUNC(top_gen_ram_dot_wren, "bWriteAddr, wWrite, ") { /* port:ram(ram8kb).
} END_DEFINE_FUNC
DEFINE_FUNC(top_gen_bReadData, "bReadAddr_out, bReadDataKey, bReadDataRam, ") {
vputs(bReadData, (((vgets(bReadAddr_out)) & (0xffffff00)) == (0xf0000000))?(vgets(bReadDataKey)):((((vgets(bReadAddr_out)) & (0xff000000)) == (0))?(vgets(bReadDataRam)):(0xffffffff)));
vputs(bReadData, (((vgets(bReadAddr_out)) & (0xffffff00)) == (0xf0000000))?(vgets(bReadDataKey)):((((vgets(bReadAddr_out)) & (0xff000000)) == (0))?(vgets(bReadDataRam)):(0)));
} END_DEFINE_FUNC
DEFINE_FUNC(top_gen_ramaddr, "wWrite, bWriteAddr, bReadAddr, ") {
......
......@@ -500,10 +500,12 @@ static void testmad()
static void printhelp()
{
/*
_puts(" d <addr> \n");
_puts(" b <baudrate> \n");
_puts(" r <addr> <width>\n");
_puts(" w <addr> <value> <width>\n");
*/
}
#define TESTISA 0
......@@ -569,16 +571,6 @@ void testisa()
int main(int argc, char* argv[])
{
#if 0
volatile unsigned int* ledkey = (unsigned int*)0xF0000000;
volatile unsigned int* leddata = (unsigned int*)0xf0000010;
unsigned char ledd[20];
unsigned int count0 = 0;
unsigned int count1 = 0;
unsigned int ctemp;
#endif
*(unsigned int*)0xf0000010 = 0x3f3f0707;
_buadrateset(115200);
do {
......
@00000000
37 11 00 00 EF 00 50 29 6F F0 9F FF
37 11 00 00 EF 00 D0 25 6F F0 9F FF
@0000000C
13 01 01 FF 23 26 81 00 13 04 01 01 B7 17 00 00
83 A7 47 EE 93 87 87 00 03 A7 07 00 B7 17 00 00
23 A6 E7 EE B7 17 00 00 83 A7 C7 EE 93 F7 17 00
83 A7 07 E6 93 87 87 00 03 A7 07 00 B7 17 00 00
23 A4 E7 E6 B7 17 00 00 83 A7 87 E6 93 F7 17 00
93 B7 17 00 93 F7 F7 0F 13 85 07 00 03 24 C1 00
13 01 01 01 67 80 00 00
@00000054
13 01 01 FF 23 26 81 00 13 04 01 01 B7 17 00 00
83 A7 47 EE 93 87 87 00 03 A7 07 00 B7 17 00 00
23 A6 E7 EE B7 17 00 00 03 A7 C7 EE B7 07 01 00
83 A7 07 E6 93 87 87 00 03 A7 07 00 B7 17 00 00
23 A4 E7 E6 B7 17 00 00 03 A7 87 E6 B7 07 01 00
B3 77 F7 00 93 B7 17 00 93 F7 F7 0F 13 85 07 00
03 24 C1 00 13 01 01 01 67 80 00 00
@000000A0
13 01 01 FE 23 2E 81 00 13 04 01 02 23 26 A4 FE
B7 17 00 00 83 A7 47 EE 93 87 87 00 03 A7 07 00
B7 17 00 00 23 A6 E7 EE B7 17 00 00 83 A7 C7 EE
93 F7 17 00 63 90 07 02 B7 17 00 00 83 A7 47 EE
B7 17 00 00 83 A7 07 E6 93 87 87 00 03 A7 07 00
B7 17 00 00 23 A4 E7 E6 B7 17 00 00 83 A7 87 E6
93 F7 17 00 63 90 07 02 B7 17 00 00 83 A7 07 E6
93 87 47 00 03 27 C4 FE 23 A0 E7 00 93 07 00 00
6F 00 80 00 93 07 F0 FF 13 85 07 00 03 24 C1 01
13 01 01 02 67 80 00 00
@00000108
13 01 01 FF 23 26 81 00 13 04 01 01 B7 17 00 00
83 A7 47 EE 93 87 87 00 03 A7 07 00 B7 17 00 00
23 A6 E7 EE B7 17 00 00 03 A7 C7 EE B7 07 01 00
B3 77 F7 00 63 9A 07 00 B7 17 00 00 83 A7 47 EE
83 A7 07 E6 93 87 87 00 03 A7 07 00 B7 17 00 00
23 A4 E7 E6 B7 17 00 00 03 A7 87 E6 B7 07 01 00
B3 77 F7 00 63 9A 07 00 B7 17 00 00 83 A7 07 E6
83 A7 07 00 6F 00 80 00 93 07 F0 FF 13 85 07 00
03 24 C1 00 13 01 01 01 67 80 00 00
@00000164
......@@ -145,24 +145,24 @@ B3 07 F7 00 93 87 97 FC 23 24 F4 FE 6F 00 40 01
@00000804
13 01 01 FB 23 26 11 04 23 24 81 04 23 22 21 05
23 20 31 05 23 2E 41 03 23 2C 51 03 13 04 01 05
B7 17 00 00 83 A7 87 EE 93 F7 07 FF 23 2A F4 FC
B7 17 00 00 83 A7 47 E6 93 F7 07 FF 23 2A F4 FC
23 2C 04 FC 6F 00 C0 1B 83 27 44 FD 13 89 07 00
93 09 00 00 93 07 C4 FB 13 07 00 03 93 06 80 00
93 05 09 00 13 86 09 00 13 85 07 00 EF F0 9F BC
93 07 C4 FB 13 85 07 00 EF F0 9F 8F B7 17 00 00
13 85 87 E4 EF F0 DF 8E 23 2E 04 FC 6F 00 40 0A
13 85 87 E1 EF F0 DF 8E 23 2E 04 FC 6F 00 40 0A
83 27 44 FD 23 26 F4 FC 03 27 C4 FD 83 27 44 FD
33 07 F7 00 B7 17 00 00 83 A7 87 EE 63 7A F7 00
B7 17 00 00 13 85 C7 E4 EF F0 9F 8B 6F 00 00 05
33 07 F7 00 B7 17 00 00 83 A7 47 E6 63 7A F7 00
B7 17 00 00 13 85 C7 E1 EF F0 9F 8B 6F 00 00 05
83 27 C4 FD 03 27 C4 FC B3 07 F7 00 83 C7 07 00
13 8A 07 00 93 0A 00 00 93 07 C4 FB 13 07 00 03
93 06 20 00 93 05 0A 00 13 86 0A 00 13 85 07 00
EF F0 5F B4 93 07 C4 FB 13 85 07 00 EF F0 5F 87
B7 17 00 00 13 85 07 E5 EF F0 9F 86 03 27 C4 FD
93 07 70 00 63 18 F7 00 B7 17 00 00 13 85 47 E5
B7 17 00 00 13 85 07 E2 EF F0 9F 86 03 27 C4 FD
93 07 70 00 63 18 F7 00 B7 17 00 00 13 85 47 E2
EF F0 1F 85 83 27 C4 FD 93 87 17 00 23 2E F4 FC
03 27 C4 FD 93 07 F0 00 E3 DC E7 F4 B7 17 00 00
13 85 87 E5 EF F0 DF 82 23 2E 04 FC 6F 00 80 07
13 85 87 E2 EF F0 DF 82 23 2E 04 FC 6F 00 80 07
83 27 44 FD 23 28 F4 FC 83 27 C4 FD 03 27 04 FD
B3 07 F7 00 03 C7 07 00 93 07 F0 01 63 FA E7 02
83 27 C4 FD 03 27 04 FD B3 07 F7 00 03 C7 07 00
......@@ -171,93 +171,85 @@ B3 07 F7 00 83 C7 07 00 23 0E F4 FA 6F 00 C0 00
93 07 E0 02 23 0E F4 FA A3 0E 04 FA 93 07 C4 FB
13 85 07 00 EF F0 CF FB 83 27 C4 FD 93 87 17 00
23 2E F4 FC 03 27 C4 FD 93 07 F0 00 E3 D2 E7 F8
B7 17 00 00 13 85 C7 E5 EF F0 8F F9 83 27 44 FD
B7 17 00 00 13 85 C7 E2 EF F0 8F F9 83 27 44 FD
93 87 07 01 23 2A F4 FC 83 27 44 FD 93 F7 F7 0F
63 80 07 02 83 27 84 FD 93 87 17 00 23 2C F4 FC
03 27 84 FD 93 07 F0 00 E3 D0 E7 E4 6F 00 80 00
13 00 00 00 B7 17 00 00 13 85 07 E6 EF F0 4F F5
B7 17 00 00 03 27 44 FD 23 A4 E7 EE 13 00 00 00
13 00 00 00 B7 17 00 00 13 85 07 E3 EF F0 4F F5
B7 17 00 00 03 27 44 FD 23 A2 E7 E6 13 00 00 00
83 20 C1 04 03 24 81 04 03 29 41 04 83 29 01 04
03 2A C1 03 83 2A 81 03 13 01 01 05 67 80 00 00
@00000A44
13 01 01 FF 23 26 11 00 23 24 81 00 13 04 01 01
B7 17 00 00 13 85 47 E6 EF F0 8F F0 B7 17 00 00
13 85 47 E7 EF F0 CF EF B7 17 00 00 13 85 87 E8
EF F0 0F EF B7 17 00 00 13 85 C7 E9 EF F0 4F EE
13 00 00 00 83 20 C1 00 03 24 81 00 13 01 01 01
67 80 00 00
@00000A98
13 01 01 FF 23 26 81 00 13 04 01 01 13 00 00 00
03 24 C1 00 13 01 01 01 67 80 00 00
@00000A60
13 01 01 F8 23 2E 11 06 23 2C 81 06 23 2A 21 07
23 28 31 07 23 26 41 07 23 24 51 07 13 04 01 08
23 26 A4 F8 23 24 B4 F8 B7 07 00 F0 93 87 07 01
37 07 3F 3F 13 07 77 70 23 A0 E7 00 B7 17 00 00
83 A7 47 EE 93 87 07 01 13 07 20 1B 23 A0 E7 00
EF F0 4F D2 93 07 05 00 63 88 07 00 B7 17 00 00
13 85 87 EB EF F0 8F E6 EF F0 4F D5 93 07 05 00
83 A7 07 E6 93 87 07 01 13 07 20 1B 23 A0 E7 00
EF F0 CF D5 93 07 05 00 63 88 07 00 B7 17 00 00
13 85 47 E3 EF F0 0F EA EF F0 CF D8 93 07 05 00
E3 8C 07 FE 93 07 04 F9 93 05 70 02 13 85 07 00
EF F0 4F EB 13 00 00 00 B7 17 00 00 13 85 C7 EB
EF F0 CF E3 93 07 04 F9 13 85 07 00 EF F0 0F E3
B7 17 00 00 13 85 07 E6 EF F0 4F E2 03 47 04 F9
EF F0 CF EE 13 00 00 00 B7 17 00 00 13 85 87 E3
EF F0 4F E7 93 07 04 F9 13 85 07 00 EF F0 8F E6
B7 17 00 00 13 85 07 E3 EF F0 CF E5 03 47 04 F9
93 07 20 06 63 18 F7 04 93 07 04 F9 93 87 27 00
93 05 00 00 13 85 07 00 EF F0 1F A7 23 20 A4 FC
93 05 00 00 13 85 07 00 EF F0 9F AA 23 20 A4 FC
83 27 04 FC 63 54 F0 02 B7 F7 FA 02 13 87 07 08
83 27 04 FC 33 47 F7 02 B7 17 00 00 83 A7 47 EE
93 87 07 01 23 A0 E7 00 6F 00 40 2A EF F0 1F EB
6F 00 C0 29 03 47 04 F9 93 07 40 06 63 1C F7 02
83 27 04 FC 33 47 F7 02 B7 17 00 00 83 A7 07 E6
93 87 07 01 23 A0 E7 00 6F 00 C0 2A EF F0 9F EE
6F 00 40 2A 03 47 04 F9 93 07 40 06 63 1C F7 02
93 07 04 F9 93 87 27 00 93 05 00 00 13 85 07 00
EF F0 5F B1 23 22 A4 FC 83 27 44 FC 63 58 F0 00
03 27 44 FC B7 17 00 00 23 A4 E7 EE EF F0 1F C3
6F 00 C0 25 03 47 04 F9 93 07 70 07 63 1C F7 0A
EF F0 DF B4 23 22 A4 FC 83 27 44 FC 63 58 F0 00
03 27 44 FC B7 17 00 00 23 A2 E7 E6 EF F0 9F C6
6F 00 40 26 03 47 04 F9 93 07 70 07 63 1C F7 0A
93 07 04 F9 93 87 27 00 13 07 C4 FB 93 05 07 00
13 85 07 00 EF F0 1F AD 23 28 A4 FC 83 27 C4 FB
13 07 C4 FB 93 05 07 00 13 85 07 00 EF F0 9F AB
13 85 07 00 EF F0 9F B0 23 28 A4 FC 83 27 C4 FB
13 07 C4 FB 93 05 07 00 13 85 07 00 EF F0 1F AF
23 26 A4 FC 83 27 C4 FB 13 07 C4 FB 93 05 07 00
13 85 07 00 EF F0 1F AA 23 24 A4 FC 03 27 84 FC
13 85 07 00 EF F0 9F AD 23 24 A4 FC 03 27 84 FC
93 07 10 00 63 1C F7 00 83 27 04 FD 03 27 C4 FC
13 77 F7 0F 23 80 E7 00 6F 00 40 1E 03 27 84 FC
13 77 F7 0F 23 80 E7 00 6F 00 C0 1E 03 27 84 FC
93 07 20 00 63 1E F7 00 83 27 04 FD 03 27 C4 FC
13 17 07 01 13 57 07 41 23 90 E7 00 6F 00 00 1C
13 17 07 01 13 57 07 41 23 90 E7 00 6F 00 80 1C
03 27 84 FC 93 07 40 00 63 1A F7 00 83 27 04 FD
03 27 C4 FC 23 A0 E7 00 6F 00 40 1A EF F0 1F DB
6F 00 C0 19 03 47 04 F9 93 07 20 07 63 18 F7 18
03 27 C4 FC 23 A0 E7 00 6F 00 C0 1A EF F0 9F DE
6F 00 40 1A 03 47 04 F9 93 07 20 07 63 1A F7 18
23 2E 04 FC 93 07 04 F9 93 87 27 00 13 07 84 FB
93 05 07 00 13 85 07 00 EF F0 DF A0 23 2C A4 FC
93 05 07 00 13 85 07 00 EF F0 5F A4 23 2C A4 FC
83 27 84 FB 13 07 84 FB 93 05 07 00 13 85 07 00
EF F0 5F 9F 23 2A A4 FC 03 27 44 FD 93 07 10 00
EF F0 DF A2 23 2A A4 FC 03 27 44 FD 93 07 10 00
63 10 F7 02 83 27 84 FD 83 C7 07 00 23 2E F4 FC
B7 17 00 00 13 85 07 EC EF F0 4F C6 6F 00 80 05
B7 17 00 00 13 85 C7 E3 EF F0 CF C9 6F 00 80 05
03 27 44 FD 93 07 20 00 63 10 F7 02 83 27 84 FD
83 97 07 00 23 2E F4 FC B7 17 00 00 13 85 87 EC
EF F0 CF C3 6F 00 00 03 03 27 44 FD 93 07 40 00
83 97 07 00 23 2E F4 FC B7 17 00 00 13 85 47 E4
EF F0 4F C7 6F 00 00 03 03 27 44 FD 93 07 40 00
63 10 F7 02 83 27 84 FD 83 A7 07 00 23 2E F4 FC
B7 17 00 00 13 85 07 ED EF F0 4F C1 6F 00 80 00
EF F0 DF CE 03 27 44 FD 93 07 10 00 63 0E F7 00
B7 17 00 00 13 85 C7 E4 EF F0 CF C4 6F 00 80 00
EF F0 5F D2 03 27 44 FD 93 07 10 00 63 0E F7 00
03 27 44 FD 93 07 20 00 63 08 F7 00 03 27 44 FD
93 07 40 00 63 1C F7 0A 83 27 84 FD 13 89 07 00
93 07 40 00 63 10 F7 0C 83 27 84 FD 13 89 07 00
93 D7 F7 41 93 89 07 00 93 07 04 F9 13 07 00 03
93 06 80 00 93 05 09 00 13 86 09 00 13 85 07 00
EF F0 0F E8 93 07 04 F9 13 85 07 00 EF F0 0F BB
B7 17 00 00 13 85 87 ED EF F0 4F BA 93 07 04 F9
83 25 C4 FD 13 85 07 00 EF F0 4F CD 93 07 04 F9
13 85 07 00 EF F0 8F B8 B7 17 00 00 13 85 C7 ED
EF F0 CF B7 83 27 C4 FD 13 8A 07 00 93 D7 F7 41
EF F0 8F EB 93 07 04 F9 13 85 07 00 EF F0 8F BE
B7 17 00 00 13 85 47 E5 EF F0 CF BD 93 07 04 F9
83 25 C4 FD 13 85 07 00 EF F0 CF D0 93 07 04 F9
13 85 07 00 EF F0 0F BC B7 17 00 00 13 85 87 E5
EF F0 4F BB 83 27 C4 FD 13 8A 07 00 93 D7 F7 41
93 8A 07 00 83 27 44 FD 93 96 17 00 93 07 04 F9
13 07 00 03 93 05 0A 00 13 86 0A 00 13 85 07 00
EF F0 0F E1 93 07 04 F9 13 85 07 00 EF F0 0F B4
B7 17 00 00 13 85 07 EE EF F0 4F B3 13 00 00 00
EF F0 4F 9D 93 07 05 00 E3 8C 07 FE 6F F0 5F CA
@00000E48
EF F0 8F E4 93 07 04 F9 13 85 07 00 EF F0 8F B7
B7 17 00 00 13 85 C7 E5 EF F0 CF B6 6F 00 80 00
EF F0 5F C4 13 00 00 00 EF F0 4F A0 93 07 05 00
E3 8C 07 FE 6F F0 DF C9
@00000E18
20 20 00 00 20 20 20 00 20 00 00 00 2D 20 00 00
20 20 7C 00 7C 0A 00 00 0A 0D 00 00 20 20 64 20
3C 61 64 64 72 3E 20 0A 00 00 00 00 20 20 62 20
3C 62 61 75 64 72 61 74 65 3E 20 0A 00 00 00 00
20 20 72 20 3C 61 64 64 72 3E 20 3C 77 69 64 74
68 3E 0A 00 20 20 77 20 3C 61 64 64 72 3E 20 3C
76 61 6C 75 65 3E 20 3C 77 69 64 74 68 3E 0A 00
3E 3E 00 00 0A 0D 3A 00 63 68 61 72 20 40 00 00
73 68 6F 72 74 20 40 00 69 6E 74 20 40 00 00 00
20 3D 20 00 28 00 00 00 29 0A 0D 00
@00000EE4
20 20 7C 00 7C 0A 00 00 0A 0D 00 00 3E 3E 00 00
0A 0D 3A 00 63 68 61 72 20 40 00 00 73 68 6F 72
74 20 40 00 69 6E 74 20 40 00 00 00 20 3D 20 00
28 00 00 00 29 0A 0D 00
@00000E60
00 01 00 F0
@00000EE8
@00000E64
01 00 00 00
......@@ -10,7 +10,7 @@ ELF Header:
Version: 0x1
Entry point address: 0x0
Start of program headers: 52 (bytes into file)
Start of section headers: 9044 (bytes into file)
Start of section headers: 8912 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
......@@ -34,17 +34,17 @@ Section Headers:
[10] .text._s2d PROGBITS 000005d0 0015d0 0000fc 00 AX 0 0 4
[11] .text._s2h PROGBITS 000006cc 0016cc 000138 00 AX 0 0 4
[12] .text.dispmem PROGBITS 00000804 001804 000240 00 AX 0 0 4
[13] .text.printhelp PROGBITS 00000a44 001a44 000054 00 AX 0 0 4
[14] .text.main PROGBITS 00000a98 001a98 0003b0 00 AX 0 0 4
[15] .rodata PROGBITS 00000e48 001e48 00009c 00 A 0 0 4
[16] .sdata._uartaddr PROGBITS 00000ee4 001ee4 000004 00 WA 0 0 4
[17] .sdata.displ[...] PROGBITS 00000ee8 001ee8 000004 00 WA 0 0 4
[18] .sbss NOBITS 00000eec 001eec 000004 00 WA 0 0 4
[19] .comment PROGBITS 00000000 001eec 000012 01 MS 0 0 1
[20] .riscv.attributes RISCV_ATTRIBUTE 00000000 001efe 000021 00 0 0 1
[21] .symtab SYMTAB 00000000 001f20 000280 10 22 37 4
[22] .strtab STRTAB 00000000 0021a0 000097 00 0 0 1
[23] .shstrtab STRTAB 00000000 002237 00011a 00 0 0 1
[13] .text.printhelp PROGBITS 00000a44 001a44 00001c 00 AX 0 0 4
[14] .text.main PROGBITS 00000a60 001a60 0003b8 00 AX 0 0 4
[15] .rodata PROGBITS 00000e18 001e18 000048 00 A 0 0 4
[16] .sdata._uartaddr PROGBITS 00000e60 001e60 000004 00 WA 0 0 4
[17] .sdata.displ[...] PROGBITS 00000e64 001e64 000004 00 WA 0 0 4
[18] .sbss NOBITS 00000e68 001e68 000004 00 WA 0 0 4
[19] .comment PROGBITS 00000000 001e68 000012 01 MS 0 0 1
[20] .riscv.attributes RISCV_ATTRIBUTE 00000000 001e7a 000021 00 0 0 1
[21] .symtab SYMTAB 00000000 001e9c 000280 10 22 37 4
[22] .strtab STRTAB 00000000 00211c 000097 00 0 0 1
[23] .shstrtab STRTAB 00000000 0021b3 00011a 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
L (link order), O (extra OS processing required), G (group), T (TLS),
......@@ -55,7 +55,7 @@ There are no section groups in this file.
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x001000 0x00000000 0x00000000 0x00eec 0x00ef0 RWE 0x1000
LOAD 0x001000 0x00000000 0x00000000 0x00e68 0x00e6c RWE 0x1000
Section to Segment mapping:
Segment Sections...
......@@ -83,16 +83,16 @@ Symbol table '.symtab' contains 40 entries:
11: 000006cc 0 SECTION LOCAL DEFAULT 11 .text._s2h
12: 00000804 0 SECTION LOCAL DEFAULT 12 .text.dispmem
13: 00000a44 0 SECTION LOCAL DEFAULT 13 .text.printhelp
14: 00000a98 0 SECTION LOCAL DEFAULT 14 .text.main
15: 00000e48 0 SECTION LOCAL DEFAULT 15 .rodata
16: 00000ee4 0 SECTION LOCAL DEFAULT 16 .sdata._uartaddr
17: 00000ee8 0 SECTION LOCAL DEFAULT 17 .sdata.displayaddr
18: 00000eec 0 SECTION LOCAL DEFAULT 18 .sbss
14: 00000a60 0 SECTION LOCAL DEFAULT 14 .text.main
15: 00000e18 0 SECTION LOCAL DEFAULT 15 .rodata
16: 00000e60 0 SECTION LOCAL DEFAULT 16 .sdata._uartaddr
17: 00000e64 0 SECTION LOCAL DEFAULT 17 .sdata.displayaddr
18: 00000e68 0 SECTION LOCAL DEFAULT 18 .sbss
19: 00000000 0 SECTION LOCAL DEFAULT 19 .comment
20: 00000000 0 SECTION LOCAL DEFAULT 20 .riscv.attributes
21: 00000000 0 FILE LOCAL DEFAULT ABS console.c
22: 00000ee4 4 OBJECT LOCAL DEFAULT 16 _uartaddr
23: 00000eec 4 OBJECT LOCAL DEFAULT 18 _uartstate
22: 00000e60 4 OBJECT LOCAL DEFAULT 16 _uartaddr
23: 00000e68 4 OBJECT LOCAL DEFAULT 18 _uartstate
24: 0000000c 72 FUNC LOCAL DEFAULT 2 _canputchar
25: 00000054 76 FUNC LOCAL DEFAULT 3 _haschar
26: 000000a0 104 FUNC LOCAL DEFAULT 4 _putchar
......@@ -103,12 +103,12 @@ Symbol table '.symtab' contains 40 entries:
31: 00000428 424 FUNC LOCAL DEFAULT 9 _h2s
32: 000005d0 252 FUNC LOCAL DEFAULT 10 _s2d
33: 000006cc 312 FUNC LOCAL DEFAULT 11 _s2h
34: 00000ee8 4 OBJECT LOCAL DEFAULT 17 displayaddr
34: 00000e64 4 OBJECT LOCAL DEFAULT 17 displayaddr
35: 00000804 576 FUNC LOCAL DEFAULT 12 dispmem
36: 00000a44 84 FUNC LOCAL DEFAULT 13 printhelp
36: 00000a44 28 FUNC LOCAL DEFAULT 13 printhelp
37: 00000000 12 FUNC GLOBAL DEFAULT 1 __start
38: 00000a98 944 FUNC GLOBAL DEFAULT 14 main
39: 00000ef0 0 NOTYPE GLOBAL DEFAULT 18 _end
38: 00000a60 952 FUNC GLOBAL DEFAULT 14 main
39: 00000e6c 0 NOTYPE GLOBAL DEFAULT 18 _end
No version information found in this file.
Attribute Section: riscv
......
......@@ -90,7 +90,7 @@ module ram4kB (
altsyncram_component.byte_size = 8,
altsyncram_component.clock_enable_input_a = "BYPASS",
altsyncram_component.clock_enable_output_a = "BYPASS",
altsyncram_component.init_file = "../../../test_code/test.mif",
altsyncram_component.init_file = "../test_code/test.mif",
altsyncram_component.intended_device_family = "Cyclone V",
altsyncram_component.lpm_hint = "ENABLE_RUNTIME_MOD=NO",
altsyncram_component.lpm_type = "altsyncram",
......@@ -129,7 +129,7 @@ endmodule
// Retrieval info: PRIVATE: JTAG_ENABLED NUMERIC "0"
// Retrieval info: PRIVATE: JTAG_ID STRING "NONE"
// Retrieval info: PRIVATE: MAXIMUM_DEPTH NUMERIC "0"
// Retrieval info: PRIVATE: MIFfilename STRING "../../../test_code/test.mif"
// Retrieval info: PRIVATE: MIFfilename STRING "../test_code/test.mif"
// Retrieval info: PRIVATE: NUMWORDS_A NUMERIC "1024"
// Retrieval info: PRIVATE: RAM_BLOCK_TYPE NUMERIC "0"
// Retrieval info: PRIVATE: READ_DURING_WRITE_MODE_PORT_A NUMERIC "3"
......@@ -147,7 +147,7 @@ endmodule
// Retrieval info: CONSTANT: BYTE_SIZE NUMERIC "8"
// Retrieval info: CONSTANT: CLOCK_ENABLE_INPUT_A STRING "BYPASS"
// Retrieval info: CONSTANT: CLOCK_ENABLE_OUTPUT_A STRING "BYPASS"
// Retrieval info: CONSTANT: INIT_FILE STRING "../../../test_code/test.mif"
// Retrieval info: CONSTANT: INIT_FILE STRING "../test_code/test.mif"
// Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone V"
// Retrieval info: CONSTANT: LPM_HINT STRING "ENABLE_RUNTIME_MOD=NO"
// Retrieval info: CONSTANT: LPM_TYPE STRING "altsyncram"
......
......@@ -78,7 +78,7 @@ endmodule
// Retrieval info: PRIVATE: JTAG_ENABLED NUMERIC "0"
// Retrieval info: PRIVATE: JTAG_ID STRING "NONE"
// Retrieval info: PRIVATE: MAXIMUM_DEPTH NUMERIC "0"
// Retrieval info: PRIVATE: MIFfilename STRING "../../../test_code/test.mif"
// Retrieval info: PRIVATE: MIFfilename STRING "../test_code/test.mif"
// Retrieval info: PRIVATE: NUMWORDS_A NUMERIC "1024"
// Retrieval info: PRIVATE: RAM_BLOCK_TYPE NUMERIC "0"
// Retrieval info: PRIVATE: READ_DURING_WRITE_MODE_PORT_A NUMERIC "3"
......@@ -96,7 +96,7 @@ endmodule
// Retrieval info: CONSTANT: BYTE_SIZE NUMERIC "8"
// Retrieval info: CONSTANT: CLOCK_ENABLE_INPUT_A STRING "BYPASS"
// Retrieval info: CONSTANT: CLOCK_ENABLE_OUTPUT_A STRING "BYPASS"
// Retrieval info: CONSTANT: INIT_FILE STRING "../../../test_code/test.mif"
// Retrieval info: CONSTANT: INIT_FILE STRING "../test_code/test.mif"
// Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone V"
// Retrieval info: CONSTANT: LPM_HINT STRING "ENABLE_RUNTIME_MOD=NO"
// Retrieval info: CONSTANT: LPM_TYPE STRING "altsyncram"
......
......@@ -107,7 +107,7 @@ module top(input wClk, nwReset);
assign bReadData =
((bReadAddr_out & 32'hffffff00) == 32'hf0000000) ? bReadDataKey : (
((bReadAddr_out & 32'hff000000) == 32'h00000000) ? bReadDataRam : (32'hffffffff)
((bReadAddr_out & 32'hff000000) == 32'h00000000) ? bReadDataRam : (32'h0)
);
wire [29:0] ramaddr;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册