Summary
In this chapter, we learned combinational HDL design. We looked at arrays and how we can use built-in functions to query them. We briefly looked at how data is represented in types as 0, 1, x, and z as well as multiple-driven nets. 2’s complement was discussed, along with signed and unsigned calculations. Part of this discussion touched on concatenation functions. We looked at user-defined and enumerated types as well as functions for automating access to them.
We introduced the concept of functions for design reusability and non-blocking and blocking assignment types. We looked at decision-making using if-then-else
, case
statements, and the conditional operator. We saw how different optimizations can affect functionality and design results. We also touched on structures and unions. We then mentioned latches and the problems they cause, even when they should be safe.
The project should have given you some confidence in how to create logic and test it. In the...