1. Homepage
  2. Programming
  3. MCD4700 Introduction to computer systems, networks and security - Assignment 1 Boolean Algebra and Logisim Task

MCD4700 Introduction to computer systems, networks and security - Assignment 1 Boolean Algebra and Logisim Task

Engage in a Conversation
MCD4700Introduction to computer systems networks and securityMonash澳洲MARIE AssemblyLogisim

MCD4700 CourseNana.COM

Introduction to computer systems, networks and security  CourseNana.COM

Assignment 1 CourseNana.COM

  CourseNana.COM

Trimester 2, 2022  CourseNana.COM

Submission guidelines

This is an individual assignment, group work is not permitted CourseNana.COM

  CourseNana.COM

Deadline: 12 August, 2022, 11:55 pm CourseNana.COM

  CourseNana.COM

Submission format: docx for the written tasks, LogiSim circuit files for task 1, MARIE assembly files for task 2. All files must be uploaded electronically via Moodle. CourseNana.COM

  CourseNana.COM

Late submission: CourseNana.COM

      By submitting a Special Consideration Form or visit this link: https://lms.monashcollege.edu.au/course/view.php?id=1331    CourseNana.COM

      Or, without special consideration, you lose 5% from your mark per day that you submit late (including weekends). Submissions will not be accepted more than 5 days late. This means that if you got Y marks, only (Y - Y×n×0.05) will be counted where n is the number of days you submit late. CourseNana.COM

      Assessment items will not be accepted after more than 14 calendar days unless a Special Consideration application has been approved. This 14-day time frame does not apply to assessments due in Week 12. CourseNana.COM

  CourseNana.COM

  CourseNana.COM

In-class interviews: See instructions for Task 2 for details. CourseNana.COM

  CourseNana.COM

Marks: This assignment will be marked out of 100 points, and count for 20% of your total unit marks. CourseNana.COM

  CourseNana.COM

Plagiarism: It is an academic requirement that the work you submit be original. If there is any evidence of copying (including from online sources without proper attribution), collaboration, pasting from websites or textbooks, Zero marks may be awarded for the whole assignment, the unit or you may be suspended or excluded from your course. Monash Colleges policies on plagiarism, collusion, and cheating are available here or see this link:   CourseNana.COM

https://www.monashcollege.edu.au/__data/assets/pdf_file/0010/17101/dip-assessment-policy.pdf   CourseNana.COM

  CourseNana.COM

Further Note: When you are asked to use Internet resources to answer a question, this does not mean copy-pasting text from websites. Write answers in your own words such that your understanding of the answer is evident. Acknowledge any sources by citing them CourseNana.COM

1. Boolean Algebra and Logisim Task (40 marks)  CourseNana.COM

  CourseNana.COM

Input CourseNana.COM

Output CourseNana.COM

  CourseNana.COM

  CourseNana.COM

A CourseNana.COM

B CourseNana.COM

C CourseNana.COM

D CourseNana.COM

Z1 CourseNana.COM

Z2 CourseNana.COM

Z1 terms CourseNana.COM

Z2 CourseNana.COM

terms CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

A’B’C’D CourseNana.COM

- CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

A’B’C’D CourseNana.COM

- CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

A’B’CD’ CourseNana.COM

A’B’CD’ CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

A’B’CD CourseNana.COM

- CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

- CourseNana.COM

- CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

- CourseNana.COM

- CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

A’BCD’ CourseNana.COM

- CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

A’BCD CourseNana.COM

- CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

- CourseNana.COM

AB’C’D’ CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

- CourseNana.COM

AB’C’D CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

AB’CD’ CourseNana.COM

AB’CD’ CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

AB’CD CourseNana.COM

- CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

- CourseNana.COM

ABC’D’ CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

- CourseNana.COM

- CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

ABCD’ CourseNana.COM

- CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

- CourseNana.COM

- CourseNana.COM

Truth table for Z1 and Z2 CourseNana.COM

Step 1: Boolean Algebra Expressions (10 marks)

Write the Boolean equation for your truth table in sum of products form (your choice). First, think about how to deal with the two outputs. Then, describe each single row in terms of Boolean algebra. Finally, combine the Boolean terms for each row into a larger term. Briefly explain these steps for the truth table given. CourseNana.COM

 
CourseNana.COM

