What Is the Best Way to Purge Master and Slave Terms From Engineering Documents?
Racially charged terms like master, slave, whitelisting, and blacklisting must be removed. But what are the replacements?
May 25, 2021
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.
About the Author
You May Also Like