90 likes | 226 Views
This resource provides vital help for EE365 Digital Circuit Design students at Clarkson University, focusing on homework #4. It emphasizes the importance of proper bit order and provides insight on defining more complex devices and circuits using VHDL. Understanding the concatenation of bits and utilizing relational operations are key components. Students are encouraged to create functional designs with MSI devices, without excessive circuit minimization, while considering design complexity in their grading. Get ready for a more challenging project!
E N D
EE365 Adv. Digital Circuit Design Clarkson University
HW#4 Help • Be aware of proper Bit order • A A ? Not Necessarily • MSB MSB • LSB LSB Rissacher EE365
HW#4 Help Device Circuit Description Rissacher EE365
HW#4 Help MSB Rissacher EE365
More VHDL • Projects will get more complex (devices and circuits will be more difficult to define) • In Proj #3, don’t worry about “minimization” of circuit, just make it work with MSI devices… there may be more than one way to create a successful device • However, complexity of your design will be considered in the grade (overly large circuits will lose some points) • May need to learn some more VHDL syntax
VHDL: Concatenation Given several bits (e.g., A0, A1, A2), they can be concatenated using the ‘&’ operator For example: A0 = ‘1’ A1 = ‘0’ A2 = ‘0’ (A0 & A1 & A2) = ‘100’
VHDL: Concatenation Concatenated terms can be used for relational operations For example: F <= ‘1’ after 20ns when (A0 & A1 & A2) = ‘100’ …
VHDL: More Complex Devices • MSI devices are more complex and will be harder to define. • The may have several inputs and several outputs • For each output, use a separate concurrent statement • For example: • F <= ‘1’ after 20ns when (A0 & A1 & A2) = ‘100’ else ‘0’ after 20 ns; • G <= ‘1’ after 40ns when (A0 & A1 & A2) > ‘000’ else ‘0’ after 40 ns;
VHDL: More Complex Devices • May need very long statements to define all of the possibilities that drive a certain output • For example: • F <= ‘1’ after 20 ns when (A=‘1’) or (B=‘1’) or (C=‘1’) or ((D=‘1’)and(EN_L=‘0’)) or (BYP_L = ‘0’) else ‘0’ after 60 ns; • (And they can get much worse)