Add 74148 priority encoder to TTL library

Author: VadimatorikCreated Sep 12, 2026Updated Sep 21, 2026

Summary

Adds 74148 8-line to 3-line priority encoder to the built-in TTL library.

The 74HC148 is a commonly used priority encoder in educational digital logic projects, but it is currently missing from the library. This PR implements its digital functional model according to the SNx4HC148 datasheet from Texas Instruments.

Changes

  • New Ttl74148 class in com.cburch.logisim.std.ttl extending AbstractTtlGate
  • propagateTtl() implements priority encoding logic with active-low inputs/outputs
  • Physical pin mapping follows the standard 16-pin DIP package:
    • Pin 1: I4
    • Pin 2: I5
    • Pin 3: I6
    • Pin 4: I7
    • Pin 5: EI (Enable Input)
    • Pin 6: A2
    • Pin 7: A1
    • Pin 8: GND
    • Pin 9: A0
    • Pin 10: I0
    • Pin 11: I1
    • Pin 12: I2
    • Pin 13: I3
    • Pin 14: GS (Group Signal)
    • Pin 15: EO (Enable Output)
    • Pin 16: VCC
  • Added custom symbol appearance
  • Registered in TtlLibrary
  • Added localization key TTL74148 to std.properties
  • Added entry to CHANGES.md under current development section
  • Added online-help entry

Note

This text was generated with the help of AI. So far, I have only verified the pin assignments. I plan to make additions using Cursor and then verify the actual connections on the physical chip mounted on a breadboard.

Source: logisim-evolution/logisim-evolution