PAI | Department of Informatics | Faculty of Science | University of Fribourg | Switzerland Serie 8. LogicWorks: First Contact Computer Architecture, Bachelor Course, 1. Semester, Prof. Béat Hirsbrunner, Fulvio Frapolli Due on 10. January 2006 Pre-requisites: Read the “Circuit packaging and parts libraries” tutorial Solutions: Solutions for these assignments must be sent back (upload page on the course website) as a ZIP archive containing a PDF with the answers, as well as all LogicWorks files you create (own libraries *.clf and circuit schematics *.cct) so that your solution can be verified. Exercise 1: Introduction Design the 3-bit counter circuit and package it as explained in “Circuit packaging and parts libraries” tutorial; also create a test circuit. Exercise 2: 7-Segments display decoder Introduction: A 7-segments display decoder is a circuit that allows to represent 4-bit values as hexadecimal symbols on a 7-segments display (Figure 1): for example, with input 0100 the display enables segments b,c,f and g so that a 4 is displayed. Figure 1. 7-Seg Disp in LogicWorks 5 Figure 2. Segment encoding of possible outputs 1/2 PAI | Department of Informatics | Faculty of Science | University of Fribourg | Switzerland The segments of the display as well as the possible outputs are shown in Figure 2. The decoder is a combinatorial circuit with four inputs i1, i2, i3 and i4 and seven outputs sa,.....sg each corresponding to a segment of the display. Assignment: The goal of this exercise is to improve your circuit synthesis and design techniques by creating a 7-segments display decoder. Synthesis 1. Write the truth table for the seven output functions sa,.....sg of the decoder 2. Give the algebraic expression for every output function sa,.....sg 3. Minimize the expressions of b) by mean of Karnaugh tables. Design 1. Implement and test the decoder in LogicWorks (use an Hex keyboard to generate inputs) 2. Package the decoder into a new part. 3. Create a simple test circuit that makes use of the packaged decoder. Tips To avoid confusion with too many wires in your design make use of buses: use the tool to draw a bus, then right-click on it and select Breakout to specify the connections it drives. *** IMPORTANT THE MIDTERM TEST IS ON 21 DECEMBER 2005 *** 2/2