The easiest way I know to generate a single address wallet... is to actually use Electrum (
https://electrum.org/#download)
Firstly, I would recommend that you use it to generate a "standard" wallet, with a 12 word seed mnemonic... write this down!!!. Then pick one of the addresses that you wish to use from the "Addresses" tab (View -> Show Addresses), I'd suggest whatever one is showing when you click on the "receive" tab... right-click on the address in the list on the "Addresses" tab and select "Private Key"... copy this private key.
Then, create a new wallet in Electrum using: "File -> New\Restore -> Import Bitcoin Addresses or Private Keys"... and paste in the private key that you copied above.
This will create a wallet in Electrum that has exactly ONE address. It will NOT generate new receive or change addresses. When you send any coins from this wallet, any change will be returned to the same address. You can also be assured of being able to restore this wallet at a later date using the 12 word seed mnemonic that you saved.
For what it's worth, there is really no reason to do this... as you can just re-use the same address over and over... you'll receive all funds send to that address, regardless of whether or not Electrum is attempting to give you a new one.
Also note that you should be able to re-use "old" addresses provided by any HD wallet if it is generating new receive addresses every time you use one (assuming you're not using an online exchange like Coinbase or Poloniex etc... as sometimes you cannot re-use "deposit" addresses from exchanges!).