Z1= A’B’C’D’+A’B’C’D+ A’B’CD’+ A’B’CD+ A’BCD’+ AB’CD+ AB’CD’+ AB’CD+ ABCD’ CourseNana.COM

  CourseNana.COM

Z2= A’B’CD’+ AB’C’D’+ AB’C’D+ AB’CD’+ ABC’D  CourseNana.COM

  CourseNana.COM

  CourseNana.COM

Step 2: Logical Circuit in Logisim (10 marks)

Model the resulting Boolean terms from Step 1 in a single Logisim circuit, using the basic gates AND, OR, NOT. Use the original Boolean expression for drawing the circuit (do not simplify the expression). You can use logic gates with more than two inputs.   CourseNana.COM

To do this task you have to use a template Logisim file “task_1.2_and_1.3_template” that has been provided with this assignment. Do not forget to rename it and do not change the labels or add any extra label, otherwise 2 marks will be detected.  CourseNana.COM

  CourseNana.COM

Step 3: Optimised Circuit (20 marks)

The goal of this task is to find a minimal circuit (using only universal NAND gates). Based on the truth table and Boolean algebra terms from Step 1, optimize the function using Karnaugh maps. CourseNana.COM

  CourseNana.COM

You need to create two Karnaugh maps, one for each output. Your documentation should show the maps as well as the groups found in the maps and how they relate to terms in the optimized Boolean function. Then use Logisim to create a logic circuit. Don’t use any other gates, other than NAND. Your documentation should also show how the equations have been changed to “NAND only”. Use the template Logisim file “task_1.2_and_1.3_template” that has been provided with this assignment. Do not forget to rename it. CourseNana.COM

  CourseNana.COM

Then use Logisim to create a logic circuit. Don’t use any other gates, other than NAND. Use the template Logisim file “task_1.3_template” that have been provided with this assignment. Do not forget to rename it.  CourseNana.COM

  CourseNana.COM

Z1 table CourseNana.COM

  CourseNana.COM

C’D’ CourseNana.COM

C’D CourseNana.COM

CD CourseNana.COM

CD’ CourseNana.COM

A’B’ CourseNana.COM

1 CourseNana.COM

 1 CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

A’B CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

AB CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

AB’ CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

  CourseNana.COM

  CourseNana.COM

  Z2  table CourseNana.COM

CourseNana.COM

 

CourseNana.COM

  CourseNana.COM


C’D’ CourseNana.COM

C’D CourseNana.COM

CD CourseNana.COM

CD’ CourseNana.COM

A’B’ CourseNana.COM

0 CourseNana.COM

 0 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM

A’B CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

AB CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

0 CourseNana.COM

AB’ CourseNana.COM

1 CourseNana.COM

1 CourseNana.COM

0 CourseNana.COM

1 CourseNana.COM


CourseNana.COM

  CourseNana.COM

Z1 = A’B’+A’C+B’C+CD’ CourseNana.COM

Z1=(A’B’+A’C+B’C+CD’)’ CourseNana.COM

Z1=(A’B’. A’C. B’C. CD’)’ CourseNana.COM

  CourseNana.COM

Z2=AC’D’+AB’C’+B’CD CourseNana.COM

Z2= (AC’D’+AB’C’+B’CD)’ CourseNana.COM

Z2= (AC’D’. AB’C’.B’CD)’ CourseNana.COM

  CourseNana.COM

2. MARIE (60 marks)

In this task you will develop a MARIE application that performs some manipulation of characters, strings and numbers. We will break it down into small steps for you. Most of the tasks require you to write code, test cases and some small analysis. The code must contain proper comments and well indented. You submit it as .mas files together with the rest of your assignment. The test cases should also be working, self-contained MARIE assembly files (without requiring much input from the user). The analysis needs to be submitted as part of the main PDF file you submit for this assignment. CourseNana.COM

  CourseNana.COM

In-Class interviews: You will be required to demonstrate your code to your tutor after the submission deadline. Failure to demonstrate will lead to “zero marks” being awarded to the entire programming part of this assignment. CourseNana.COM

  CourseNana.COM

Background - Lists of data CourseNana.COM

In computer programming, quite often we have to deal with lists of numbers (or other types of data). There are different approaches to store lists in computer memory. The approach we will study here works like this: All data in the list is stored sequentially in memory, i.e. the list will occupy a contiguous block of memory. Other than list data, we also need to keep a record of list size. It will be useful whenever we have to process all the items in a list. CourseNana.COM

