logo

Crowdly

Є наступний модуль оперативної пам'яті: module ram_sync_read #( parameter ...

✅ Перевірена відповідь на це питання доступна нижче. Наші рішення, перевірені спільнотою, допомагають краще зрозуміти матеріал.

Є наступний модуль оперативної пам'яті:

module ram_sync_read #(parameter ADDR_WIDTH = 3, DATA_WIDTH = 8) (

    input clk,

    input we,

    input [ADDR_WIDTH-1:0] addr,

    input [DATA_WIDTH-1:0] data_in,

    output reg [DATA_WIDTH-1:0] data_out

);

    reg [DATA_WIDTH-1:0] mem [0:(1<<ADDR_WIDTH)-1];

    always @(posedge clk) begin

        if (we) mem[addr] <= data_in;

        data_out <= mem[addr];

    end

endmodule

Завдання:

 

Написати тестбенч-модуль, що виконає наступні дії:

  • Записати в пам’ять:
  • addr = 3, data_in = номер студента в журналі * 81-му такті),
  • addr = 5, data_in = місяць народження студента * 102-му такті).

 

Визначити data_out в 3-му такті, якщо addr = 5.

Пояснити чому data_out може бути неочікуваним в 1-му такті?

Більше питань подібних до цього

Хочете миттєвий доступ до всіх перевірених відповідей на vns.lpnu.ua?

Отримайте необмежений доступ до відповідей на екзаменаційні питання - встановіть розширення Crowdly зараз!

Browser

Додати до Chrome