Over a million developers have joined DZone.

DOP on NetBeans: CPU Core for Introductory Hardware Courses

DZone 's Guide to

DOP on NetBeans: CPU Core for Introductory Hardware Courses

· Performance Zone ·
Free Resource

jSimDOP is a plugin for the NetBeans Platform. It simulates the DOP microprocessor. DOP is an educational microprocessor developed at the Czech Technical University in Prague. Click this link to read all about DOP (in PDF), which is described as a simple 16-bit processor core that illustrates the basic principles of computer organization. It can therefore be used in introductory hardware courses, for teaching the basics of computer architecture, especially since DOP's major features are simplicity, together with the availability of an FPGA implementation and a C compiler.

To become a NetBeans Platform Certified Engineer, Lukáš Karas (pictured right) recently integrated a simulation of the DOP microprocessor into the NetBeans Platform. He first followed the training, which was held at the Czech Technical University in Prague, as described in this NetBeans Platform Training Report. Based on the knowledge he gained there, Lukáš began his work on the DOP integration plugin. 

About his experiences with the NetBeans Platform, Lukáš writes: "I was surprised about how simple it is to create new things with the NetBeans Platform. For example, toolbars and TopComponents are easy to modify and create. I also think that the idea of nodes, cookies, and lookups is amazing! Once I receive information about an action, I can get a current node very easily, for example. Programming around documents and project files was fun on this platform."

Here are some screenshots of his plugin. First, here's one that shows how the microassembler source is simulated:

And here is a detail of the the DOP core view:


I'm looking forward to hearing more about this plugin, especially if others are interested in contributing to it. All the sources are available here on SourceForge.


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}