Design News is part of the Informa Markets Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

What Is the Best Way to Purge Master and Slave Terms From Engineering Documents?

Adobe Stock AdobeStock_71762481.jpeg
Racially charged terms like master, slave, whitelisting, and blacklisting must be removed. But what are the replacements?

The recent movement to greater racial equality and awareness has affected many aspects of our lives and professional work. As a result, even the technical community has come under scrutiny. Perhaps this is most apparent in the long-standing use of the words master and slave to describe electronic components and network interactions.

This racially charged language permeates electronic design, verification, hardware, software, documentation, and – most importantly – standards. The terms “master-slave” are also present in other realms of technology, notably automotive clutch, brake systems, clocks, flip-flop circuits, computer drives, and radio transmitters.

The Institute of Electrical and Electronics Engineers (IEEE) recently issued a policy statement on the use of the term master-slave. Among other things, the policy stated that the “IEEE standards should be written in such a way as to avoid non-inclusive and insensitive terminology (see IEEE Policy 9.27) and other deprecated terminology (see clause 10 of the IEEE SA Style Manual) except when required by safety, legal, regulatory, and other similar considerations. Terms such as master/slave, blacklist, and whitelist should be avoided.”

However, the policy does not provide a recommendation for alternative terminologies.

The Internet Engineering Task Force (IETF) has compiled an impressive set of resources on “Terminology, Power, and Inclusive Language in Internet-Drafts and RFCs.” Wikipedia’s Master/Slave (technology) site is another good resource for alternate naming conventions, such as:

  • Controller/Agent
  • Primary/Secondary
  • Primary/Replica
  • Master/Replica
  • Master/Standby
  • Master/Minion
  • Provider/Consumer
  • Master/Puppet
  • Controller/Peripheral
  • Initiator/Follower
  • Main
  • Client/Server
  • Source/Min
  • Main-Parent-Server/Worker-Child-Helper

Selecting the most appropriate alternative terminology depends on the context. For example, the chip design and verification tool space have many intellectual property (IP) bus interfaces, processors, and component cores that currently use the master-slave nomenclature. But that will change with updated versions of existing standards. The latest update to the Accellera IP-XACT standard may consider the use of terms common in the EDA/IP tool space, namely, “initiator-target.” Initiators create and send transactions to targets components.

The initiator-target pairing is also used in related standards:

  • IEEE Std 1666 – SystemC  for TLM-2.0 interfaces
  • AMBA IP-XACT bus definitions, in which AHB is split into AHB Initiator and AHB Target bus definitions to differentiate between master-slave protocols.

Whatever terminology replaces master-slave, the critical matter is that a far less degrading alternative is agreed to and implemented as soon as possible.

John Blyler is a Design News senior editor, covering the electronics and advanced manufacturing spaces. With a BS in Engineering Physics and an MS in Electrical Engineering, he has years of hardware-software-network systems experience as an editor and engineer within the advanced manufacturing, IoT and semiconductor industries. John has co-authored books related to system engineering and electronics for IEEE, Wiley, and Elsevier.

Hide comments
account-default-image

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish