UPC EETAC Bachelor's Degree in Telecommunications Systems and in Network Engineering EEL

 

 

P_Ch1 Questions and answers

P_Ch1


Consider the discussions in this page as an addendum to your PLA assignments. This edited Q&A come from meet sessions, emails, phone calls, and class and office time with many students. Thus they have significant value and will help you to save study time. You may imagine a class-group working cooperatively in a weekly basis with the objective of solving our projects as better and faster as we can. 

 

Question:  I would like to know if capturing the code of Notepad and include it in the development is right or it must be compulsory obtained with the printing option of Notepad++ and place it in the annexes' section?

Answer:  This time you simply can paste in a sheet of paper the picture of the coloured text in VHDL that is in you computer screen. And then add some handwriting comments on the picture after printing it to explain details. The same you do when printing and commenting for instance results from WolframAlpha or in this picture shwoing a section of VHDL from the next LAB2:

Picture


Question:  I would like to know which combination corresponds to these switch and button states just to be sure for the rest of my work. I think that is "0100" but I am not sure.

Picture proteus

Answer:  Please, you cannot yet work in your Circuit_L PLA, when you have such questions that are solved running and studying firstly the LAB1_1 tutorial on method II. Ask us what you do not understand from the LAB1_1 circuits first. Everything about buttons, switches and logic values in red and blue ----> please study these concepts in Circuit_W or Circuit C. Be aware that if we detect that you have not developed and run your tutorials projects, we cannot mark your PLA1_1 correctly. In this case on input logic values you must complete the truth table of the Circuit_W.

Note


Question:   I just resolved the Circuit_K using method III and checked with Proteus, when I went from the SoP to find the minterms, I had the m2 and m3 twice, I understand that in this case it doesn't affect as it is a sum of minterms. However, if it was the case that I was solving the maxterms, would it affect?

Answer:  Well, is your question about a basic property of Boole's algebra from this table?  x + x + x + x = x ?   yes. If when you try to find a list of minterms using algebra (method 3), you obtain for example: F = m1 + m4 + m5 + m4 + m1 ---->   F =  m1 + m4 + m5

In the same way, if you are generating handwritten algebraic equations and you get something like this: g = M7 · M8 · M14 · M8 · M6 · M7 ---->   g = M7 · M8 · M14 · M6


Question: I have some doubts about the report. I have to do the Circuit_M method 2. In the report I have to do only method 2 and also method 3. Do I have to do it in 8 sheets or in 4? Do I have to put method 1 in the report?

Answer: Instructions tell you to analyse Circuit_M using method 2, this is at least 4 sheets of paper (only after having completed LAB1_1 WolframAlpha project). Instructions tell you to test/check results using method 3, this is another set of 4 sheets of paper. Method 3 is understood as another full project in itself.  

Two plans

Any other project is optional. You always are invited to solve as many of them as you like; digsys contains many exercises. These additional materials can be submitted as well as part of section 1 (specifications and theory) or as annexes.


Question:

1.-When I have the algebraic equation I can't reduce it because it comes out too big.

2.-When I have made the proteus I get three errors and I don't know why.

3.-When I have done the wolfram equation it does not give me the truth table.

Answer:

1. Step by step. Circuit_W is a section of Circuit_C, and Circuit_C is completely analysed step by step in its tutorial as a highlighted example.

2. One gate at a time and run, this is the way to find where the errors are and correct them. And also discussing your problems with other students.

3. Again, one gate/equation at a time, writing these equations in a file for combining them and running them in WolframAlpha. Learn WolframAlpha using LAB1_1 session materials.


Question: In WolframAlpha, can I change some variables indicating what is each one in the case that I change it in the report? For example: T = A and,  X0 = B ?

Answer: Yes, if you clearly explains what you are changing and you are able to identify maxterms and minterms correctly from WolframAlpha results. Your report MUST have original symbol names. However, if possible solve all CSD exercises without modifying directories, entity, input or output names. In WolfraAlpha you can reorder expressions and even use other parenthesis styles like [ ] or { } to represent clearer expressions.

For example: logic circuit not{ not(not(X1) or [T xor Q]) or not(X0 or not (X1) ) }

You can also use mathematics language symbols instead of natural language for writing your circuit general equation, as WolframAlpha itself does when interpreting your text inputs.

For example: truth table (Q xor T) and X0   -----> truth table (Q xor T) && X0

NOT --> ~            AND --> &&             OR ---> ||

logic circuit not{ not(not(X1) or [T xor Q]) or not(X0 or not (X1) ) }  ---> 

---> logic circuit ~ ( ~ (not(X1) or [T xor Q]) or not(X0 || not (X1) ) )


Question: I'm having some trouble on trying to extract the circuit N's truth table, I'm doing it through method 1. The point is that when I extract the truth table from simulating  on Proteus I got six minterms, but when I try to extract the truth table with the method 3 I have also six minterms but not the same from method 1. I'm trying to find the error but I just can't see it.

Answer: If you have done the processes for solving both projects is OK, your PLA will get a good mark. Now, the final result is not that important, project processes count much more. Next week you will be asked to solve the same circuit with the other two methods remaining, and in this way, you will be able to identify better where your errors are located. Or even better, talk to your team or class mates to be sure which is the sum of minterms for your circuit.


Question: En acabar el PLA1_1 i com m'agradaria enquadernar-lo li volia demanar a veure si és possible utilitzar 13 cares (una cara per fulla) perquè quedi més net el resultat en lloc d'utilitzar 7 fulles a doble cara. Sé que el màxim són 8 fulls a doble cara però tenint en compte que el que he fet no s'excedeix, volia comprovar si és possible fer-ho.

Answer: The minimum paper per project is four sheets, and add as many sheets as you need. For example, you may like to add as much theory, class notes or exercises as you want or as you need at section 1 accompanying the specifications. We are only asking you to prepare each project using the given four sections. And do not prepare book covers or embellishments or improvements for your submitted work. We are only interested in your draft solution and in how you are completing the process of analysing circuits. This kind of improvements, like covers, or using a word processors or Visio for pictures and schematics, is something that you will do for other courses or in your final dissertation.


Question: We have been told to do 4 pages per method everytime we analyse a circuit. But when printing it, can we print them in both sides of the paper?  It's a very good way to reduce the amount of paper and to preserve the ink of our printers which is very expensive.

Answer: Every project section is a new sheet of paper not a page/side of paper. Don't worry now about the cost of some sheets of paper. The ink is preserved using white background, be careful to change colours in all pictures printed. Instructions are given on how to do it in ModelSim, and in any other software you can use any application for drawing to change colours and get them lighter to save ink. Most of the pictures found in digsys are examples of light/white backgrounds. Do not use word processors for writing comments on pictures or annotating, because only handwriting is accepted. Projects have four sections, but they may contain more that four sheets, for example a long development, or a project specification including also theory.


Question: I am writing to inquire about this week�€™s lab session. Could you please confirm if there are any specific tasks to be completed beforehand, or if we will be working on the lab during the session and submitting a report in the following one? 

Answer: In lab sessions we follow tutorial materials described in the corresponding session. For instance, this is what we will do the next LAB1.1 by September 19.  In this first session, we will require you to have installed correctly Proteus in your portable computer in order to analyse the proposed circuit using method II.

 Preliminary work is not necessary; we have concluded that it is much better to ask you to solve during the week a post-lab assignment, the PLA1.1 indicated by your instructor, a similar project to the one proposed during the lab session. You will submit it in paper and in the format that we use for projects during the next LAB1.2 session, in this case, by September 26, as indicated in our timetable.

However, because everything to do during the course is online and available for discussion, you can ask any time as many questions as you like. Or study ahead of classes and labs. No problem.


Question:

Answer:



Question: How to replace default background black colour in ModelSim wave timing diagrams?

Changing background colour

Answer: In this EDA page there is the document explaining how to do it once ModelSim is installed in your PC.


Question: How to eliminate vertical grid lines in ModelSim wave diagram, so that writing comments is easier and the picture cleaner?

stimulus

Answer: This is how to deactivate the default grid, so that you can add your own vertical lines to indicate signal transitions or edges.

deleting vertical grid lines


Question: I was modifying the Circuit_W_tb.vhd file to fit my circuit. When we begin the stim_process, do we need to include all 16 combinations in it?

Answer:  Ok, follow the step-by step note guidelines indicated at PLA1_2. Lab1_2 tutorial on Circuit_W analysis must work correctly in your computer before thinking on anything else.

 No, when you start simply add two or three combinations, because the objective in this step is to check whether you can get results from ModelSim wave diagrams. When everything works fine, you can edit the testbench file again and add all the combinations because your objective is to write down the truth table.

Question: What Min_Pulse do we define? Is it up to us to decide?

