In a microwave or double boiler, melt butter and chocolate. Stir in sugar. Add eggs, one at a time, beating well after each. Stir in vanilla, flour and salt; mix well. Pour into 3 greased and floured 9 inch round cake pans.
Bake at 350°F for 23-25 minutes or until a toothpick inserted near the center comes out clean. Cool for 10 minutes; remove from pan to a wire rack to cool completely.
For frosting, melt chocolate in a heavy saucepan over medium heat. Gradually stir in cream and sugar if desired until well blended. Heat to a gentle boil; boil and stir for 1 minute. Remove from heat; transfer to a mixing bowl. Refrigerate for 2-3 hours or until mixture reaches a pudding-like consistency, stirring a few times. Beat until soft peaks form. Immediately spread between layers and over top and sides of cake.