answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Allushta [10]
2 years ago
3

The processor needs to compute the next PC after each instruction. Write a verilog module which computes the next PC. Be sure to

include the B, and CBZ cases. You may use the output of the "Control" module.
Computers and Technology
1 answer:
slamgirl [31]2 years ago
5 0

Answer:

Check the explanation

Explanation:

module calculatePC (

input Rst, // Reset is asynchronous an active high

input [15:0] BranchAddress, // Branch Address

input Clk, // Clock of MPU

input B, // Branch instruction is Recieved

input CNZ, // Compare with Zero and Branch is Recieved

input ZeroFlag, // Zero Flag input

output [19:0] PC // Program Counter

);

reg [19:0] NextPC, PC;

always "at" (*)

begin

if (B == 1'b1)

NextPC = BranchAddress;

else if ((CNZ == 1'b1) && (ZeroFlag == 1'b1))

NextPC = BranchAddress;

else

NextPC = NextPC + 20'd4;

end

always "at"(posedge Clk or posedge Rst)

begin

if (Rst)

PC <= 20'd0;

else  

PC <= NextPC;

end

 

endmodule

You might be interested in
Gwen recently purchased a new video card, and after she installed it, she realized she did not have the correct connections and
g100num [7]

Answer:

A. 8-pin PCI-E connector.

F. 6-pin PCI-E connector.

Explanation:

The video card is a peripheral hardware component in a computer system that is used to run videos and graphic files, providing the required memory, runtime and bandwidth.

The PCI-e or peripheral component interconnect express is a connector or expansion slot used specifically for adding and powering video cards on a computer system.

7 0
2 years ago
Which of the following statements is true? A. Interpreted programs run faster than compiled programs. B. Compilers translate hig
alina1380 [7]

Answer:

B.

Explanation:

Computer programs are written in high level languages. Every language has its own set of syntax and semantics.

Computer only understands instructions in machine language which is written using strings of 0 and 1.

Thus, for execution of a high level language program, it is mandatory to convert high level instructions into machine instructions.

This translation into machine language is done in two ways – compilation or interpretation.

Some languages are compiled while others are interpreted.

Both compilers and interpreters are programs and process the high level language program as needed.

Compiler

Any program written in high level language is compiled.

The program is first analyzed before compilation. This process takes time. The analysis phase is called pre processing.

The program compilation stops only when the program is completely analyzed. Hence, it is difficult to locate the error in the program. This makes debugging easy.

Debugging is defined as removal of errors in the programs.

A compiler is responsible for converting high level language code into machine level code.

The complete program undergoes compilation at the same time.

A compiled program executes faster than an interpreted program.

A compiled program produce machine code which is a collection of 0 and 1, hence, it takes less time to execute.

Examples of compiled languages are C and C++.

Interpreter

Some high level languages are interpreted.

The high level language code is translated into an intermediate level code. This intermediate code is then executed.

The analysis of the program takes less time and takes place before interpretation begins. The analysis phase is called pre processing.

An interpreted program is translated one line at a time.

The program interpretation stops when an error is encountered. This makes debugging easy.

Debugging is defined as removal of errors in the programs.

Examples of interpreted languages include Python and Ruby.

6 0
2 years ago
Read 2 more answers
Look at the top 3 banking activities done via mobile banking vs. online banking. What characteristics do you notice for both?
muminat

Answer:  <em>The biggest difference between the two is their functionality. Internet Banking allows you to conduct online transactions through your PC or laptop and an internet connection. On the other hand, mobile banking can be done with or without internet. Many banks nowadays have their mobile apps for mobile banking.</em>

Disadvantages of Mobile Banking

<em>If the customer does not have a smartphone than the use of Mobile Banking becomes limited. A transaction like transfer of funds is only available on high-end phones. Regular use of Mobile Banking may lead to extra charges levied by the bank for providing the service.</em>

<em />

Explanation: <u><em>Was this helpful to you? if so please put me Brainlyest.</em></u>

4 0
2 years ago
// This pseudocode is intended to display // employee net pay values. All employees have a standard // $45 deduction from their
Vikki [24]

Answer:

C++ code is given below

Explanation:

#include<iostream>

#include <cstring>

using namespace std;

int housekeeping(string EOFNAME);

int mainLoop(string name,string EOFNAME);

int finish();

void main()

{

  string name;

  string EOFNAME = "ZZZZ";

  cout << "enter the name" << endl;

  cin >> name;

  if (name != EOFNAME)

  {

      housekeeping(EOFNAME);

  }

  if (name != EOFNAME)

  {

      mainLoop(name , EOFNAME);

  }

  if (name != EOFNAME)

  {

      finish();

  }

  system("pause");

}

int housekeeping(string EOFNAME)

{  

  cout << "enter first name " << EOFNAME << " to quit " << endl;

  return 0;

}

int mainLoop(string name, string EOFNAME)

{  

  int hours;

  int rate,gross;

  int DEDUCTION = 45;

  int net;

  cout << "enter hours worked for " << name << endl;

  cin >> hours;

  cout << "enter hourly rate for " << name << endl;

  cin >> rate;

  gross = hours*rate;

  net = gross - DEDUCTION;

  if (net > 0)

  {

      cout << "net pay for " << name << " is " << net << endl;

  }

  else

  {

      cout << "dedections not covered.net is 0.";

  }

  cout << "enter next name or " << EOFNAME << " to quit" << endl;

  cin >> name;

  return 0;

}

int finish()

{

  cout << "end of job"<<endl;

  return 0;

}

3 0
2 years ago
Put the steps in order to produce the output shown below. Assume the indenting will be correct in the program.
V125BC [204]

Answer:

I took a screenshot of the test withe that question

Explanation:

7 0
2 years ago
Other questions:
  • Represent decimal number 8620 in (a) BCD, (b) excess-3 code, (c)2421 code, and (d) as a binary number
    7·1 answer
  • How efficient would a 6-bit code be in asynchronous transmission if it had 1 parity bit, 1 start bit, and 2 stop bits?
    5·1 answer
  • Shaniya has misspelled a scientific name in her biology report. She needs to correct it, but she has no access to a computer. Sh
    13·2 answers
  • Always refill your gas tank well before____.
    9·2 answers
  • The spreadsheet below shows the names years in office, and number of terms for five US presidents
    7·2 answers
  • A network design engineer has been asked to design the IP addressing scheme for a customer network. The network will use IP addr
    6·1 answer
  • NOTE: in mathematics, division by zero is undefined. So, in C++, division by zero is always an error. Given a int variable named
    9·1 answer
  • Write a split check function that returns the amount that each diner must pay to cover the cost of the meal The function has 4 p
    14·1 answer
  • A semaphore puts a thread to sleep:
    12·1 answer
  • Which of the following is true of how computers represent numbers?
    9·2 answers
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!