Menu
Coddy logo textTech

Powtórka – projektowanie ALU

Część sekcji Podstawy ścieżki Verilog w Coddy. Lekcja 57 z 90.

challenge icon

Wyzwanie

ALU (Arithmetic Logic Unit, jednostka arytmetyczno-logiczna) to układ cyfrowy, który przyjmuje dwa wejścia, wykonuje na nich operację i generuje jedno wyjście. Wykonuje operacje arytmetyczne i logiczne na dwóch wejściach na podstawie sygnału wyboru. Sygnał select wybiera jedną operację do wykonania.

Jak to działa

selectOperacjaWyjście
2'b00Dodawaniea + b
2'b01Odejmowaniea - b
2'b10Bitowe ANDa & b
2'b11Bitowe ORa | b

Zbuduj prostą jednostkę ALU za pomocą instrukcji case.

Co zrobić:

  1. Utwórz moduł o nazwie alu
  2. Dodaj wejścia: a (4-bitowe), b (4-bitowe), select (2-bitowe)
  3. Dodaj wyjście: result (4-bitowe, typu reg)
  4. Dodaj blok always @(*)
  5. Wewnątrz dodaj instrukcję case (select)
  6. Dodaj cztery przypadki dla 2'b00, 2'b01, 2'b10, 2'b11
  7. Dodaj przypadek default, aby ustawić result = 0
  8. Zakończ za pomocą endcase i endmodule

Spróbuj swoich sił

// TODO: Utwórz moduł alu 

  // TODO: Dodaj wejścia (a, b, select)
  
  // TODO: Dodaj wyjście (result)

  // TODO: Dodaj blok always @(*)
  
  // TODO: Dodaj case (select)
  
  // TODO: Dodaj case 2'b00: result = a + b;
  
  // TODO: Dodaj case 2'b01: result = a - b;
  
  // TODO: Dodaj case 2'b10: result = a & b;
  
  // TODO: Dodaj case 2'b11: result = a | b;
  
  // TODO: Dodaj default: result = 0;
  
  // TODO: Dodaj endcase

// TODO: Dodaj endmodule

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Verilog online