top of page

Three Differentiators of the Spectrum Language over Alternatives

  • gregory41775
  • Mar 5
  • 2 min read

Updated: Aug 12

  1. Spectrum is the only major hardware language that supports both algorithmic and process-level (RTL-like) behavior in the same language.  Both levels of design are seamlessly integrated, allowing the user to decide which level of abstraction is appropriate for a given portion of the design.

  2. Spectrum excels in control-dominated designs with an algorithm scheduler that maximizes performance.  This makes it perfect for performance-constrained design specifications.

  3. Spectrum is an object-oriented language that provides for:

    1. Encapsulation – modules, channels, and domains can define methods instead of simply ports as found in other languages, most notably VHDL and SystemVerilog.  With methods, interfaces to the modules and channels are restricted to prevent improper use of or confusion on how-to-use the components.

    2. Abstraction – details of the workings of a module or channel are hidden from the user of those components.

    3. Polymorphism – modules can use abstract channel ports that are later constrained to more specific uses.  For example, generic COMM_READ and COMM_SEND channels can be used in a generic FIFO definition.   If a FIFO that reads from and writes to a UART interface is desired, more specific UART_READ and UART_SEND channels are used when instantiating the FIFO.  This allows the automatic customization of the FIFO for specific interfaces.

    4. Strong Type Checking – data type checking is performed at compile-time to ensure the compatibility of the sources and sinks of data.  Conversions between data types is accomplished with implicit and explicit conversion methods.


These features of Spectrum reduce the time to develop, code, and debug a design resulting in a faster time-to-market for the user’s products as well as an enjoyable experience developing them.  Also, since fewer lines of code are required as compared to traditional languages, we believe the user could see a reduction in development time by up to 5x.

 
 
 

Recent Posts

See All
Our Purpose and Vision

Purpose: Enable hardware and software engineers and developers to discover and create innovative computer hardware and software, advancing computing technology and improving the lives of people throug

 
 
 
Our Customers

Our customers seek a more efficient and effective way of designing and coding their descriptions of digital hardware targeting FPGAs and ASICs. With the higher level of abstraction provided by the Spe

 
 
 

Comments


bottom of page