Answer: Yes, any time constant is Ok. If for instance you choose Min_Pulse = 3.3 ms, you will run the simulation for 600 ms, enough time for applying all vectors.

Question: When compiling both files in ModelSim, the tb gives me an error. Is there any way to know where is it? Could it be just a semicolon? If that is the case, how do we know when to write a ':' or ';' or ',' or nothing?

Answer: This is why I ask you to follow the step-by step indications. In my testbench for Circuit_W there is no errors. Thus you simply study and adapt vectors and everything else from another similar example. In this way, there is no need to pay that much attention to VHDL syntax.


Question:

Answer:


Question: I'm attaching in this email my VHDL file, it tells me that I have to buffer the CHs, what command allows me to change the CHs to buffers? Another issue is that I don't know if I have the VHDL right, can you tell me where it would be wrong or what I can improve?

Answer: 1) Run the projects and and study our lab2 materials in your computer, and only when everything is working fine, start thinking in PLA2 specifications. 2) Study several examples of plan A and plan B circuits from out lessons and tutorials in DIGSYS. 3) Study circuit symbol, truth tables and timing diagrams (section 1 : specifications). 4) Propose an schematic/flowchart/diagram(etc for your design in paper, and if you have questions on how to translate it to VHDL, show us your schematics in emails or meet sessions or even better attending our lectures. In CSD, VHDL files are only direct translations of your diagrams and schematics, there is no need to discuss VHDL files.

CSD design flow


Question: My doubt is if I need to add the case where D = '0' in the testbench, or just with D = '1' is okay?

Answer: In a DeMUX the idea is demultiplexing or distributing  data or information, and this is both, '1' and also '0'. Data may be a stream of bits from sensors, telephonic conversations, digital music or CLK signals.

digital data


Question: I am working on Plan B and developing my VHDL file of my DeMUX_16. I was wondering if I am understanding properly the way this demultiplexer works, in terms of assigning outputs. I am attaching you my DeMUX_16.vhd file.

Answer: This is a design process. Understanding the DeMUX is theory (section 1) and you can found it in class lessons. Study for instance this lesson L2.2. You cannot even think about VHDL translations like the one you are attaching here, without a plan in a sheet of paper (section 2 ---> planning your project), which was learned in LAB2. You must complete it successfully in your computer before imagining solving PLA2. So, firsts things first: if you find something in classes or lab tutorials that you do not comprehend, tell us and we will answer as soon as possible. Only in this way is conceived a translation to VHDL.


Question:

Answer:


 

Question: I'm currently working on the PLA_3 and we have an error which we cannot find a solution for. We are doing the Int_Comp_16bit and to do so we adapted the VHDL files from the Int_Comp_8bit. When we run the simulation it works fine, but there is a problem with a few values. There is a photo attached as a file below. When we input the value -14600 the program stops working and represents the wrong output. We tried changing the -14600 for a different input (-15623) but the problem persists.  We've checked the code and can't find any mistakes, is there any way you could help us? I tried sending you the VHDL files but the email won't let me do it, if it's fine with you, could I upload it to Google Drive and share it with you?

Answer: First of all, change your ModelSim colours, you were given clear indications by PLA1_2 (colours). Back background is not admitted because it is a waste of ink. As you know, because we repeat it all the time in every class, when asking questions you must show your paper/draft  truth tables, symbols, timing diagram, plans, schemas, ideas, etc. because all the errors came from misunderstandings or some connections wrong in schematics (specifications & planning). Development and test is a translation of your paper work from adaptations and similar projects found in our company "CSD", it is automatic and generally do not generate errors. So, there is no need to attach VHDL files or results because you can check whether look like your sketches. So, send schematics or something in paper if you have questions. You don't have to check your "code", it doesn't exist in Chapter 1 and Chapter 2, we have only hardware schematics; programming code will be for Chapter 3.


Question: How many pages does PLA3 have to contain? If it is 4 pages  it is only Comp_16bit and if it is 8 pages it is Comp_1bit and Comp_16bit.

Answer: As all projects, four sections. Perhaps in this project you need annexes, see our indications on the note on how to write and organise your report. Components are reported in annexes and perhaps they are projects themselves or perhaps only explanations or schematics because they are already solved in digsys and you simply copy their VHDL files.  If you invent a new component, the best way to report it is as an annex organised as a complete project.


Question: I wanted to know if for the PLA3 Comp_4bit project we have to use plan A or we can usea any plan, because you told us for the Comp_1bit to use the plan A but I don't think you specified the plan we should use for Comp_4bit.

Answer: Comp_4bit is designed using plan C2 based on chaining Comp1_bit. It is the Comp_1bit that can be designed using plan A, B, or C2 MoM or MoD. You can find the internal sketch for Comp_4bit using plan C2 at P3 tutorials. (Note: there is also the version of Comp_4bit using plan A, but I guess that it is more complicated. It is here to demonstrate how the chip 74LS85 is build).


Question: Do you want any special content on the video or just an explanation of how we built the Int_Comp_16bit?

Answer: Technical or professional video presentations are standardised; I am not being very specific apart from some guidelines, because probably you already had presented some projects in other subject and have got some experience by now.


Question: Tengo una pregunta, hago el int_comp_16 MoD, me preguntaba si el Dec_5_32 se pone dentro del comp_4 o dentro del comp_1?  

Answer: Read and study about the MoD in lecture L3.3. Do not try to solve your PLA before having got some theory and having completed LAB3 tutorial exercises to copy and adapt to your PLA. If you have 5 inputs as in the case of Comp_1bit you need a Dec_5_32. And this is feasible. In you have a a Comp_4bit, as you say, you will have up to 11 inputs, requiring an impossible decoder that will have to generate 2048 outputs! (this is why not all plans are always practical).

Be aware as well and very careful with chip and entity names (and also with project folders): designing comp_1, comp_4 or int_comp_16 will mark always 0/10 (even if you are submitting a project 20 pages long). Designing Comp_1bit, Comp_4bit or Int_Comp_16bit will generate marks up to 10/10. 


Question:

Answer:

 

Question: In the specifications of the PLA4, there is this task: - Demonstrate that the circuit does not calculate correctly when Min_Pulse is shorter that the circuit's propagation delay. In my case, the max propagation delay obtained from Quartus Prime is xx.yy ns and the one obtained in ModelSim with my test numbers is zz.ww ns. Just to demonstrate the results is enough? Or, do I need to create a bigger Min_Pulse than xx.yy ns and run again? 

Answer: In ModelSim you are calculating propagation delays in a given transition of the many, not necessarily the worst-case scenario. Using timing analyser you calculate all propagation delays from any input to any output, thus being able to measure the longest path. For instance tP = xx.yy ns in your case. We are asking you now to run a gate-level ModelSim simulation considering a constant Min_PulsetP so that you are forcing your circuit to switch faster than it can, and probably you will see on ModelSim waves that outputs are not reaching stable values with correct calculation results.


Question: Concerning the report of PLA4, can we reuse the same report as in PLA3 adding the fifth section (gate-level simulation)?

Answer: Well, yes, optionally, you can photocopy the 1-2-3-4 report from LAB3, modify something if you need it, from the given feedback or perhaps because your PLA3 was not yet fully working, and then add your design step 5 (individual). At least two sheets, because you are working with two new tools: gate-level  simulation in ModelSim and Quartus Prime timing analyser. But, before anything else, you have to ask and discuss these report ideas and details with your lab instructor. Study and develop all the LAB4 project in your computer before starting this PLA4.

 


Question: I would like to ask you a question about the PLA4_2. Is it a full project with typical sections 1-2-3-4? What must include about the LAB4.2 session? And all the exercices of Exam 1 must be solved?

Answer: Simply some pages with answers to the questions, this PLA is not a full project. The project ALU_9bit is already fully reported in the page LAB4_2 including also the real prototyping and measurements section. The LAB4_2 is focused only on these measurements and practical prototypes even if all the project is included.

There is a question about the specifications of the ALU_9bit, its truth table, how to operate as it was asked in the Exam1 P1. We want you to try to solve the exam problem P1, midterm is a good time to review these materials. And, as we always say, it is a very good idea to see if you can solve not only this exercise, but all the exam. It is midterm, and thus plenty of time for solving questions and comprehending circuits.

And the other questions are about what you measured or annotated during the session or if you did some other pre-lab questions as well that you like to report. 


Question: In questions 4 and 5, we don't have lab screenshots or classnotes, it says 'discuss how this value can be inferred,' but we're not exactly sure what we need to do.

Answer: In L4.3 we discussed in class approximate ways to explain the theory behind speed and power consumption in logic gates. And the full project LAB4_2 explains in detail how some measurements are performed for real using instruments and experiments. Imagine that you are using this questions for studying to solve exams, like if you were studying for solving the last Exam1 questions on speed and power.