In a MARIE program, a list of four numbers can be defined as below. Note how we have to store size in a separate variable. CourseNana.COM

  CourseNana.COM

ListAddr,  ADR List CourseNana.COM

Size,      Dec 4 CourseNana.COM

List,      Dec 2 CourseNana.COM

Dec -4 CourseNana.COM

Dec -1 CourseNana.COM

Dec 7 CourseNana.COM

  CourseNana.COM

Note that ADR is used to load the address of a label into another label. For example, assuming label List ends up in memory at address 2A. Now if we want to use indirect addressing instructions (e.g. LoadI), we need to get the address of List (i.e., 2A). The ADR keyword will be helpful here. So, the line ListAddr, ADR List will result in the value 2A being placed at the label ListAddr. So now we can use an instruction like LoadI ListAddr in order to indirectly load from the list. Try this out in the simulator to get an idea how it works. CourseNana.COM

  CourseNana.COM

2.1. Reading in a List of Integers (10 marks)

Prepare a MARIE program which first reads in a positive integer, Size (representing the number of items which will be received), and then reads in a group of integers one item at a time until there are Size of them and stores these into memory sequentially, starting from an address which is referenced by ListAddr (add described in the background section).  CourseNana.COM

Document at least two test cases using screenshots of what Size and the list values are in the memory and in the output area (the first value is the size and the reset is the list). The document should be written into the report, such as the screenshot in Figure 1. CourseNana.COM

  CourseNana.COM


CourseNana.COM

  CourseNana.COM

Figure 1: Reading in a List of Integers CourseNana.COM

  CourseNana.COM

2.2. ListInput and ListOutput Subroutines (10 marks)

Convert the above program into a subroutine called ListInput. When the main program runs, it should call the subroutine to get size and list numbers as input from the user and then reads in a group of integers one item at a time until there are Size of them and stores these into memory sequentially. Implement another subroutine called ListOutput which will display all the values after saving them into the memory (use output).  CourseNana.COM

Note: Should read the list from the memory and display it. CourseNana.COM

Document at least two test cases using screenshots of what Size and the list values are (the first value is the size and the reset is the list) into the memory and in the output area. The document should be written into the report, such as the screenshot in Figure 2. CourseNana.COM

  CourseNana.COM


CourseNana.COM

Figure 2: ListInput and ListOutput Subroutines CourseNana.COM

  CourseNana.COM

  CourseNana.COM

  CourseNana.COM

2.3. Finding the Minimum, Maximum and Range (15 marks)

a. Prepare a MARIE subroutine FindMinMax which takes the size and address of a list (ListAddr), and iterates over the list items to find the minimum and maximum value. As a hint, you may assume the first item in the list is the maximum (and minimum) and then update the maximum (or minimum) if you find any later elements exceed it (or smaller). A pseudo code of this method is given below CourseNana.COM

let min = first_item, max = first_item, count = size while (count > 0){ item = get_next_item_from_list if (item > max) max = item CourseNana.COM

if (item < min) min = item CourseNana.COM

count = count - 1 CourseNana.COM

} CourseNana.COM

In the main program, call the FindMinMax subroutine and output the minimum and maximum values obtained respectively. For this task, hard code the list and the size of the list, the size should be any number greater than 3. CourseNana.COM

  CourseNana.COM

b. Prepare a MARIE subroutine FindRange takes the maximum and minimum of the list of items (as determined by your code in part a) and computes the difference CourseNana.COM

between them (maximum - minimum) and outputs them (minimum, maximum and range respectively). This is called CourseNana.COM

range in statistics. CourseNana.COM

A pseudo code of this method is given below CourseNana.COM

range = max - min CourseNana.COM

Document at least two test cases using screenshots of what minimum and maximum values (display minimum, maximum and range respectively). The document should be written into the report, such as the screenshot in Figure 3. CourseNana.COM

  CourseNana.COM

  CourseNana.COM

Figure 3: Finding the Minimum, Maximum and Range CourseNana.COM

  CourseNana.COM

  CourseNana.COM

2.4. Finding the Even and Odd (15 marks)

Prepare a MARIE subroutine called EvenOdd which takes a value from the user and check if it is odd or even. If the value is odd display the value and zero else display the value and one.  CourseNana.COM

Write a main program where the user will be repeatedly asked to enter (input) value, store the number in a variable, then find and display (output) the number and zero (if it is odd) or one (if it is even).  The program will only stop when a zero is entered.  CourseNana.COM

