KonkurStudy

سوال ۸۰ کنکور ارشد مهندسی کامپیوتر ۱۴۰۳

اهمیت
۰/۵

کد Verilog / VHDL زیر را در نظر بگیرید. با توجه به مقادیر ورودی‌ها که به صورت شکل موج داده شده است، مقدار خروجی z پس از چهار کلاک، کدام است؟

شکل موج (مبنای ۱۶): سیگنال d لبه‌های بالارونده تولید می‌کند؛ e ابتدا صفر (ریست ناهمگام فعال در سطح پایین) و سپس یک می‌ماند؛ باس A مقادیر متوالی 1F, 4F, 5F, 1F1F,\ 4F,\ 5F,\ 1F و باس B مقادیر 1F, 1F, 0F, 1F1F,\ 1F,\ 0F,\ 1F را می‌گیرد.

module exam(A, B, d, e, z);
  input A, B, d, e;
  output z;
  wire [7:0] A, B;
  wire d, e;
  reg [7:0] z;

  always @(posedge d or negedge e) begin
    if (!e) begin
      z <= 0;
    end else begin
      z <= z + A + B;
    end
  end
endmodule
entity exam is
port(
  d, e : in bit;
  A, B : in signed (7 downto 0);
  z : out signed (7 downto 0));
end entity exam;

architecture AR of exam is
begin
  process(d, e)
  begin
    if e = '0' then
      z <= (others => '0');
    elsif rising_edge(d) then
      z <= z + A + B;
    end if;
  end process;
end AR;
#verilog#vhdl#edge-triggered#non-blocking-assignment#waveform-simulation#register