{'fraction_non_alphanumeric': 0.018665158371040724, 'fraction_numerical': 0.0016968325791855204, 'mean_word_length': 5.340501792114695, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Small, Effective Vhdl Subset For The Digital Systems Course

The availability of inexpensive, capable synthesis software tool has a significant impact on the design and implementation of digital systems. Many curriculums, as well as a number of textbooks, have integrated HDL (Hardware Description Language), such as VHDL, and synthesis tool into the introductory digital systems course. VHDL is a very rich language and includes many constructs resembling a conventional programming language, including variables, loop and complex branch structures. These constructs are intended to describe the “behavior” of a circuit, but not its internal implementation. These constructs are frequently abused by students who use them for synthesis. Instead of thinking hardware, some students just describe their design as a C-like program and hope the synthesis software can derive the hardware for them. This usually leads to inefficient, excessively complex implementation. To remedy the problem, we introduce a small, but effective, subset of VHDL for the introductory digital systems course. The constructs in this set have clear mappings to hardware components so that a VHDL description can be easily transformed into a block diagram and vice versa. This approach forces students to be conscious about hardware structure but at the same time let them exercise the modern design practice and take advantage of the synthesis software. The paper is organized as follows: Section 2 provides background information and discusses the use and abuse of VHDL; Section 3 discusses the languages constructs selected for the subset and their hardware implementation; Section 4 illustrates the application of the subset for various circuits and the last section summarizes the paper.