Question

Write a Verilog code for a register file module that could be used with a 2-way...

Write a Verilog code for a register file module that could be used with a 2-way superscalar processor. Ensure that if both functional units try to write to the same register file simultaneously, only the second one will take effect.

Hint: Think about how many read ports and how many write ports you need.

0 0
Add a comment Improve this question Transcribed image text
Answer #1
module regfile(input clock, input [2:0] address, input en_write, inout [7:0] data);
// Register file storage
reg [7:0] registers[7:0];
// Read and write from register file
always @(posedge clock)
if (en_write)
registers[address] <= data;
else
out_val <= registers[address];
// Output data if not writing. If we are writing,
// do not drive output pins. This is denoted
// by assigning 'z' to the output pins.
reg [7:0] out_val;
assign data = en_write ? 8'bz : out_val;
endmodule
Add a comment
Know the answer?
Add Answer to:
Write a Verilog code for a register file module that could be used with a 2-way...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • Register File Consider the following register file, that provide one write port and two read ports....

    Register File Consider the following register file, that provide one write port and two read ports. A register is updated on the positive edge on the clock if dw=1. Data is written to rd. The two read ports are: rn and rm. typedef logic [15:0] reg16_t; typedef logic [2:0] reg_sel_t; module reg_file( output reg16_t rn, rm, input reg16_t rd, input reg_sel_t n, m, d, input logic dw, reset, clk ); Use behavioural Verilog to implement reg_file. module reg_file( output reg16_t...

  • Objective: Creating a register file (memory) using Verilog. The register file is made up of four registers and each...

    Objective: Creating a register file (memory) using Verilog. The register file is made up of four registers and each register holds one nibble (half a byte, i.e., four bits) 3. Create a D flip-flop AD flip-flop holds 1 bit of data, and it only changes its data when the clock changes. We want a positive edge triggered flip-flop. Design your Verilog D flip-flop, so we will create them now. Enter the 2 to 4 line decoder. We will need two...

  • 1. Write a Verilog module called myNot to implement the logic NOT gate. 2. Write a...

    1. Write a Verilog module called myNot to implement the logic NOT gate. 2. Write a test bench to test the myNot module created in step 10. Simulate the circuit using Sim and analyze the resulting waveform. 3. Take full screenshots of the source code of myNot module, the test bench Verilog file, and resulting simulation waveforms to be included in the lab report. Also include your waveform analysis in the lab report.

  • 2. Let’s create a module that defines a 4:1 mux by instantiating three 2:1 muxes. Assume the modu...

    2. Let’s create a module that defines a 4:1 mux by instantiating three 2:1 muxes. Assume the module we are going to instantiate has the interface definition: (a) First, write the code that would go inside the module defined above. (b) Now define the interface for your 4:1 mux. You can call the module anything you want and use any variable names you want. But think about how many inputs you’ll need. (c) Now instantiate three instances of the 2:1...

  • Using the diagram below and the starter code, write Document Processor that will read a file...

    Using the diagram below and the starter code, write Document Processor that will read a file and let the user determine how many words of a certain length there are and get a count of all of the word lengths in the file. Your program should do the following: The constructor should accept the filename to read (word.txt) and then fill the words ArrayList up with the words from the file. The countWords method should accept an integer that represents...

  • Please write a java program with a input file "jabberwock.txt", and output the "output.txt" with following...

    Please write a java program with a input file "jabberwock.txt", and output the "output.txt" with following requirement. You and your partner will be writing a simple Java program that implements some basic file I/O operations. You can use this code as the basis for some of your next project. FIRST: Write code that prompts the user for the name of a text file, opens that file if it exists and reads the file one line at a time printing each...

  • FIRST: Write code that prompts the user for the name of a text file, opens that...

    FIRST: Write code that prompts the user for the name of a text file, opens that file if it exists and reads the file one line at a time printing each line to the screen. You must implement the file read in a try/catch block rather than throwing the exception on the main method. NEXT: Modify your code so that the program takes the name of two files from the command line, opens the first file if it exists for...

  • Write a C++ program that reads text from a file and encrypts the file by adding...

    Write a C++ program that reads text from a file and encrypts the file by adding 6 to the ASCII value of each character. See section 5.11 in Starting out with C++ for information on reading and writing to text files. Your program should: 1. Read the provided plain.txt file one line at a time. Because this file has spaces, use getline (see section 3.8). 2. Change each character of the string by adding 6 to it. 3. Write the...

  • could you write a verilog code for figure 6.28 please. CHAPTER 6 SYNCHRONOUS SEQUENTIAL CIRCUITS Reset...

    could you write a verilog code for figure 6.28 please. CHAPTER 6 SYNCHRONOUS SEQUENTIAL CIRCUITS Reset =1/R2 =l, R3 1/R1 # - (c R3x = 1, R1, n = 1, Don . Figure 6.28 State diagram for Example 6.4. Flip-flopy should be set to 1 if the FSM is in state A and w = 1; hence Y; = wy. Flip-flop y should be set to 1 if the present state is B; hence Yz = y2. The derivation of...

  • Python Code Help

    The Scenario:You previously created a point-of-sale system for a beach side restaurant, or if your instructor told you to, perhaps another business that needed a point-of-sale system.  In this assignment you’re being asked to extend that assignment because printing a receipt only to the screen isn’t going to do the trick if your customer is an individual that likes to take their receipts with them to compare against their credit card statement each month.Behaviors of your ApplicationYour application will continue...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT