upc eetac_1 Bachelor's Degree in Telecommunications Systems and in Network Engineering

Week 1

Week 2: Analysis and design concepts

Week 3


Guided activities #2

[P1 Section B]. Designing combinational circuits. Minimisation of logic functions. PoS and SoP.



Canonical circuits. On the one hand, you can draw the circuits corresponding to canonical equations based on maxterns or minterms (P1 - section B). For example, this is a solution of the Circuit _W (named Circuit_3B ) using the canonical expression sum of minterms.

Minimised circuits. Alternatively, on the other hand, related to the Boolean analysis of circuit equations are the concepts of PoS and SoP, as represented in the P1 Section A - method #3. These important concepts are necessary as well in the P1 section B  to design the simpler Circuit_1 or the Circuit_2 as represented in the  P1 - section B plan.

There is a software that we use to automatically minimise equations: minilog.exe or Logic Friday. Let's run a tutorial demonstration on how the minimiser works to obtain simplified equations from an initial truth table. The interpretation of the output table format will produce the SoP or PoS expressions and their corresponding logic circuits.

This is the plan or procedure to obtain results and complete the project:

1. Project location: L:\CSD\P1\minilog\

2. Find and modify a similar tbl file. For this tutorial, you can choose a text fie from Minilog tutorial page.

3. Run Minilog and simplify using single output mode (SoM), table output format and choose between SoP or PoS. Remember that the SoP solution is a project (a circuit), and the PoS solution is another project (another circuit) that has to be reported in different sheets.

4.  (Edit)--> Equation format. Table format interpretation so that you get the SoP or PoS equations. Be aware that in Minilog doesn't matter if you are working with zeros or ones: a '1' in the output table format always means the input variable and a '0' always means the input variable inverted (not). 

5. Draw the circuits. Check the equation using WolframAlpha or the circuit using Proteus. This is verifying that the circuit that you have designed has the same given initial truth table.

- For example, this is an example solution of the Circuit_1 built using SoP (files).


Once this tutorial finished, try other examples from the Circuit_C, Circuit_K, etc. truth tables. 



Lecture #2

[P1] Design concept: Multiple circuits that satisfy the specifications (truth table): Canonical, SoP, PoS, only NOR, only NAND, etc.

[P2] Standard combinational logic circuits: multiplexers, demultiplexers


Now that you know how to use the minimiser minilog, what is left to finish P1 Section B is to discuss how to build circuits from the same truth table using only-NAND or only -NOR gates. 

- Circuits using only-NOR (Circuit_5) or using only-NAND (Circuit_4) can be solved studying these notes. Just try it.

This is your time for summarising P1 and solving other example problems from the collection.

Standard common logic circuits: The concepts related to the specifications and theory on any simple circuit.

For example:

Multiplexers. (1) Symbol, (2) truth table or equations, (3) timing diagram, (4) commercial chip, (5) internal design (Plan A, B, C1 or C2), (6) how to expand them (Plan C2)?

And the same for demultiplexers. Which is the symbol and circuit's truth table of a Demux_16?



Laboratory #2

[P1]  Introduction to VHDL. Circuit synthesis and simulation using VHDL EDA tools

Circuit synthesis. RTL view

Circuit functional simulation. VHDL test bench  


Before advancing towards the P2 on the design of standard combinational circuits using VHDL tools, let's discover how to solve the last P1 Section A method 4 using the VHDL language and electronic design automation (EDA) tools  to synthesise and simulate a circuit with the aim of deducing its truth table.

1. Specifications: Find the truth table of the Circuit_W (or the Circuit_C or the Circuit_K) using VHDL synthesis and simulation tools. Draw an example of timing diagram.

2. Planning. Some notes for synthesising the circuit (1) and for simulating it (2).

3. Let's develop and synthesise (in Quartus Prime or in Xilinx ISE or in ispLEVER Classic)

A. Find the circuit's equation and write the VHDL source file from a similar file in digsys (P2). This is a VHDL source file example Circuit_W.vhd.

B. Start a new project using commercial PLD vendor tools. We choose a different toolset every semester. Here you are different devices available in our labs for experimentation. Select a target PLD chip (FPGA or CPLD) where the logic functions will be downloaded:


  • Project location, for example: L:\CSD\P1\Circuit_W\

  • Project name: Circuit_W_prj


  • Top entity: Circuit_W

C. Run the synthesis process and examine the RTL view and the technology view. Print the circuit using the snipping tool (or any other similar tool like Snagit from TechSmith). Annotate and comment the differences. Discuss the similarities with respect our initial circuit.  Start a new project using a target chip from a different family and inspect both, the RTL and the technology schematics.

4. Let's test and verify (in ModelSim Intel or in Xilinx ISim or in Active-HDL).

D. Generate a testbench template in Quartus Prime (or in ISim or in Active-HDL). This is the idea (Visio) behind a VHDL testbench. If necessary, depending on the EDA tool, rename the file from Circuit_W.vht to Circuit_W_tb.vhd and copy it to the project location folder. Using an example timing diagram, add the stimulus inputs and the constant Min_Pulse. This is a VHDL test-bench example Circuit_W_tb.vhd which can be copied and adapted.

E. Start a project in ModelSim Altera (or in Xilinx ISim or in Active-HDL). Run the simulation process and extract the truth table from the inspection of the logic analyser display.


  • Project location: L:\CSD\P1\VHDL\   (The same location for synthesis)


  • Project name: Circuit_W_functional_sim         (not required in ISim)

  • Project library: work_functional                         (not required in ISim)

F. Compare the truth table with the one obtained using other methods to check your results.

G. Print waveforms from timing diagrams, schematics, add comments and report the analysis process.


Additional concepts and tutorials to study and practise

- In the same way using VHDL tools you can obtain the truth table of the Circuit_C and the Circuit_K , which is solved as an example here and this is a kind of report.