Hint: this task can be solved either CourseNana.COM

       Using divide by 2, division operation can be achieved by repeated subtraction, this program needs N (the numerator) and D (the denominator, in this task D=2) (N= N - 2) operations until we get N smaller than 2. CourseNana.COM

1. Set R =0, Q = 0   CourseNana.COM

2. Is N < 2,  CourseNana.COM

3. Jump to Line 5  CourseNana.COM

4. N = N - 2, Q = Q + 1, R = N  CourseNana.COM

5. Jump to Line 2  CourseNana.COM

6. Return CourseNana.COM

       Or, start with a variable as 1 and switch it numerator (N) times (0 to 1 and 1 to 0). If the variable gets the original value (which is 0) back, then N is even, else N is odd. CourseNana.COM

1. isOdd = 0  CourseNana.COM

2. Is N = 0,  CourseNana.COM

3. Jump to Line 5  CourseNana.COM

4. N = N - 1, isOdd = opposite isOdd (flip isOdd)  CourseNana.COM

5. Jump to Line 2  CourseNana.COM

6. Return CourseNana.COM

  CourseNana.COM


CourseNana.COM

  CourseNana.COM

Figure 4: Finding the Even and Odd CourseNana.COM


CourseNana.COM

  CourseNana.COM

  CourseNana.COM

Code Documentation and Development (5 marks)

All the variables/labels should have a meaningful naming convention. The code should include proper comments. CourseNana.COM

  CourseNana.COM

Code Readability (5 marks)

Before you submit, be sure your code is well organised and very easy to follow included code indentation, effective use of whitespace etc.    CourseNana.COM

Files to be submitted: CourseNana.COM

One folder named “YourFirstNameLastNameStudentID” containing the following files: CourseNana.COM

1.     Report for the written tasks (One Word file called YourFirstNameLastName StudentID.doc / docx). The report should include your Full name, your student ID, your class number and your tutor’s name. CourseNana.COM

2.     Two Logisim files, one for task 1.2 and one for 1.3, name them LogicalCircuit.circ and OptimizedCircuit.circ respectively. CourseNana.COM

3.     MARIE files for tasks 2.1 to 2.4 name them as below: CourseNana.COM

  CourseNana.COM

      2.1_ReadinginaListofIntegers.mas CourseNana.COM

      2.2_ListInputandListOutputSubroutines.mas CourseNana.COM

      2.3_AB_FindingtheMinimumMaximumRange.mas CourseNana.COM

      2.4_ FindingtheEvenandOdd.mas CourseNana.COM

  CourseNana.COM

Zip the folder under the same name and submit it to moodle. You need to make sure there are no spaces in any of the filenames.  CourseNana.COM

NOTE! Your submitted files must be correctly identified (as described above). Any submission that does not comply will receive an automatic 10 marks penalty (applied after marking). CourseNana.COM

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
MCD4700代写,Introduction to computer systems networks and security代写,Monash代写,澳洲代写,MARIE 代写,Assembly代写,Logisim 代写,MCD4700代编,Introduction to computer systems networks and security代编,Monash代编,澳洲代编,MARIE 代编,Assembly代编,Logisim 代编,MCD4700代考,Introduction to computer systems networks and security代考,Monash代考,澳洲代考,MARIE 代考,Assembly代考,Logisim 代考,MCD4700help,Introduction to computer systems networks and securityhelp,Monashhelp,澳洲help,MARIE help,Assemblyhelp,Logisim help,MCD4700作业代写,Introduction to computer systems networks and security作业代写,Monash作业代写,澳洲作业代写,MARIE 作业代写,Assembly作业代写,Logisim 作业代写,MCD4700编程代写,Introduction to computer systems networks and security编程代写,Monash编程代写,澳洲编程代写,MARIE 编程代写,Assembly编程代写,Logisim 编程代写,MCD4700programming help,Introduction to computer systems networks and securityprogramming help,Monashprogramming help,澳洲programming help,MARIE programming help,Assemblyprogramming help,Logisim programming help,MCD4700assignment help,Introduction to computer systems networks and securityassignment help,Monashassignment help,澳洲assignment help,MARIE assignment help,Assemblyassignment help,Logisim assignment help,MCD4700solution,Introduction to computer systems networks and securitysolution,Monashsolution,澳洲solution,MARIE solution,Assemblysolution,Logisim solution,