diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Changelog for the [`clash-ghc`](http://hackage.haskell.org/package/clash-ghc) package
 
+## 0.5.4 *May 1st 2015*
+* New features:
+  * Generate wrappers around `topEntity` that have constant names and types
+
 ## 0.5.3 *April 24th 2015*
 * Fixes bugs:
   * Fix bug where not enough array type definitions were created by the VHDL backend
@@ -8,7 +12,7 @@
 * Use latest ghc-typelits-natnormalise
 
 ## 0.5.1 *April 20th 2015*
-* New features
+* New features:
   * GHC 7.10 support
   * Update to clash-prelude 0.7.2
   * Use http://hackage.haskell.org/package/ghc-typelits-natnormalise typechecker plugin for better type-level natural number handling
diff --git a/clash-ghc.cabal b/clash-ghc.cabal
--- a/clash-ghc.cabal
+++ b/clash-ghc.cabal
@@ -1,5 +1,5 @@
 Name:                 clash-ghc
-Version:              0.5.3
+Version:              0.5.4
 Synopsis:             CAES Language for Synchronous Hardware
 Description:
   CλaSH (pronounced ‘clash’) is a functional hardware description language that
@@ -70,9 +70,9 @@
                       unbound-generics          >= 0.1,
                       unordered-containers      >= 0.2.1.0,
 
-                      clash-lib                 >= 0.5.1,
-                      clash-vhdl                >= 0.5.2,
-                      clash-systemverilog       >= 0.5.1,
+                      clash-lib                 >= 0.5.2,
+                      clash-vhdl                >= 0.5.3,
+                      clash-systemverilog       >= 0.5.2,
                       clash-prelude             >= 0.7.3,
                       ghc-typelits-natnormalise >= 0.2
 
diff --git a/src-bin/InteractiveUI.hs b/src-bin/InteractiveUI.hs
--- a/src-bin/InteractiveUI.hs
+++ b/src-bin/InteractiveUI.hs
@@ -113,6 +113,7 @@
 import           CLaSH.Backend.VHDL (VHDLState)
 import           CLaSH.Backend.SystemVerilog (SystemVerilogState)
 import qualified CLaSH.Driver
+import           CLaSH.Driver.TopWrapper (generateTopEnt)
 import           CLaSH.GHC.Evaluator
 import           CLaSH.GHC.GenerateBindings
 import           CLaSH.GHC.NetlistTypes
@@ -1578,8 +1579,9 @@
               primMap <- CLaSH.Primitives.Util.generatePrimMap [primDir,"."]
               forM_ srcs $ \src -> do
                 (bindingsMap,tcm) <- generateBindings primMap src (Just dflags)
+                topEntM           <- generateTopEnt (dropExtensions $ takeFileName src)
                 CLaSH.Driver.generateHDL bindingsMap (Just backend) primMap tcm
-                  ghcTypeToHWType reduceConstant DebugNone
+                  ghcTypeToHWType reduceConstant topEntM DebugNone
 
 makeVHDL :: [FilePath] -> InputT GHCi ()
 makeVHDL = makeHDL' (CLaSH.Backend.initBackend :: VHDLState)
