177:
LatticeMico32 is licensed under a free (IP) core license. This means that the Mico32 is not restricted to
Lattice FPGAs, and can be legally used on any host architecture (FPGA,
706:
222:
32 general purpose registers (R0 is typically set to zero by convention, however R0 is a standard register and other values may be assigned to it if so desired.)
834:
428:
369:
857:
178:
1035:
1005:
699:
279:
879:
174:, which means the instruction and data buses are separate. Bus arbitration logic can be used to combine the two buses, if desired.
827:
437:
421:
159:
68:
1020:
1385:
1070:
946:
867:
692:
167:
1065:
820:
414:
231:
Optional configurable caches (direct-mapped or 2-way set-associative, with a variety of cache sizes and arrangements)
303:
260:(GCC) – C/C++ compiler; LatticeMico32 support is added in GCC 4.5.0, patches are available for support in GCC 4.4.0
884:
843:
791:
95:
1307:
1040:
926:
909:
894:
889:
138:
1284:
761:
491:
257:
238:
219:
32-bit fixed-size instructions (all instructions are 32 bits, including jump, call and branch instructions.)
1225:
1111:
665:
204:
are available as source-code, allowing third parties to implement changes to the processor architecture.
1235:
1126:
1116:
936:
406:
163:
63:
28:
1299:
1246:
1131:
1025:
931:
801:
612:
496:
171:
1344:
1200:
921:
899:
771:
715:
530:
1220:
1136:
556:
275:
131:
350:
1151:
993:
515:
1015:
862:
641:
400:
329:
313:
153:
38:
193:
FPGAs, in addition to the
Lattice Semiconductor parts the LatticeMico32 was developed for.
1254:
486:
394:
85:
78:
1356:
796:
651:
622:
478:
156:
1379:
1327:
1184:
1106:
988:
462:
457:
241:
memory interfaces (one read-only instruction bus, one read-write data/peripheral bus)
194:
266:– Assembler, linker, and binary utilities; supports LatticeMico32 since version 2.19
1269:
1259:
904:
736:
599:
506:
291:
269:
263:
1055:
964:
872:
617:
594:
376:
1274:
1205:
1174:
981:
756:
636:
632:
569:
309:
105:
1339:
1334:
1317:
1279:
1086:
959:
786:
781:
751:
627:
589:
573:
525:
325:
201:
655:
295:
1322:
1215:
1146:
1091:
1050:
1045:
1010:
976:
776:
731:
673:
520:
501:
481:
1289:
1179:
1141:
1000:
954:
766:
669:
660:
561:
452:
684:
1351:
1210:
1030:
914:
812:
646:
566:
546:
537:
390:
386:
380:
285:
190:
186:
1121:
1101:
1060:
607:
604:
551:
299:
1264:
971:
746:
541:
533:
228:
Configurable instruction set including user defined instructions
182:
816:
688:
410:
1096:
726:
383:, uCLinux port to Milkymist SoC, that uses LatticeMico32
185:). It is possible to embed a LatticeMico32 core into
1298:
1245:
1234:
1193:
1167:
1160:
1079:
945:
850:
582:
471:
445:
137:
130:
122:
114:
104:
94:
84:
74:
62:
44:
34:
24:
828:
700:
422:
8:
393:, LatticeMico32 emulator in JavaScript, cf.
19:
1242:
1164:
835:
821:
813:
707:
693:
685:
429:
415:
407:
403:(OSEK/VDX API) porting for LatticeMico32
342:
179:application-specific integrated circuit
18:
181:(ASIC), or software emulation, e.g.,
7:
280:Integrated development environment
14:
200:The CPU core and the development
438:Reduced instruction set computer
160:reduced instruction set computer
351:"AMD x86 SMU firmware analysis"
168:field-programmable gate arrays
1:
16:Microprocessor RISC soft core
225:Up to 32 external interrupts
213:RISC load/store architecture
304:real-time operating systems
234:Optional pipelined memories
50:; 18 years ago
1402:
722:
927:Circuit underutilization
910:Reconfigurable computing
258:GNU Compiler Collection
328:– LatticeMico32-based
162:(RISC) soft core from
937:Hardware acceleration
164:Lattice Semiconductor
29:Lattice Semiconductor
1386:Soft microprocessors
1132:Microchip Technology
932:High-level synthesis
440:(RISC) architectures
197:uses LatticeMico32.
172:Harvard architecture
1201:Intel Quartus Prime
922:Soft microprocessor
772:OpenPower Microwatt
716:Soft microprocessor
170:(FPGAs). It uses a
21:
844:Programmable logic
100:Compare and branch
1373:
1372:
1369:
1368:
1365:
1364:
1152:Texas Instruments
810:
809:
682:
681:
244:Memory mapped I/O
147:
146:
126:Yes, royalty free
1393:
1243:
1165:
837:
830:
823:
814:
709:
702:
695:
686:
431:
424:
417:
408:
401:ERIKA Enterprise
373:
372:
370:Official website
355:
354:
347:
330:system on a chip
314:operating system
272:(GDB) – Debugger
247:6 stage pipeline
216:32-bit data path
58:
56:
51:
22:
1401:
1400:
1396:
1395:
1394:
1392:
1391:
1390:
1376:
1375:
1374:
1361:
1294:
1237:
1230:
1189:
1156:
1075:
941:
846:
841:
811:
806:
718:
713:
683:
678:
578:
467:
441:
435:
395:Fabrice Bellard
377:linux-milkymist
368:
367:
364:
359:
358:
349:
348:
344:
339:
322:
254:
210:
139:General-purpose
54:
52:
49:
17:
12:
11:
5:
1399:
1397:
1389:
1388:
1378:
1377:
1371:
1370:
1367:
1366:
1363:
1362:
1360:
1359:
1354:
1349:
1348:
1347:
1342:
1332:
1331:
1330:
1320:
1315:
1310:
1304:
1302:
1296:
1295:
1293:
1292:
1287:
1282:
1277:
1272:
1267:
1262:
1257:
1251:
1249:
1240:
1232:
1231:
1229:
1228:
1223:
1218:
1213:
1208:
1203:
1197:
1195:
1191:
1190:
1188:
1187:
1182:
1177:
1171:
1169:
1162:
1158:
1157:
1155:
1154:
1149:
1144:
1139:
1134:
1129:
1124:
1119:
1114:
1109:
1104:
1099:
1094:
1089:
1083:
1081:
1077:
1076:
1074:
1073:
1068:
1063:
1058:
1053:
1048:
1043:
1038:
1033:
1028:
1023:
1018:
1013:
1008:
1003:
998:
997:
996:
986:
985:
984:
979:
969:
968:
967:
962:
951:
949:
943:
942:
940:
939:
934:
929:
924:
919:
918:
917:
907:
902:
897:
892:
887:
882:
877:
876:
875:
865:
860:
854:
852:
848:
847:
842:
840:
839:
832:
825:
817:
808:
807:
805:
804:
799:
794:
789:
784:
779:
774:
769:
764:
759:
754:
749:
744:
739:
734:
729:
723:
720:
719:
714:
712:
711:
704:
697:
689:
680:
679:
677:
676:
663:
658:
652:Motorola 88000
649:
644:
639:
630:
625:
620:
615:
610:
602:
597:
592:
586:
584:
580:
579:
577:
576:
564:
559:
554:
549:
544:
528:
523:
518:
513:
504:
499:
494:
489:
484:
479:Analog Devices
475:
473:
469:
468:
466:
465:
460:
455:
449:
447:
443:
442:
436:
434:
433:
426:
419:
411:
405:
404:
398:
384:
374:
363:
362:External links
360:
357:
356:
341:
340:
338:
335:
334:
333:
321:
318:
317:
316:
307:
289:
283:
273:
267:
261:
253:
250:
249:
248:
245:
242:
235:
232:
229:
226:
223:
220:
217:
214:
209:
206:
166:optimized for
157:microprocessor
145:
144:
141:
135:
134:
128:
127:
124:
120:
119:
116:
112:
111:
108:
102:
101:
98:
92:
91:
88:
82:
81:
76:
72:
71:
66:
60:
59:
46:
42:
41:
36:
32:
31:
26:
15:
13:
10:
9:
6:
4:
3:
2:
1398:
1387:
1384:
1383:
1381:
1358:
1355:
1353:
1350:
1346:
1343:
1341:
1338:
1337:
1336:
1333:
1329:
1326:
1325:
1324:
1321:
1319:
1316:
1314:
1313:LatticeMico32
1311:
1309:
1306:
1305:
1303:
1301:
1297:
1291:
1288:
1286:
1283:
1281:
1278:
1276:
1273:
1271:
1268:
1266:
1263:
1261:
1258:
1256:
1253:
1252:
1250:
1248:
1244:
1241:
1239:
1233:
1227:
1224:
1222:
1219:
1217:
1214:
1212:
1209:
1207:
1204:
1202:
1199:
1198:
1196:
1192:
1186:
1183:
1181:
1178:
1176:
1173:
1172:
1170:
1166:
1163:
1159:
1153:
1150:
1148:
1145:
1143:
1140:
1138:
1135:
1133:
1130:
1128:
1125:
1123:
1120:
1118:
1115:
1113:
1110:
1108:
1105:
1103:
1100:
1098:
1095:
1093:
1090:
1088:
1085:
1084:
1082:
1078:
1072:
1069:
1067:
1064:
1062:
1059:
1057:
1054:
1052:
1049:
1047:
1044:
1042:
1039:
1037:
1034:
1032:
1029:
1027:
1024:
1022:
1019:
1017:
1014:
1012:
1009:
1007:
1004:
1002:
999:
995:
992:
991:
990:
989:SystemVerilog
987:
983:
980:
978:
975:
974:
973:
970:
966:
963:
961:
958:
957:
956:
953:
952:
950:
948:
944:
938:
935:
933:
930:
928:
925:
923:
920:
916:
913:
912:
911:
908:
906:
903:
901:
898:
896:
893:
891:
888:
886:
883:
881:
878:
874:
871:
870:
869:
866:
864:
861:
859:
856:
855:
853:
849:
845:
838:
833:
831:
826:
824:
819:
818:
815:
803:
800:
798:
795:
793:
790:
788:
785:
783:
780:
778:
775:
773:
770:
768:
765:
763:
760:
758:
755:
753:
750:
748:
745:
743:
742:LatticeMico32
740:
738:
735:
733:
730:
728:
725:
724:
721:
717:
710:
705:
703:
698:
696:
691:
690:
687:
675:
671:
667:
664:
662:
659:
657:
653:
650:
648:
645:
643:
640:
638:
634:
631:
629:
626:
624:
621:
619:
616:
614:
611:
609:
606:
603:
601:
598:
596:
593:
591:
588:
587:
585:
581:
575:
571:
568:
565:
563:
560:
558:
555:
553:
550:
548:
545:
543:
539:
535:
532:
529:
527:
524:
522:
519:
517:
514:
512:
511:LatticeMico32
508:
505:
503:
500:
498:
495:
493:
490:
488:
485:
483:
480:
477:
476:
474:
470:
464:
463:Stanford MIPS
461:
459:
458:Berkeley RISC
456:
454:
451:
450:
448:
444:
439:
432:
427:
425:
420:
418:
413:
412:
409:
402:
399:
396:
392:
388:
385:
382:
378:
375:
371:
366:
365:
361:
353:. 2014-12-27.
352:
346:
343:
336:
331:
327:
324:
323:
319:
315:
311:
308:
305:
301:
297:
293:
290:
287:
284:
281:
277:
274:
271:
268:
265:
262:
259:
256:
255:
251:
246:
243:
240:
236:
233:
230:
227:
224:
221:
218:
215:
212:
211:
207:
205:
203:
198:
196:
195:AMD PowerTune
192:
188:
184:
180:
175:
173:
169:
165:
161:
158:
155:
151:
150:LatticeMico32
142:
140:
136:
133:
129:
125:
121:
117:
113:
109:
107:
103:
99:
97:
93:
89:
87:
83:
80:
77:
73:
70:
67:
65:
61:
47:
43:
40:
37:
33:
30:
27:
23:
20:LatticeMico32
1312:
1270:LatticeMico8
1260:ARM Cortex-M
1236:Intellectual
741:
737:LatticeMico8
600:Apollo PRISM
583:Discontinued
510:
507:LatticeMico8
345:
270:GNU Debugger
199:
176:
149:
148:
118:User-defined
90:Fixed 32-bit
1300:Open-source
1247:Proprietary
1056:Flow to HDL
873:Logic block
595:AMD Am29000
288:– C library
1275:MicroBlaze
1226:Simulators
1206:Xilinx ISE
757:MicroBlaze
633:Intel i860
570:MicroBlaze
397:'s jslinux
337:References
115:Extensions
106:Endianness
79:Load–store
45:Introduced
1345:Microwatt
1340:Libre-SOC
1335:Power ISA
1318:OpenCores
1280:PicoBlaze
1087:Accellera
1080:Companies
947:Languages
787:PicoBlaze
782:OpenSPARC
752:Libre-SOC
628:DEC PRISM
574:PicoBlaze
526:Power ISA
326:Milkymist
252:Toolchain
202:toolchain
132:Registers
96:Branching
1380:Category
1323:OpenRISC
1238:property
1216:ModelSim
1194:Software
1168:Hardware
1161:Products
1147:Synopsys
1117:Infineon
1092:Achronix
1051:C to HDL
1046:OpenVera
1011:Handel-C
851:Concepts
777:OpenRISC
732:eSi-RISC
521:OpenRISC
502:eSi-RISC
482:Blackfin
320:See also
264:Binutils
239:Wishbone
208:Features
86:Encoding
25:Designer
1290:Nios II
1180:Stratix
1142:Siemens
1127:Lattice
1112:Cadence
1001:SystemC
955:Verilog
767:Nios II
670:PowerPC
661:PA-RISC
613:Clipper
562:Unicore
531:Renesas
453:IBM 801
446:Origins
310:ÎĽClinux
292:ÎĽCos-II
276:Eclipse
53: (
1352:RISC-V
1211:Vivado
1185:Virtex
1071:Chisel
1031:PALASM
915:Xputer
656:M·CORE
647:MIPS-X
567:Xilinx
557:Sunway
547:RISC-V
538:SuperH
472:Active
391:GitHub
387:jslm32
381:GitHub
306:(RTOS)
296:ÎĽITRON
286:Newlib
191:Altera
187:Xilinx
154:32-bit
64:Design
39:32-bit
1122:Intel
1102:Aldec
1061:MyHDL
982:VITAL
792:RISC5
666:POWER
623:CRISP
608:AVR32
605:Atmel
590:Alpha
552:SPARC
332:(SoC)
300:RTEMS
282:(IDE)
237:Dual
152:is a
1328:1200
1285:Nios
1265:LEON
1066:ELLA
1041:CUPL
1036:ABEL
1016:Lola
1006:AHDL
972:VHDL
905:PSoC
885:EPLD
880:CPLD
868:FPGA
858:ASIC
762:Nios
747:LEON
674:ROMP
642:META
637:i960
618:CR16
542:V850
534:M32R
516:MIPS
189:and
183:QEMU
123:Open
75:Type
69:RISC
55:2006
48:2006
35:Bits
1357:Zet
1308:JOP
1255:ARC
1221:VTR
1175:iCE
1137:NXP
1107:Arm
1097:AMD
1026:UPF
1021:PSL
994:DPI
977:AMS
965:AMS
900:GAL
895:PAL
890:PLA
863:SoC
802:ZPU
797:Zet
727:DLX
497:AVR
492:ARM
487:ARC
389:on
379:on
110:Big
1382::
672:,
668:,
654:,
635:,
572:,
540:,
536:,
509:,
312:–
302:-
298:,
294:,
278:–
143:32
960:A
836:e
829:t
822:v
708:e
701:t
694:v
430:e
423:t
416:v
57:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.