diff --git a/rocket/README.md b/rocket/README.md
new file mode 100644
index 00000000..f3257d63
--- /dev/null
+++ b/rocket/README.md
@@ -0,0 +1,33 @@
+Rocket Core Generator
+================================================================
+
+Rocket is a 6-stage single-issue in-order pipeline that executes the 64-bit
+scalar RISC-V ISA. Rocket implements an MMU that supports page-based virtual
+memory and is able to boot modern operating systems such as Linux. Rocket
+also has an optional IEEE 754-2008-compliant FPU, which implements both
+single- and double-precision floating-point operations, including fused
+multiply-add.
+
+We plan to open-source our Rocket core generator written in Chisel in the near
+future. We are currently in the process of cleaning up the repository. Please stay tuned.
+
+Currently, a Rocket core with an 8 KB direct-mapped L1 instruction cache
+and an 8 KB direct-mapped L1 data cache has been instantiated and committed to
+the zynq-fpga infrastructure repository. A copy of the generated Verilog is available
+[here](https://raw.githubusercontent.com/ucb-bar/zynq-fpga/master/hw/src/verilog/Slave.v).
+
+The following table compares a 32-bit ARM Cortex-A5 core to a 64-bit RISC-V
+Rocket core built in the same TSMC process (40GPLUS). Fourth column is the
+ratio of RISC-V Rocket to ARM Cortex-A5. Both use single-instruction-issue,
+in-order pipelines, yet the RISC-V core is faster, smaller, and uses less
+power.
+
+ISA/Implementation | ARM Cortex-A5 | RISC-V Rocket | R/A
+--- | --- | --- | ---
+ISA Register Width | 32 bits | 64 bits | 2
+Frequency | >1 GHz | >1 GHz | 1
+Dhrystone Performance | 1.57 DMIPS/MHz | 1.72 DMIPS/MHz | 1.1
+Area excluding caches | 0.27 mm2 | 0.14 mm2 | 0.5
+Area with 16KB caches | 0.53 mm2 | 0.39 mm2 | 0.7
+Area Efficiency | 2.96 DMIPS/MHz/mm2 | 4.41 DMIPS/MHz/mm2 | 1.5
+Dynamic Power | <0.08 mW/MHz | 0.034 mW/MHz | >= 0.4
diff --git a/rocket/build.sbt b/rocket/build.sbt
new file mode 100644
index 00000000..d9150787
--- /dev/null
+++ b/rocket/build.sbt
@@ -0,0 +1,7 @@
+organization := "edu.berkeley.cs"
+
+version := "1.2"
+
+name := "rocket"
+
+scalaVersion := "2.10.2"
diff --git a/rocket/chisel-dependent.sbt b/rocket/chisel-dependent.sbt
new file mode 100644
index 00000000..e784e5e9
--- /dev/null
+++ b/rocket/chisel-dependent.sbt
@@ -0,0 +1,8 @@
+// Provide a managed dependency on chisel if -DchiselVersion="" is
+// supplied on the command line.
+
+val chiselVersion = System.getProperty("chiselVersion", "None")
+
+libraryDependencies ++= ( if (chiselVersion != "None" ) (
+ "edu.berkeley.cs" %% "chisel" % chiselVersion
+) :: Nil; else Nil)
diff --git a/rocket/hardfloat-dependent.sbt b/rocket/hardfloat-dependent.sbt
new file mode 100644
index 00000000..e6cc8f7e
--- /dev/null
+++ b/rocket/hardfloat-dependent.sbt
@@ -0,0 +1,8 @@
+// Provide a managed dependency on chisel if -DhardfloatVersion="" is
+// supplied on the command line.
+
+val hardfloatVersion = System.getProperty("hardfloatVersion", "None")
+
+libraryDependencies ++= ( if (hardfloatVersion != "None" ) (
+ "edu.berkeley.cs" %% "hardfloat" % hardfloatVersion
+) :: Nil; else Nil)
diff --git a/rocket/uncore-dependent.sbt b/rocket/uncore-dependent.sbt
new file mode 100644
index 00000000..9526f621
--- /dev/null
+++ b/rocket/uncore-dependent.sbt
@@ -0,0 +1,8 @@
+// Provide a managed dependency on chisel if -DuncoreVersion="" is
+// supplied on the command line.
+
+val uncoreVersion = System.getProperty("uncoreVersion", "None")
+
+libraryDependencies ++= ( if (uncoreVersion != "None" ) (
+ "edu.berkeley.cs" %% "uncore" % uncoreVersion
+) :: Nil; else Nil)