Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

In VHDL, what is strongly typed means?

  1. Mar 20, 2013 #1
    In VHDL, what is strongly typed means? ie like VHDL is a strongly typed language etc

    -Devanand T
  2. jcsd
  3. Mar 20, 2013 #2


    User Avatar
    Staff Emeritus
    Science Advisor
    Homework Helper

  4. Mar 20, 2013 #3
    Strongly typed means that the compiler enforces lots of constraints on how different data types can be intermixed and what operations can be performed on them. Compile errors are produced if an attempt is made to mix incompatible data types, or perform operations on improper data types. In contrast, loosely coupled means that one is free to mix data types and the programmer is responsible for knowing how the compiler will interpret the resulting operation.

    Here is a rather extreme example: what happens if I attempt to perform the operation of multiplication on two character string data types? A strongly typed language will produce an error, after all it makes no sense to multiply character strings right?

    On the other hand, a loosely typed language may go ahead and multiply them according to some predetermined rule that the programmer is expected to be aware of. JavaScript can be considered loosely typed in this respect. "12"x"12" will produce the character string "144" while "12"+"12" produces "1212" since + happens to be the concatenation operator for strings.

    Back to VHDL: same idea. I cannot assign a 4-bit variable to an 8-bit register. They are considered incompatible and a compile error will result. Verilog, which is weakly typed, will make the assignment and we developers are fully aware of how the 4-bits will get mapped to the 8-bit register. Same the other way around. If I assign an 8-bit variable to a 4-bit register, Verilog developers know which 4 bits are getting truncated. VHDL programmers will get a compile error.
    Last edited: Mar 20, 2013
  5. Mar 21, 2013 #4
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook