A Digital Circuit Toolbox Verilog Hierarchy • Each design identifier creates a new branch of the hierarchy tree Tristate Signals and Busses • Tristate busses are allowed by most FPGA architectures on devices output pins • If tristate are not allowed, the synthesis may have control to automatically substitutes with MUXes Schematics for Internal Tristate Buffer Design MUX version of Tristate Buffer Design Bidirectional Busses • The signals is divided into two parts: the driver part input part • The two parts are then wired together Bidirectional Busses If/else Priority Encoder • Implied priority with precedence assigned to the first instruction encountered in a begin/end block If/else Priority Encoder Case Priority Encoder • The cases are mutually exclusive and do not overlap State Machines • Use a set of registers, to determine current machine state • Moore style: the output depends only on the state • Mealy style: the output depends on the state and some input signals State Machines State Machines Converting Binary to Gray Code Converting Gray Code to Binary State Assignment • Make a big difference in how efficiently your logic will be synthesize • use parameters, ‘define and ‘ifdef to select between encoding assignments State Assignment • One-hot state assignment means that each state is assigned a single state flip-flop which is active only in the assigned state • One-could state assignment means that a flip-flop is inactive only in the assigned state Adders Half-Adder • The synthesis tool will examine each instance of the + operator and will try to implement the logic with a preoptimized module Half-Adder Full Adder • To turn the half adder into a full adder, we take the output of a half adder and connect it into another half adder Full Adder Full Adder Full Adder Subtractor • Similar to the adder Full-Subtractor Hard-Wired Multipliers • Multiply value by a constant • The multiplication process shifts and adds Generic Multipliers • We must create logic which allows all the shift and adds to be used
© Copyright 2026 Paperzz