Object-Oriented Programming of Integrated Circuits New Programming Architecture Is Revolutionizing How Programmers Control Hardware Circuitry
Total Page:16
File Type:pdf, Size:1020Kb
Gary F. Templeton Object-Oriented Programming of Integrated Circuits New programming architecture is revolutionizing how programmers control hardware circuitry. he promise of field pro- Camosun University in Canada, fier, oscillator, timer, counter, grammable integrated cir- and Purdue and Princeton Uni- computer memory, or micro- Tcuits (FPIC) is that they versities in the U.S. OOPIC has processor, have made it possible may someday allow end users to spawned at least one company, to program and revise the logic tailor hardware devices to their Magnevation (www.magneva- portion of integrated circuits after needs. But developing FPICs has tion.com/), as well as collabora- manufacture. Depending on the traditionally been arduous, and procedural programming inter- faces have hmited the expansion ofthe installed base of ICs [2]. Enter Scott Savage, founder and president of Savage Innovations (www.oopic.com), who has developed the first object-ori- ented methodology for encod- ing FPICs. The new programming architecture, OOPIC Programming Interface Programmable Hardware named OOPIC (Object-Ori- OOPIC Controller Device ented Programmable Integrated Circuits), is revolutionizing how programmers and the applica- tions between Savage Innovations The structure of the OOPIC development tions they develop control hard- environment. and several others. ware circuitry. The general-purpose OOPIC device The integrated circuit, one of application, FPICs return a series facilitates hardware programming the most technologically influen- of analog or digital values used to using common OO program- tial innovations ofthe twentieth control hardware. FPICs are val- ming languages (Visual Basic, century 13], is used primarily to ued by users, who include hard- Java, or C). The technique, develop analog and digital logic ware programmers in which integrates modern gates and microprocessors. These telecommunications, industrial approaches from industrial, com- circuits have gready expanded the automation, robotics, computing, puter, electrical, and mechanical field of computer science and the research, and instrumentation, engineering, is already being functionality of a wide spectrum because they are customizable to a taught in a handful of universi- of consumer products. FPICs, specific application and facilitate ties internationally, such as which typically control hardware adaptability through reprogram- by functioning eithet as an ampli- ming. FPICs can also be repro- COMMUNICATIONSOFTHEACM March 1003/Vol 46, No 3 IOS Technical Opinion grammed remotely; which greatly nector, a 40-pin I/O connector, hardware objects that are quite reduces network maintenance memory sockets, network connec- different structurally. This func- costs. Due to their portability, tors, and a prototyping area. tional similarity between struc- FPlCs have expanded the Optional peripheral hardware, turally dissimilar hardware population of developers to non- such as a nonstandard fivc-volt objects makes hardware replace- manutacturers. power cord and source, can be ment much simpler with The OOPICZ programming used to adapt the OOPIC archi- OOPIC. The GUI aspect of environment t)'picaliy involves a tecture to the project. In runtime OOPIC has the potential for microcomputer, the OOPIC mode, an OOPIC can be used as expanding the population of device, the controlled hardware a standalone device with the target FPIC programmers to nonengi- device, connecting cables neers, an effect that has implications for changing (from the microprocessor Maximum Maximum to OOPIC and From Instructions Virtual Circuit the structure of the FPIC OOPIC to the target Architecture Per Second Operations Per market and industry. apparatus), and a power Second Ease of Development. cord and source for Iwo primary features of OOPIC, as illustrated in Basic Stamp ! 0.000 0 OOPIC 2,000 100,000 the OOPIC development the figure on the previ- environment simplify ous page. The OOPIC development of hardware A performance comparison between programming method was created OOPIC I and Basic Stamp 1 architectures. controls. First, the OO environ- so hardware programmers could ment allows systems analysts to capitalize on the inherent apparatus, or it can be connected conceive of complex program- strengths ot OO programming. to external hardware components, ming environment artifacts, such OOPIC uniquely binds hardware computers, and other OOPICs as procedures, data, and hardware circuitry with its software repre- using the T2C network protocol more logically than its procedural sentations. Each programmable created by Philips Semiconductor. predecessors. Examples of logical hardware component has a soft- Relative advantages of the procedures supported in the ware object counterpart in the OOPIC technique over its prede- OOPIC object library are con- OOPIC programming environ- cessors are described here. version functions, clocks, and ment. This includes PPIC-con- Ease of Use, The graphical random number generators. The trolled hardware devices as well as primary contribution of the the hardware elements contained user interface of the OOPIC pro- grammine environment is much OOPIC method is to facilitate on the OOPIC Controller. The traditionally complicated hard- most common FPIC-controlled easier to use than previous meth- ods. For example, encapsulation ware programming with a simple hardware devices are supported by interface. Examples of hardware the OOPIC programming envi- facilitates information hiding, so users are not presented with irrel- circuits supported by the OOPIC ronment. A full version of the object library are DC motors, OOPIC Programming Environ- evant system properties during application use. By encapsulating LCD displays, flame detectors, ment software is downloadable for EEPROMs, serial ports, and key- free from www.oopic.com. programming artifacts, OOPIC uniquely does not require knowl- pads. Manipulating the physical edge of electronics principles or object is a matter of manipulat- Several hardware circuits arc ing a GUI-represented logical integrated into the standard hardware mechanics. Encapsula- tion also allows developers to object, which is done at runtime OOPIC Controller: a five-piii by the user, a program, or programming connector that con- interface with software objects that look and feel very similar, another software object. Control- nects the OOPIC Controller to ling a target hardware device the PC printer port, a power con- but that represent real-world 106 March 2003/Vol. 46. No 3 COMMUNICATIONS OF THE ACM involves changing the properties The OOPIC method incorpo- world events, such as when a non- of its representative object or rates three features that allow stationary robot bumps into a writing code to do the same developers to create functionally wall. Wben such environmental thing at runtime. superior hardware control appli- occurrences trigger changes in Also, the OOPIC platform cations. First, by binding objects, object properties, predefined pro- contains an optional robot control programmers can use the OOPIC cedures can be called. Procedural device that gready simplifies the environment to create virtual cir- events in OOPIC applications can handling of hardware circuitry cuits, which help represent object be triggered by any change in a when developing robotics applica- relationships that involve contin- property. OOPIC naturally facili- tions. OricomTech (www.ori- uous monitoring or updating. tates event-driven programs by comtech.com) recently released Virtual circuits facilitate multi- representing real-world events as the BOT40, a production-levei tasking by running in the back- independent objects. As the appli- motor controller board that con- ground while the human user cation interacts with its environ- tains the most commonly used interacts with other functions. ment, the properties of OOPIC s external hardware components Multitasking represents a major event object change states, which used in hardware programming product advantage of OOPIC may in turn change the program applications. The BOT40 over traditional architectures, such flow. Creating event-driven appli- includes an OOPIC controller as the Basic Stamp. While the cations involves two additional that can be programmed to con- Basic Stamp architecture is faster steps during OOPIC develop- trol the prescribed devices and in performing single tasks, ment. First, analysts should iden- more. It allows rapid development OOPIC represents a paradigm tify the potential events and by novice programmers, who need shift in how hardware program- associated logic paths that exist in not understand even basic elec- mers can work. Savage measures alternative solutions during tronics to program hardware. processing speed in the OOPIC design. Second, the event object and associated methods should be Productivity. The inheritance by virtual circuit operations (VCO), which are instances of added to the application during of object properties within classes programming. and subclasses promises to communication between or improve programmer productiv- within objects. The table appear- The OO aspect of OOPIC ity. Remedial steps in OOPIC ing here illustrates a comparison greatly facilitates a networking application development involve using both measures for the orientation. Using the I2C net- selecting program components OOPIC I and Basic Stamp I working protocol developed by from an existing, standardized hardware versions. Philips Semiconductors, develop- class library. Tbe environment Polymorphism allows