<p><b>Abstract</b>—A constant weight, <it>w</it>, code with <it>k</it> information bits and <it>r</it> check bits is a binary code of length <it>n</it> = <it>k</it> + <it>r</it> and cardinality 2<super><it>k</it></super> such that the number of 1s in each code word is equal to <it>w</it>. When <tmath>$w = \lfloor n/2 \rfloor,$</tmath> the code is called balanced. This paper describes the design of balanced and constant weight codes with parallel encoding and parallel decoding. Infinite families of efficient constant weight codes are given with the parameters <it>k</it>, <it>r</it>, and the "number of balancing functions used in the code design," <it>p</it>. The larger <it>p</it> grows, the smaller <it>r</it> will be; and the codes can be encoded and decoded with VLSI circuits whose sizes and depths are proportional to <it>pk</it> and log<sub>2</sub><it>p</it>, respectively. For example, a design is given for a constant weight <it>w</it> = 33 code with <it>k</it> = 64 information bits, <it>r</it> = 10 check bits, and <it>p</it> = 8 balancing functions. This code can be implemented by a VLSI circuit using less than 4,054 transistors with a depth of less than 30 transistors.</p>