diff --git a/modules/genrams/Manifest.py b/modules/genrams/Manifest.py
index 5abc5c576862db8f29554e4402adee64e07b30f0..46403f38a1b56da38153c4d66b1a9f4321d32b4e 100644
--- a/modules/genrams/Manifest.py
+++ b/modules/genrams/Manifest.py
@@ -55,6 +55,9 @@ def __import_coregen_files():
 ##############################
 ## "Normal" manifest        ##
 ##############################
+
+print ("[genrams] target = " + target)
+
 if (target == "altera"):
 	modules = {"local" : "altera"}
 elif (target == "xilinx"):
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/Manifest.py b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/Manifest.py
new file mode 100644
index 0000000000000000000000000000000000000000..7cad8578d5b9ac1be9cf3eb4a0cf5ea9f9faf3a3
--- /dev/null
+++ b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/Manifest.py
@@ -0,0 +1,31 @@
+files = [
+"blk_mem_gen_v4_1_xst_comp.vhd",
+"blk_mem_gen_v4_1_defaults.vhd",
+"blk_mem_gen_v4_1_pkg.vhd",
+"blk_mem_gen_getinit_pkg.vhd",
+"blk_mem_min_area_pkg.vhd",
+"blk_mem_gen_bindec.vhd",
+"blk_mem_gen_mux.vhd",
+"blk_mem_gen_prim_wrapper_s6.vhd",
+"blk_mem_gen_prim_wrapper_s6_init.vhd",
+"blk_mem_gen_prim_wrapper_s3adsp.vhd",
+"blk_mem_gen_prim_wrapper_s3adsp_init.vhd",
+"blk_mem_gen_prim_wrapper_s3a.vhd",
+"blk_mem_gen_prim_wrapper_s3a_init.vhd",
+"blk_mem_gen_prim_wrapper_v6.vhd",
+"blk_mem_gen_prim_wrapper_v6_init.vhd",
+"blk_mem_gen_prim_wrapper_v5.vhd",
+"blk_mem_gen_prim_wrapper_v5_init.vhd",
+"blk_mem_gen_prim_wrapper_v4.vhd",
+"blk_mem_gen_prim_wrapper_v4_init.vhd",
+"blk_mem_gen_prim_wrapper_s3.vhd",
+"blk_mem_gen_prim_wrapper_s3_init.vhd",
+"blk_mem_gen_prim_width.vhd",
+"blk_mem_gen_generic_cstr.vhd",
+"blk_mem_gen_ecc_encoder.vhd",
+"blk_mem_gen_ecc_decoder.vhd",
+"blk_mem_input_block.vhd",
+"blk_mem_output_block.vhd",
+"blk_mem_gen_top.vhd",
+"blk_mem_gen_v4_1_xst.vhd"]
+library = "blk_mem_gen_v4_1"
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_bindec.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_bindec.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..ebac9550a19394efbc23885e85060a331a19659c
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_bindec.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_ecc_decoder.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_ecc_decoder.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..35fe9cd4d7cae47d31238fc79ebeba36dc9d9ece
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_ecc_decoder.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_ecc_encoder.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_ecc_encoder.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..50398bdcb4eb98a81e139492b232e9d2762d2ea0
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_ecc_encoder.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_generic_cstr.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_generic_cstr.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..6800bffad27cbc8a4332969cc30c45f3efe06c02
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_generic_cstr.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_getinit_pkg.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_getinit_pkg.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..4d5bbbf4229125797b74975038b9f125f3ad045f
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_getinit_pkg.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_mux.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_mux.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..848aa4a681a9f6afe1e9a4b6b069153b9efb7de6
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_mux.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_width.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_width.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..c80ae56b9cce6058cc97ec4c18c431a0e438a80e
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_width.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s3.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s3.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..8120bad22b84e9761ce67751022940331aa13224
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s3.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s3_init.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s3_init.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..5ef5f3cff68e254bddb7df4cbe4d1f55f6c3eb13
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s3_init.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s3a.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s3a.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..b16a9186378d3bcbdd4c2f36f35d6a5620bcaa92
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s3a.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s3a_init.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s3a_init.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..70b2af014c7fd1be8e36273691f7cf0a374b519c
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s3a_init.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s3adsp.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s3adsp.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..1aeb519aa00b3539261f7399e34d0824098f0851
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s3adsp.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s3adsp_init.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s3adsp_init.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..a3e4c2b50bc16a18c827e2471efcc21e16987bd2
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s3adsp_init.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s6.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s6.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..7054cfe3d0df4c9af05a54ed20dcae4ddc1b6f30
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s6.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s6_init.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s6_init.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..172c201e8cbac2ac0967c7043f382f597adb4309
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_s6_init.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_v4.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_v4.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..1f36e5d2fc730ba8a87d05d3010cb43bb73e908c
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_v4.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_v4_init.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_v4_init.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..73eb7b35ae1d5ffdd4c1e9f8d7c15dc38e593359
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_v4_init.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_v5.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_v5.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..224f7973dd4d050b1d8509e3b7ba4e55831e0fd6
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_v5.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_v5_init.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_v5_init.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..17e1fb097573c90cd9d152ab1a33cdf41475c02d
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_v5_init.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_v6.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_v6.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..20ce4d08d6c0d7d4f19a0115475a87dc5b3c6daf
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_v6.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_v6_init.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_v6_init.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..f71bf31612408095745d88c2a12c2290900d89bd
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_prim_wrapper_v6_init.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_top.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_top.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..f4e6272dd98700f2b3d37f4d644d1086fc27f46b
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_top.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_v4_1_defaults.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_v4_1_defaults.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..0e4110ed9622ca5225b38046f977da000302b9ca
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_v4_1_defaults.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_v4_1_pkg.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_v4_1_pkg.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..84f7775fad9b2f1164fe9d059b6da5d842e3b334
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_v4_1_pkg.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_v4_1_xst.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_v4_1_xst.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..d90aae731a330c554256ca5ddc61806887c6e078
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_v4_1_xst.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_v4_1_xst_comp.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_v4_1_xst_comp.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..a73d4a370fdb3b22377d3a952b181ba0251bc42e
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_gen_v4_1_xst_comp.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_input_block.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_input_block.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..79bfbcb388e0c69f69d52384d8e06f0aa6031650
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_input_block.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_min_area_pkg.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_min_area_pkg.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..b40b8538e0bc06063e73fba1c19cc23918656d48
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_min_area_pkg.vhd differ
diff --git a/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_output_block.vhd b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_output_block.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..a131749b81e33b2b7fe3f4e02b6ed315ab8a9bb6
Binary files /dev/null and b/modules/genrams/coregen_ip/blk_mem_gen_v4_1/blk_mem_output_block.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/Manifest.py b/modules/genrams/coregen_ip/fifo_generator_v6_1/Manifest.py
new file mode 100644
index 0000000000000000000000000000000000000000..d64a0f54ad4eea29df5fe32c0d48d54261d52f5a
--- /dev/null
+++ b/modules/genrams/coregen_ip/fifo_generator_v6_1/Manifest.py
@@ -0,0 +1,62 @@
+files = [
+"fifo_generator_v6_1_pkg.vhd",
+"fifo_generator_v6_1_defaults.vhd",
+"fifo_generator_v6_1_xst_comp.vhd",
+"input_blk.vhd",
+"output_blk.vhd",
+"shft_wrapper.vhd",
+"shft_ram.vhd",
+"dmem.vhd",
+"memory.vhd",
+"compare.vhd",
+"wr_bin_cntr.vhd",
+"rd_bin_cntr.vhd",
+"updn_cntr.vhd",
+"rd_status_flags_as.vhd",
+"rd_status_flags_ss.vhd",
+"rd_pe_as.vhd",
+"rd_pe_ss.vhd",
+"rd_handshaking_flags.vhd",
+"rd_dc_as.vhd",
+"rd_dc_fwft_ext_as.vhd",
+"dc_ss.vhd",
+"dc_ss_fwft.vhd",
+"rd_fwft.vhd",
+"rd_logic.vhd",
+"reset_blk_ramfifo.vhd",
+"clk_x_pntrs.vhd",
+"wr_status_flags_as.vhd",
+"wr_status_flags_ss.vhd",
+"wr_pf_as.vhd",
+"wr_pf_ss.vhd",
+"wr_handshaking_flags.vhd",
+"wr_dc_as.vhd",
+"wr_dc_fwft_ext_as.vhd",
+"wr_logic.vhd",
+"wr_status_flags_sshft.vhd",
+"rd_status_flags_sshft.vhd",
+"wr_pf_sshft.vhd",
+"rd_pe_sshft.vhd",
+"logic_sshft.vhd",
+"fifo_generator_ramfifo.vhd",
+"fifo_generator_v6_1_comps_builtin.vhd",
+"delay.vhd",
+"clk_x_pntrs_builtin.vhd",
+"bin_cntr.vhd",
+"logic_builtin.vhd",
+"reset_builtin.vhd",
+"builtin_prim.vhd",
+"builtin_extdepth.vhd",
+"builtin_top.vhd",
+"builtin_prim_v6.vhd",
+"builtin_extdepth_v6.vhd",
+"builtin_top_v6.vhd",
+"fifo_generator_v6_1_builtin.vhd",
+"rgtw.vhd",
+"wgtr.vhd",
+"input_block_fifo16_patch.vhd",
+"output_block_fifo16_patch.vhd",
+"fifo16_patch_top.vhd",
+"fifo_generator_v6_1_fifo16_patch.vhd",
+"fifo_generator_v6_1_xst.vhd"]
+library = "fifo_generator_v6_1"
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/bin_cntr.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/bin_cntr.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..1533b05195d55fe062a15e7d18d89f9283e15e22
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/bin_cntr.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/builtin_extdepth.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/builtin_extdepth.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..f7dd8ebc104b3cbcd1e283526a7f7e064853b1d9
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/builtin_extdepth.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/builtin_extdepth_v6.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/builtin_extdepth_v6.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..b864d5189456180f4d356385866a9eeefc740c68
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/builtin_extdepth_v6.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/builtin_prim.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/builtin_prim.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..0ff53596264d61f6b67a42cabc46f45884f3b781
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/builtin_prim.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/builtin_prim_v6.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/builtin_prim_v6.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..ef736229a45ae9b5e2a4ded297f65bbdf3415bd0
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/builtin_prim_v6.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/builtin_top.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/builtin_top.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..095cf6dc0bc5e55cb06dd5e9ea1cf50ba9ff66f4
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/builtin_top.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/builtin_top_v6.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/builtin_top_v6.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..4a4066d7cabca8989c809bc895f7a321bd17e84a
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/builtin_top_v6.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/clk_x_pntrs.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/clk_x_pntrs.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..79fddf71d95489c010d3ebe3eec86d4c78f1526a
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/clk_x_pntrs.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/clk_x_pntrs_builtin.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/clk_x_pntrs_builtin.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..7e09bbe927f97e0810c3210bdda700ef451f2ae5
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/clk_x_pntrs_builtin.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/compare.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/compare.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..89a19deda42ff264162e23e58170a6f2a6ca7ca5
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/compare.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/dc_ss.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/dc_ss.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..975425898b4fbf3afc04871618546f74dee6150c
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/dc_ss.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/dc_ss_fwft.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/dc_ss_fwft.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..07fad91fc0932920116ccae2e958bf9d660118d4
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/dc_ss_fwft.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/delay.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/delay.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..3467eb6245afa26c1be733dc7a0a59b6c1c0652d
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/delay.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/dmem.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/dmem.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..4569d2ee3cefaf2259aaca54937ff7c4cae0b507
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/dmem.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo16_patch_top.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo16_patch_top.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..f90ba64538e6d0cfc71b23d39834708c3a29084d
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo16_patch_top.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_ramfifo.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_ramfifo.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..c2efdd35d5d0828ae54c0ff8c84caf4fc9314476
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_ramfifo.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_builtin.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_builtin.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..ac92bee70cb05de671bd5cb8eb67360e4e446589
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_builtin.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_comps_builtin.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_comps_builtin.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..900a5849f36a46cdae0bc7cb860f1fb71a016cff
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_comps_builtin.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_defaults.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_defaults.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..6bc067893b8cf2dc2ca05735ddfb17786465f6f3
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_defaults.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_fifo16_patch.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_fifo16_patch.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..9a413758f62f511f07d97c6d8a3ea97cb8dde76b
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_fifo16_patch.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_pkg.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_pkg.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..4b1898f6fec915fb898be928dae408ac85b7ebe6
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_pkg.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_xst.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_xst.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..c5da3f502a0b615b27ea25694b94fec5455557e1
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_xst.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_xst_comp.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_xst_comp.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..86feb1e44cfc2d031403f966641cfbdeed1a58ed
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/fifo_generator_v6_1_xst_comp.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/input_blk.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/input_blk.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..ec995a11d68d2a0cf40442d82c8bb80ec79646ac
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/input_blk.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/input_block_fifo16_patch.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/input_block_fifo16_patch.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..5a5c82e89c838e885e62ecdc244fe21ed61a5b93
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/input_block_fifo16_patch.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/logic_builtin.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/logic_builtin.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..d510a85a2557d3b7fb7c619c3dcda39e134ad3bf
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/logic_builtin.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/logic_sshft.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/logic_sshft.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..c17e239929c1b063617a4d3e6f279dd8a37532df
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/logic_sshft.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/memory.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/memory.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..653371efce86a59cf56a48193adb6eff86a31628
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/memory.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/output_blk.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/output_blk.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..0af5361f9f8504462b028423026f5f5012a8b873
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/output_blk.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/output_block_fifo16_patch.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/output_block_fifo16_patch.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..b2d66b8f1ae8cfea10e429ce5e185243fbfb86bf
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/output_block_fifo16_patch.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_bin_cntr.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_bin_cntr.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..1270565a8b94a86fdf3e810c6d53d8b9e7e9a6e5
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_bin_cntr.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_dc_as.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_dc_as.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..4e7d7dd9ccae3e01ecf2b91485ce4c98f24a73a2
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_dc_as.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_dc_fwft_ext_as.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_dc_fwft_ext_as.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..3e23ccaa24cf05f1e139cf6a721bcd7b9b8ef387
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_dc_fwft_ext_as.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_fwft.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_fwft.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..09f9a8fd480dab8d8c2ec5f65af1fa971990ce84
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_fwft.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_handshaking_flags.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_handshaking_flags.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..1cdd2217971b9c3f65b524dcffb09ee9cb6b5d05
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_handshaking_flags.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_logic.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_logic.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..464e1d7a2e4ef0bccf6b6f0c5c75932c5edd9ca9
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_logic.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_pe_as.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_pe_as.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..066ee6be38880ebc6305f5220747846a013634d8
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_pe_as.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_pe_ss.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_pe_ss.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..1edd9f990b3d056d1ed068b01cdc1ef5298ff2f3
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_pe_ss.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_pe_sshft.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_pe_sshft.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..4f2ff8ec41575e29258ba3ae6f94ba958a65fd8f
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_pe_sshft.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_status_flags_as.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_status_flags_as.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..81e4f8a9adca50c4eeba77d9c29de78ef32dd5d7
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_status_flags_as.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_status_flags_ss.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_status_flags_ss.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..034a5ac53565b93d8030c9018161f6135edcb7fd
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_status_flags_ss.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_status_flags_sshft.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_status_flags_sshft.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..4cd641d243a058b8cf7a3a6c969ee68c25e32067
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/rd_status_flags_sshft.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/reset_blk_ramfifo.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/reset_blk_ramfifo.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..0787d57281bf331695b886fe886409ef7a5cc5ec
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/reset_blk_ramfifo.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/reset_builtin.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/reset_builtin.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..64e7e5371fb8eb5ad1487295963c76b95a176769
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/reset_builtin.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/rgtw.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/rgtw.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..5925f8939d98d0f0433684200cc137920be907ed
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/rgtw.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/shft_ram.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/shft_ram.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..1b98f03a5ed4be9003d39b6906ea40c9a1a53b7b
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/shft_ram.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/shft_wrapper.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/shft_wrapper.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..067adfc0212a184161f94296dc2706c3cc12b3c3
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/shft_wrapper.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/updn_cntr.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/updn_cntr.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..fc4b9937e9cb7441085fd32d94a9d852e149d358
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/updn_cntr.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/wgtr.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/wgtr.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..4ad2ab23a1cee9f87ead4e32b58de8f966aba4f1
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/wgtr.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_bin_cntr.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_bin_cntr.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..21bcf9f027d7aef067b65b763251703a29575425
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_bin_cntr.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_dc_as.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_dc_as.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..b7878556c9ffb3ae3faaf47ad91d9bb5d6888a95
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_dc_as.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_dc_fwft_ext_as.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_dc_fwft_ext_as.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..15f952e04ab488e1d35db2dd779dda87e51e1931
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_dc_fwft_ext_as.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_handshaking_flags.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_handshaking_flags.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..f78b4824ab38b8198af0eefb7657e10ab6097c19
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_handshaking_flags.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_logic.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_logic.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..2451dbe253a2da802644c2a028bfea65a44a4898
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_logic.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_pf_as.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_pf_as.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..7b7e69032fb73a42eafe7fdfdeba1fdd1e86d260
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_pf_as.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_pf_ss.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_pf_ss.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..7eb38f446cf094213aa60623b32b071cfe09924d
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_pf_ss.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_pf_sshft.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_pf_sshft.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..040e46687f4cd0d67e0cc9f903e7ab3bbd3b1113
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_pf_sshft.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_status_flags_as.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_status_flags_as.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..945ebcb7ffa8d8d003b3408ce41f70fb1a7e08dd
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_status_flags_as.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_status_flags_ss.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_status_flags_ss.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..8e41e4f20e92481757e82449c7748f249adb31cd
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_status_flags_ss.vhd differ
diff --git a/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_status_flags_sshft.vhd b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_status_flags_sshft.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..6f9e7887af0ebcd9eaf27fb84fd8f098e35c3155
Binary files /dev/null and b/modules/genrams/coregen_ip/fifo_generator_v6_1/wr_status_flags_sshft.vhd differ
diff --git a/modules/genrams/xilinx/generic_async_fifo.vhd b/modules/genrams/xilinx/generic_async_fifo.vhd
index 04e1dc454c1c3d9553424093ca7858485605e804..3c8e19c5395ee6e7f0eeb6853bfa31a59a70296b 100644
--- a/modules/genrams/xilinx/generic_async_fifo.vhd
+++ b/modules/genrams/xilinx/generic_async_fifo.vhd
@@ -6,7 +6,7 @@
 -- Author     : Tomasz Wlostowski
 -- Company    : CERN BE-CO-HT
 -- Created    : 2011-01-25
--- Last update: 2011-03-25
+-- Last update: 2011-05-07
 -- Platform   : 
 -- Standard   : VHDL'93
 -------------------------------------------------------------------------------
@@ -161,12 +161,12 @@ architecture syn of generic_async_fifo is
       backup                   : in  std_logic;
       backup_marker            : in  std_logic;
       din                      : in  std_logic_vector(g_data_width-1 downto 0);
-      prog_empty_thresh        : in  std_logic_vector(f_log2_size(g_size-1) downto 0);
-      prog_empty_thresh_assert : in  std_logic_vector(f_log2_size(g_size-1) downto 0);
-      prog_empty_thresh_negate : in  std_logic_vector(f_log2_size(g_size-1) downto 0);
-      prog_full_thresh         : in  std_logic_vector(f_log2_size(g_size-1) downto 0);
-      prog_full_thresh_assert  : in  std_logic_vector(f_log2_size(g_size-1) downto 0);
-      prog_full_thresh_negate  : in  std_logic_vector(f_log2_size(g_size-1) downto 0);
+      prog_empty_thresh        : in  std_logic_vector(f_log2_size(g_size)-1 downto 0);
+      prog_empty_thresh_assert : in  std_logic_vector(f_log2_size(g_size)-1 downto 0);
+      prog_empty_thresh_negate : in  std_logic_vector(f_log2_size(g_size)-1 downto 0);
+      prog_full_thresh         : in  std_logic_vector(f_log2_size(g_size)-1 downto 0);
+      prog_full_thresh_assert  : in  std_logic_vector(f_log2_size(g_size)-1 downto 0);
+      prog_full_thresh_negate  : in  std_logic_vector(f_log2_size(g_size)-1 downto 0);
       rd_clk                   : in  std_logic;
       rd_en                    : in  std_logic;
       rd_rst                   : in  std_logic;
@@ -180,7 +180,7 @@ architecture syn of generic_async_fifo is
       injectsbiterr            : in  std_logic;
       almost_empty             : out std_logic;
       almost_full              : out std_logic;
-      data_count               : out std_logic_vector(f_log2_size(g_size-1) downto 0);
+      data_count               : out std_logic_vector(f_log2_size(g_size)-1 downto 0);
       dout                     : out std_logic_vector(g_data_width-1 downto 0);
       empty                    : out std_logic;
       full                     : out std_logic;
@@ -188,10 +188,10 @@ architecture syn of generic_async_fifo is
       prog_empty               : out std_logic;
       prog_full                : out std_logic;
       valid                    : out std_logic;
-      rd_data_count            : out std_logic_vector(f_log2_size(g_size-1) downto 0);
+      rd_data_count            : out std_logic_vector(f_log2_size(g_size)-1 downto 0);
       underflow                : out std_logic;
       wr_ack                   : out std_logic;
-      wr_data_count            : out std_logic_vector(f_log2_size(g_size-1) downto 0);
+      wr_data_count            : out std_logic_vector(f_log2_size(g_size)-1 downto 0);
       sbiterr                  : out std_logic;
       dbiterr                  : out std_logic);
   end component;
diff --git a/modules/genrams/xilinx/generic_dpram.vhd b/modules/genrams/xilinx/generic_dpram.vhd
index 02e3ab8b5ddee0c025a0c0bcd292c1ac7556dd1f..3013293072fe2f816d4b6dacbe157b66fae8eb9f 100644
--- a/modules/genrams/xilinx/generic_dpram.vhd
+++ b/modules/genrams/xilinx/generic_dpram.vhd
@@ -6,7 +6,7 @@
 -- Author     : Tomasz Wlostowski
 -- Company    : CERN BE-CO-HT
 -- Created    : 2011-01-25
--- Last update: 2011-04-10
+-- Last update: 2011-05-10
 -- Platform   : 
 -- Standard   : VHDL'93
 -------------------------------------------------------------------------------
@@ -86,6 +86,9 @@ architecture syn of generic_dpram is
   -- Takes parameters
   --   filename : Name of the file from which to read data
 
+
+	
+
   impure function read_meminit_file(
     filename : string
     ) return t_ram_type is                                                                    
diff --git a/modules/genrams/xilinx/generic_sync_fifo.vhd b/modules/genrams/xilinx/generic_sync_fifo.vhd
index bf4accebf1829e12e547e7b7699b56505c72fc28..16b2be84dd196373ab06f71d9865f73a098fd8b5 100644
--- a/modules/genrams/xilinx/generic_sync_fifo.vhd
+++ b/modules/genrams/xilinx/generic_sync_fifo.vhd
@@ -6,7 +6,7 @@
 -- Author     : Tomasz Wlostowski
 -- Company    : CERN BE-CO-HT
 -- Created    : 2011-01-25
--- Last update: 2011-03-25
+-- Last update: 2011-05-07
 -- Platform   : 
 -- Standard   : VHDL'93
 -------------------------------------------------------------------------------
@@ -143,12 +143,12 @@ architecture syn of generic_sync_fifo is
       backup                   : in  std_logic;
       backup_marker            : in  std_logic;
       din                      : in  std_logic_vector(g_data_width-1 downto 0);
-      prog_empty_thresh        : in  std_logic_vector(f_log2_size(g_size-1) downto 0);
-      prog_empty_thresh_assert : in  std_logic_vector(f_log2_size(g_size-1) downto 0);
-      prog_empty_thresh_negate : in  std_logic_vector(f_log2_size(g_size-1) downto 0);
-      prog_full_thresh         : in  std_logic_vector(f_log2_size(g_size-1) downto 0);
-      prog_full_thresh_assert  : in  std_logic_vector(f_log2_size(g_size-1) downto 0);
-      prog_full_thresh_negate  : in  std_logic_vector(f_log2_size(g_size-1) downto 0);
+      prog_empty_thresh        : in  std_logic_vector(f_log2_size(g_size)-1 downto 0);
+      prog_empty_thresh_assert : in  std_logic_vector(f_log2_size(g_size)-1 downto 0);
+      prog_empty_thresh_negate : in  std_logic_vector(f_log2_size(g_size)-1 downto 0);
+      prog_full_thresh         : in  std_logic_vector(f_log2_size(g_size)-1 downto 0);
+      prog_full_thresh_assert  : in  std_logic_vector(f_log2_size(g_size)-1 downto 0);
+      prog_full_thresh_negate  : in  std_logic_vector(f_log2_size(g_size)-1 downto 0);
       rd_clk                   : in  std_logic;
       rd_en                    : in  std_logic;
       rd_rst                   : in  std_logic;
@@ -162,7 +162,7 @@ architecture syn of generic_sync_fifo is
       injectsbiterr            : in  std_logic;
       almost_empty             : out std_logic;
       almost_full              : out std_logic;
-      data_count               : out std_logic_vector(f_log2_size(g_size-1) downto 0);
+      data_count               : out std_logic_vector(f_log2_size(g_size)-1 downto 0);
       dout                     : out std_logic_vector(g_data_width-1 downto 0);
       empty                    : out std_logic;
       full                     : out std_logic;
@@ -170,10 +170,10 @@ architecture syn of generic_sync_fifo is
       prog_empty               : out std_logic;
       prog_full                : out std_logic;
       valid                    : out std_logic;
-      rd_data_count            : out std_logic_vector(f_log2_size(g_size-1) downto 0);
+      rd_data_count            : out std_logic_vector(f_log2_size(g_size)-1 downto 0);
       underflow                : out std_logic;
       wr_ack                   : out std_logic;
-      wr_data_count            : out std_logic_vector(f_log2_size(g_size-1) downto 0);
+      wr_data_count            : out std_logic_vector(f_log2_size(g_size)-1 downto 0);
       sbiterr                  : out std_logic;
       dbiterr                  : out std_logic);
   end component;
diff --git a/modules/wishbone/wb_async_bridge/Manifest.py b/modules/wishbone/wb_async_bridge/Manifest.py
new file mode 100644
index 0000000000000000000000000000000000000000..da4fbcbdba01c4543c6301efe16a1c76d39da6a6
--- /dev/null
+++ b/modules/wishbone/wb_async_bridge/Manifest.py
@@ -0,0 +1 @@
+files = ["wb_cpu_bridge.vhd"]
diff --git a/modules/wishbone/wb_async_bridge/wb_cpu_bridge.vhd b/modules/wishbone/wb_async_bridge/wb_cpu_bridge.vhd
index 9062e13942a5d40a4a1f0dd007546e716498c654..c9f0f3eede38d8d8f683d313ab29c8e342120608 100644
--- a/modules/wishbone/wb_async_bridge/wb_cpu_bridge.vhd
+++ b/modules/wishbone/wb_async_bridge/wb_cpu_bridge.vhd
@@ -31,8 +31,9 @@ use ieee.numeric_std.all;
 use ieee.math_real.log2;
 use ieee.math_real.ceil;
 
+
+use work.gencores_pkg.all;
 use work.wishbone_pkg.all;
-use work.common_components.all;
 
 entity wb_cpu_bridge is
   generic (
@@ -117,7 +118,7 @@ begin
 
   gen_sync_chains_nosim : if(g_simulation = 0) generate
 
-    sync_ffs_cs : sync_ffs
+    sync_ffs_cs : gc_sync_ffs
       generic map (
         g_sync_edge => "positive")
       port map
@@ -128,7 +129,7 @@ begin
        npulse_o => open
        );
 
-    sync_ffs_wr : sync_ffs
+    sync_ffs_wr : gc_sync_ffs
       generic map (
         g_sync_edge => "positive")
       port map (
@@ -139,7 +140,7 @@ begin
         npulse_o => wr_pulse
         );
 
-    sync_ffs_rd : sync_ffs
+    sync_ffs_rd : gc_sync_ffs
       generic map (
         g_sync_edge => "positive")
       port map (
diff --git a/modules/wishbone/wb_gpio_port/Manifest.py b/modules/wishbone/wb_gpio_port/Manifest.py
new file mode 100644
index 0000000000000000000000000000000000000000..cd4aae4f47d29d26476e0b1ebf6f0a232f28ade5
--- /dev/null
+++ b/modules/wishbone/wb_gpio_port/Manifest.py
@@ -0,0 +1 @@
+files = ["wb_gpio_port.vhd"];
\ No newline at end of file
diff --git a/modules/wishbone/wb_gpio_port/wb_gpio_port.vhd b/modules/wishbone/wb_gpio_port/wb_gpio_port.vhd
index 5f5ddbb490e0394ad8056f55cf92df25b34ac00a..0a5bf91cd4b369ba71b03c2f0b6fe8501f9e666c 100644
--- a/modules/wishbone/wb_gpio_port/wb_gpio_port.vhd
+++ b/modules/wishbone/wb_gpio_port/wb_gpio_port.vhd
@@ -26,7 +26,7 @@ use ieee.std_logic_arith.all;
 library work;
 
 use work.wishbone_pkg.all;
-use work.common_components.all;
+use work.gencores_pkg.all;
 
 entity wb_gpio_port is
   generic(g_num_pins : natural := 8     -- number of GPIO pins
@@ -71,7 +71,7 @@ begin
 
 
   GEN_SYNC_FFS : for i in 0 to g_num_pins-1 generate
-    INPUT_SYNC : sync_ffs
+    INPUT_SYNC : gc_sync_ffs
       generic map (
         g_sync_edge => "positive")
       port map (
diff --git a/modules/wishbone/wb_i2c_master/i2c_master_top.vhd b/modules/wishbone/wb_i2c_master/i2c_master_top.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..f1a63eddbd6b81521f614cdd7ba773c2db51d255
--- /dev/null
+++ b/modules/wishbone/wb_i2c_master/i2c_master_top.vhd
@@ -0,0 +1,359 @@
+---------------------------------------------------------------------
+----                                                             ----
+----  WISHBONE revB2 compl. I2C Master Core; top level           ----
+----                                                             ----
+----                                                             ----
+----  Author: Richard Herveille                                  ----
+----          richard@asics.ws                                   ----
+----          www.asics.ws                                       ----
+----                                                             ----
+----  Downloaded from: http://www.opencores.org/projects/i2c/    ----
+----                                                             ----
+---------------------------------------------------------------------
+----                                                             ----
+---- Copyright (C) 2000 Richard Herveille                        ----
+----                    richard@asics.ws                         ----
+----                                                             ----
+---- This source file may be used and distributed without        ----
+---- restriction provided that this copyright statement is not   ----
+---- removed from the file and that any derivative work contains ----
+---- the original copyright notice and the associated disclaimer.----
+----                                                             ----
+----     THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY     ----
+---- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED   ----
+---- TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS   ----
+---- FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR      ----
+---- OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,         ----
+---- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES    ----
+---- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE   ----
+---- GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR        ----
+---- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF  ----
+---- LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT  ----
+---- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT  ----
+---- OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE         ----
+---- POSSIBILITY OF SUCH DAMAGE.                                 ----
+----                                                             ----
+---------------------------------------------------------------------
+
+--  CVS Log
+--
+--  $Id: i2c_master_top.vhd,v 1.8 2009-01-20 10:38:45 rherveille Exp $
+--
+--  $Date: 2009-01-20 10:38:45 $
+--  $Revision: 1.8 $
+--  $Author: rherveille $
+--  $Locker:  $
+--  $State: Exp $
+--
+-- Change History:
+--               Revision 1.7  2004/03/14 10:17:03  rherveille
+--               Fixed simulation issue when writing to CR register
+--
+--               Revision 1.6  2003/08/09 07:01:13  rherveille
+--               Fixed a bug in the Arbitration Lost generation caused by delay on the (external) sda line.
+--               Fixed a potential bug in the byte controller's host-acknowledge generation.
+--
+--               Revision 1.5  2003/02/01 02:03:06  rherveille
+--               Fixed a few 'arbitration lost' bugs. VHDL version only.
+--
+--               Revision 1.4  2002/12/26 16:05:47  rherveille
+--               Core is now a Multimaster I2C controller.
+--
+--               Revision 1.3  2002/11/30 22:24:37  rherveille
+--               Cleaned up code
+--
+--               Revision 1.2  2001/11/10 10:52:44  rherveille
+--               Changed PRER reset value from 0x0000 to 0xffff, conform specs.
+--
+
+
+library ieee;
+use ieee.std_logic_1164.all;
+--use ieee.std_logic_arith.all;
+use ieee.numeric_std.all;
+
+entity i2c_master_top is
+    generic(
+            ARST_LVL : std_logic := '0'                   -- asynchronous reset level
+    );
+    port   (
+            -- wishbone signals
+            wb_clk_i      : in  std_logic;                    -- master clock input
+            wb_rst_i      : in  std_logic := '0';             -- synchronous active high reset
+            arst_i        : in  std_logic := not ARST_LVL;    -- asynchronous reset
+            wb_adr_i      : in  std_logic_vector(2 downto 0); -- lower address bits
+            wb_dat_i      : in  std_logic_vector(7 downto 0); -- Databus input
+            wb_dat_o      : out std_logic_vector(7 downto 0); -- Databus output
+            wb_we_i       : in  std_logic;                    -- Write enable input
+            wb_stb_i      : in  std_logic;                    -- Strobe signals / core select signal
+            wb_cyc_i      : in  std_logic;                    -- Valid bus cycle input
+            wb_ack_o      : out std_logic;                    -- Bus cycle acknowledge output
+            wb_inta_o     : out std_logic;                    -- interrupt request output signal
+
+            -- i2c lines
+            scl_pad_i     : in  std_logic;                    -- i2c clock line input
+            scl_pad_o     : out std_logic;                    -- i2c clock line output
+            scl_padoen_o  : out std_logic;                    -- i2c clock line output enable, active low
+            sda_pad_i     : in  std_logic;                    -- i2c data line input
+            sda_pad_o     : out std_logic;                    -- i2c data line output
+            sda_padoen_o  : out std_logic                     -- i2c data line output enable, active low
+    );
+end entity i2c_master_top;
+
+architecture structural of i2c_master_top is
+    component i2c_master_byte_ctrl is
+    port (
+          clk    : in std_logic;
+          rst    : in std_logic; -- synchronous active high reset (WISHBONE compatible)
+          nReset : in std_logic; -- asynchornous active low reset (FPGA compatible)
+          ena    : in std_logic; -- core enable signal
+
+          clk_cnt : in unsigned(15 downto 0); -- 4x SCL
+
+          -- input signals
+          start,
+          stop,
+          read,
+          write,
+          ack_in : std_logic;
+          din    : in std_logic_vector(7 downto 0);
+
+          -- output signals
+          cmd_ack  : out std_logic;
+          ack_out  : out std_logic;
+          i2c_busy : out std_logic;
+          i2c_al   : out std_logic;
+          dout     : out std_logic_vector(7 downto 0);
+
+          -- i2c lines
+          scl_i   : in std_logic;  -- i2c clock line input
+          scl_o   : out std_logic; -- i2c clock line output
+          scl_oen : out std_logic; -- i2c clock line output enable, active low
+          sda_i   : in std_logic;  -- i2c data line input
+          sda_o   : out std_logic; -- i2c data line output
+          sda_oen : out std_logic  -- i2c data line output enable, active low
+    );
+    end component i2c_master_byte_ctrl;
+
+    -- registers
+    signal prer : unsigned(15 downto 0);             -- clock prescale register
+    signal ctr  : std_logic_vector(7 downto 0);      -- control register
+    signal txr  : std_logic_vector(7 downto 0);      -- transmit register
+    signal rxr  : std_logic_vector(7 downto 0);      -- receive register
+    signal cr   : std_logic_vector(7 downto 0);      -- command register
+    signal sr   : std_logic_vector(7 downto 0);      -- status register
+
+    -- internal reset signal
+    signal rst_i : std_logic;
+
+    -- wishbone write access
+    signal wb_wacc : std_logic;
+
+    -- internal acknowledge signal
+    signal iack_o : std_logic;
+
+    -- done signal: command completed, clear command register
+    signal done : std_logic;
+
+    -- command register signals
+    signal sta, sto, rd, wr, ack, iack : std_logic;
+
+    signal core_en : std_logic;                      -- core enable signal
+    signal ien     : std_logic;                      -- interrupt enable signal
+
+    -- status register signals
+    signal irxack, rxack : std_logic;                -- received aknowledge from slave
+    signal tip           : std_logic;                -- transfer in progress
+    signal irq_flag      : std_logic;                -- interrupt pending flag
+    signal i2c_busy      : std_logic;                -- i2c bus busy (start signal detected)
+    signal i2c_al, al    : std_logic;                -- arbitration lost
+
+begin
+    -- generate internal reset signal
+    rst_i <= arst_i xor ARST_LVL;
+
+    -- generate acknowledge output signal
+    gen_ack_o : process(wb_clk_i)
+    begin
+        if (wb_clk_i'event and wb_clk_i = '1') then
+            iack_o <= wb_cyc_i and wb_stb_i and not iack_o;         -- because timing is always honored
+        end if;
+    end process gen_ack_o;
+    wb_ack_o <= iack_o;
+
+    -- generate wishbone write access signal
+    wb_wacc <= wb_we_i and iack_o;
+
+    -- assign wb_dat_o
+    assign_dato : process(wb_clk_i)
+    begin
+        if (wb_clk_i'event and wb_clk_i = '1') then
+            case wb_adr_i is
+                when "000"  => wb_dat_o <= std_logic_vector(prer( 7 downto 0));
+                when "001"  => wb_dat_o <= std_logic_vector(prer(15 downto 8));
+                when "010"  => wb_dat_o <= ctr;
+                when "011"  => wb_dat_o <= rxr; -- write is transmit register TxR
+                when "100"  => wb_dat_o <= sr;  -- write is command register CR
+
+                -- Debugging registers:
+                -- These registers are not documented.
+                -- Functionality could change in future releases
+                when "101"  => wb_dat_o <= txr;
+                when "110"  => wb_dat_o <= cr;
+                when "111"  => wb_dat_o <= (others => '0');
+                when others => wb_dat_o <= (others => 'X'); -- for simulation only
+            end case;
+        end if;
+    end process assign_dato;
+
+
+    -- generate registers (CR, SR see below)
+    gen_regs: process(rst_i, wb_clk_i)
+    begin
+        if (rst_i = '0') then
+            prer <= (others => '1');
+            ctr  <= (others => '0');
+            txr  <= (others => '0');
+        elsif (wb_clk_i'event and wb_clk_i = '1') then
+               if (wb_rst_i = '1') then
+                   prer <= (others => '1');
+                   ctr  <= (others => '0');
+                   txr  <= (others => '0');
+               elsif (wb_wacc = '1') then
+                   case wb_adr_i is
+                       when "000" => prer( 7 downto 0) <= unsigned(wb_dat_i);
+                       when "001" => prer(15 downto 8) <= unsigned(wb_dat_i);
+                       when "010" => ctr               <= wb_dat_i;
+                       when "011" => txr               <= wb_dat_i;
+                       when "100" => null; --write to CR, avoid executing the others clause
+
+                      -- illegal cases, for simulation only
+                      when others =>
+                          report ("Illegal write address, setting all registers to unknown.");
+                          prer <= (others => 'X');
+                          ctr  <= (others => 'X');
+                          txr  <= (others => 'X');
+                   end case;
+               end if;
+        end if;
+    end process gen_regs;
+
+
+    -- generate command register
+    gen_cr: process(rst_i, wb_clk_i)
+    begin
+        if (rst_i = '0') then
+            cr <= (others => '0');
+        elsif (wb_clk_i'event and wb_clk_i = '1') then
+            if (wb_rst_i = '1') then
+                cr <= (others => '0');
+            elsif (wb_wacc = '1') then
+                if ( (core_en = '1') and (wb_adr_i = "100") ) then
+                    -- only take new commands when i2c core enabled
+                    -- pending commands are finished
+                    cr <= wb_dat_i;
+                end if;
+            else
+                if (done = '1' or i2c_al = '1') then
+                    cr(7 downto 4) <= (others => '0'); -- clear command bits when command done or arbitration lost
+                end if;
+
+                cr(2 downto 1) <= (others => '0');   -- reserved bits, always '0'
+                cr(0) <= '0';                        -- clear IRQ_ACK bit
+            end if;
+        end if;
+    end process gen_cr;
+
+    -- decode command register
+    sta  <= cr(7);
+    sto  <= cr(6);
+    rd   <= cr(5);
+    wr   <= cr(4);
+    ack  <= cr(3);
+    iack <= cr(0);
+
+    -- decode control register
+    core_en <= ctr(7);
+    ien     <= ctr(6);
+
+    -- hookup byte controller block
+    byte_ctrl: i2c_master_byte_ctrl
+    port map (
+              clk      => wb_clk_i,
+              rst      => wb_rst_i,
+              nReset   => rst_i,
+              ena      => core_en,
+              clk_cnt  => prer,
+              start    => sta,
+              stop     => sto,
+              read     => rd,
+              write    => wr,
+              ack_in   => ack,
+              i2c_busy => i2c_busy,
+              i2c_al   => i2c_al,
+              din      => txr,
+              cmd_ack  => done,
+              ack_out  => irxack,
+              dout     => rxr,
+              scl_i    => scl_pad_i,
+              scl_o    => scl_pad_o,
+              scl_oen  => scl_padoen_o,
+              sda_i    => sda_pad_i,
+              sda_o    => sda_pad_o,
+              sda_oen  => sda_padoen_o
+    );
+
+
+    -- status register block + interrupt request signal
+    st_irq_block : block
+    begin
+        -- generate status register bits
+        gen_sr_bits: process (wb_clk_i, rst_i)
+        begin
+            if (rst_i = '0') then
+                al       <= '0';
+                rxack    <= '0';
+                tip      <= '0';
+                irq_flag <= '0';
+            elsif (wb_clk_i'event and wb_clk_i = '1') then
+                   if (wb_rst_i = '1') then
+                       al       <= '0';
+                       rxack    <= '0';
+                       tip      <= '0';
+                       irq_flag <= '0';
+                   else
+                       al       <= i2c_al or (al and not sta);
+                       rxack    <= irxack;
+                       tip      <= (rd or wr);
+
+                       -- interrupt request flag is always generated
+                       irq_flag <= (done or i2c_al or irq_flag) and not iack;
+                   end if;
+            end if;
+        end process gen_sr_bits;
+
+        -- generate interrupt request signals
+        gen_irq: process (wb_clk_i, rst_i)
+        begin
+            if (rst_i = '0') then
+                wb_inta_o <= '0';
+            elsif (wb_clk_i'event and wb_clk_i = '1') then
+                   if (wb_rst_i = '1') then
+                       wb_inta_o <= '0';
+                   else
+                       -- interrupt signal is only generated when IEN (interrupt enable bit) is set
+                       wb_inta_o <= irq_flag and ien;
+                   end if;
+            end if;
+        end process gen_irq;
+
+        -- assign status register bits
+        sr(7)          <= rxack;
+        sr(6)          <= i2c_busy;
+        sr(5)          <= al;
+        sr(4 downto 2) <= (others => '0'); -- reserved
+        sr(1)          <= tip;
+        sr(0)          <= irq_flag;
+    end block;
+
+end architecture structural;
diff --git a/modules/wishbone/wb_onewire_master/sockit_owm.v b/modules/wishbone/wb_onewire_master/sockit_owm.v
new file mode 100644
index 0000000000000000000000000000000000000000..b4dd74e8eb1aa2dd984f4ecdf00266a863f0a76a
--- /dev/null
+++ b/modules/wishbone/wb_onewire_master/sockit_owm.v
@@ -0,0 +1,419 @@
+//////////////////////////////////////////////////////////////////////////////
+//                                                                          //
+//  Minimalistic 1-wire (onewire) master with Avalon MM bus interface       //
+//                                                                          //
+//  Copyright (C) 2010  Iztok Jeras                                         //
+//                                                                          //
+//////////////////////////////////////////////////////////////////////////////
+//                                                                          //
+//  This RTL is free hardware: you can redistribute it and/or modify        //
+//  it under the terms of the GNU Lesser General Public License             //
+//  as published by the Free Software Foundation, either                    //
+//  version 3 of the License, or (at your option) any later version.        //
+//                                                                          //
+//  This RTL is distributed in the hope that it will be useful,             //
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of          //
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           //
+//  GNU General Public License for more details.                            //
+//                                                                          //
+//  You should have received a copy of the GNU General Public License       //
+//  along with this program.  If not, see <http://www.gnu.org/licenses/>.   //
+//                                                                          //
+//////////////////////////////////////////////////////////////////////////////
+
+
+//////////////////////////////////////////////////////////////////////////////
+//                                                                          //
+// The clock divider parameter is computed with the next formula:           //
+//                                                                          //
+// CDR_N = f_CLK * BTP_N - 1  (example: CDR_N = 1MHz * 5.0us - 1 = 5-1)     //
+// CDR_O = f_CLK * BTP_O - 1  (example: CDR_O = 1MHz * 1.0us - 1 = 1-1)     //
+//                                                                          //
+// If the dividing factor is not a round integer, than the timing of the    //
+// controller will be slightly off, and would support only a subset of      //
+// 1-wire devices with timing closer to the typical 30us slot.              //
+//                                                                          //
+// Base time periods BTP_N = "5.0" and BTP_O = "1.0" are optimized for      //
+// onewire timing. The default timing restricts the range of available      //
+// frequences to multiples of 1MHz.                                         //
+//                                                                          //
+// If even this restrictions are too strict use timing BTP_N = "6.0" and    //
+// BTP_O = "0.5", where the actual periods can be in the range:             //
+// 6.0us <= BTP_N <= 7.5us                                                  //
+// 0.5us <= BTP_O <= 0.66us                                                 //
+//                                                                          //
+// A third timing option is available for normal mode BTP_N = "7.5", this   //
+// option is optimized for logic size.                                      //
+//                                                                          //
+//////////////////////////////////////////////////////////////////////////////
+
+module sockit_owm #(
+  // enable implementation of optional functionality
+  parameter OVD_E =    1,  // overdrive functionality is implemented by default
+  parameter CDR_E =    1,  // clock divider register is implemented by default
+  // interface parameters
+  parameter BDW   =   32,  // bus data width
+  parameter OWN   =    1,  // number of 1-wire ports
+  // computed bus address port width
+`ifdef __ICARUS__
+  parameter BAW   = (BDW==32) ? 1 : 2,
+`else
+  parameter BAW   = 1,  // TODO, the above is correct, but does not work well with Altera SOPC Builder
+`endif
+  // base time period
+  parameter BTP_N = "5.0", // normal    mode (5.0us, options are "7.5", "5.0" and "6.0")
+  parameter BTP_O = "1.0", // overdrive mode (1.0us, options are "1.0",       and "0.5")
+  // normal mode timing
+  parameter T_RSTH_N = (BTP_N == "7.5") ?  64 : (BTP_N == "5.0") ?  96 :  80,  // reset high
+  parameter T_RSTL_N = (BTP_N == "7.5") ?  64 : (BTP_N == "5.0") ?  96 :  80,  // reset low
+  parameter T_RSTP_N = (BTP_N == "7.5") ?  10 : (BTP_N == "5.0") ?  15 :  10,  // reset presence pulse
+  parameter T_DAT0_N = (BTP_N == "7.5") ?   8 : (BTP_N == "5.0") ?  12 :  10,  // bit 0 low
+  parameter T_DAT1_N = (BTP_N == "7.5") ?   1 : (BTP_N == "5.0") ?   1 :   1,  // bit 1 low
+  parameter T_BITS_N = (BTP_N == "7.5") ?   2 : (BTP_N == "5.0") ?   3 :   2,  // bit sample
+  parameter T_RCVR_N = (BTP_N == "7.5") ?   1 : (BTP_N == "5.0") ?   1 :   1,  // recovery
+  parameter T_IDLE_N = (BTP_N == "7.5") ? 128 : (BTP_N == "5.0") ? 200 : 160,  // idle timer
+  // overdrive mode timing
+  parameter T_RSTH_O = (BTP_O == "1.0") ?  48 :  96,  // reset high
+  parameter T_RSTL_O = (BTP_O == "1.0") ?  48 :  96,  // reset low
+  parameter T_RSTP_O = (BTP_O == "1.0") ?  10 :  15,  // reset presence pulse
+  parameter T_DAT0_O = (BTP_O == "1.0") ?   6 :  12,  // bit 0 low
+  parameter T_DAT1_O = (BTP_O == "1.0") ?   1 :   2,  // bit 1 low
+  parameter T_BITS_O = (BTP_O == "1.0") ?   2 :   3,  // bit sample
+  parameter T_RCVR_O = (BTP_O == "1.0") ?   2 :   4,  // recovery
+  parameter T_IDLE_O = (BTP_O == "1.0") ?  96 : 192,  // idle timer
+  // clock divider ratios (defaults are for a 2MHz clock)
+  parameter CDR_N = 5-1,  // normal    mode
+  parameter CDR_O = 1-1   // overdrive mode
+)(
+  // system signals
+  input            clk,
+  input            rst,
+  // CPU bus interface
+  input            bus_ren,  // read  enable
+  input            bus_wen,  // write enable
+  input  [BAW-1:0] bus_adr,  // address
+  input  [BDW-1:0] bus_wdt,  // write data
+  output [BDW-1:0] bus_rdt,  // read  data
+  output           bus_irq,  // interrupt request
+  // 1-wire interface
+  output [OWN-1:0] owr_p,    // output power enable
+  output [OWN-1:0] owr_e,    // output pull down enable
+  input  [OWN-1:0] owr_i     // input from bidirectional wire
+);
+
+//////////////////////////////////////////////////////////////////////////////
+// local parameters
+//////////////////////////////////////////////////////////////////////////////
+
+// size of combined power and select registers
+localparam PDW = (BDW==32) ? 24 : 8;
+
+// size of boudrate generator counter (divider for normal mode is largest)
+localparam CDW = CDR_E ? ((BDW==32) ? 16 : 8) : $clog2(CDR_N);
+
+// size of port select signal
+localparam SDW = $clog2(OWN);
+
+// size of cycle timing counter
+localparam TDW =       (T_RSTH_O+T_RSTL_O) >       (T_RSTH_N+T_RSTL_N)
+               ? $clog2(T_RSTH_O+T_RSTL_O) : $clog2(T_RSTH_N+T_RSTL_N);
+
+//////////////////////////////////////////////////////////////////////////////
+// local signals
+//////////////////////////////////////////////////////////////////////////////
+
+// address dependent write enable
+wire bus_ren_ctl_sts;
+wire bus_wen_ctl_sts;
+wire bus_wen_pwr_sel;
+wire bus_wen_cdr_n;
+wire bus_wen_cdr_o;
+
+// read data bus segments
+wire     [7:0] bus_rdt_ctl_sts;
+wire [PDW-1:0] bus_rdt_pwr_sel;
+
+// clock divider
+reg  [CDW-1:0] div;
+reg  [CDW-1:0] cdr_n;
+reg  [CDW-1:0] cdr_o;
+wire           pls;
+
+// cycle control and status
+reg            owr_cyc;  // cycle status
+reg  [TDW-1:0] cnt;      // cycle counter
+
+// port select
+//generate if (OWN>1) begin : sel_declaration
+reg  [SDW-1:0] owr_sel;
+//end endgenerate
+
+// modified input data for overdrive
+wire           req_ovd;
+
+// onewire signals
+reg  [OWN-1:0] owr_pwr;  // power
+reg            owr_ovd;  // overdrive
+reg            owr_rst;  // reset
+reg            owr_dat;  // data bit
+reg            owr_smp;  // sample bit
+
+reg            owr_oen;  // output enable
+wire           owr_iln;  // input line
+
+// interrupt signals
+reg            irq_ena;  // interrupt enable
+reg            irq_sts;  // interrupt status
+
+// timing signals
+wire [TDW-1:0] t_idl ;   // idle                 cycle    time
+wire [TDW-1:0] t_rst ;   // reset                cycle    time
+wire [TDW-1:0] t_bit ;   // data bit             cycle    time
+wire [TDW-1:0] t_rstp;   // reset presence pulse sampling time
+wire [TDW-1:0] t_rsth;   // reset                release  time
+wire [TDW-1:0] t_dat0;   // data bit 0           release  time
+wire [TDW-1:0] t_dat1;   // data bit 1           release  time
+wire [TDW-1:0] t_bits;   // data bit             sampling time
+wire [TDW-1:0] t_zero;   // end of               cycle    time
+
+//////////////////////////////////////////////////////////////////////////////
+// cycle timing
+//////////////////////////////////////////////////////////////////////////////
+
+// idle time
+assign t_idl  = req_ovd ? T_IDLE_O                       : T_IDLE_N                      ;
+// reset cycle time (reset low + reset hight)
+assign t_rst  = req_ovd ? T_RSTL_O + T_RSTH_O            : T_RSTL_N + T_RSTH_N           ;
+// data bit cycle time (write 0 + recovery)
+assign t_bit  = req_ovd ? T_DAT0_O +          + T_RCVR_O : T_DAT0_N +            T_RCVR_N;
+
+// reset presence pulse sampling time (reset high - reset presence)
+assign t_rstp = owr_ovd ? T_RSTH_O - T_RSTP_O            : T_RSTH_N - T_RSTP_N           ;
+// reset      release time (reset high)
+assign t_rsth = owr_ovd ? T_RSTH_O                       : T_RSTH_N                      ;
+
+// data bit 0 release time (write bit 0 - write bit 0 + recovery)
+assign t_dat0 = owr_ovd ? T_DAT0_O - T_DAT0_O + T_RCVR_O : T_DAT0_N - T_DAT0_N + T_RCVR_N;
+// data bit 1 release time (write bit 0 - write bit 1 + recovery)
+assign t_dat1 = owr_ovd ? T_DAT0_O - T_DAT1_O + T_RCVR_O : T_DAT0_N - T_DAT1_N + T_RCVR_N;
+// data bit sampling time (write bit 0 - write bit 1 + recovery)
+assign t_bits = owr_ovd ? T_DAT0_O - T_BITS_O + T_RCVR_O : T_DAT0_N - T_BITS_N + T_RCVR_N;
+
+// end of cycle time
+assign t_zero = 'd0;
+
+//////////////////////////////////////////////////////////////////////////////
+// bus read
+//////////////////////////////////////////////////////////////////////////////
+
+// bus segnemt - controll/status register
+assign bus_rdt_ctl_sts = {irq_ena, irq_sts, 1'b0, owr_pwr[0], owr_cyc, owr_ovd, owr_rst, owr_dat};
+
+// bus segnemt - power and select register
+generate
+  if (BDW==32) begin
+    if (OWN>1) begin
+      assign bus_rdt_pwr_sel = {{16-OWN{1'b0}}, owr_pwr, 4'h0, {4-SDW{1'b0}}, owr_sel};
+    end else begin
+      assign bus_rdt_pwr_sel = 24'h0000_00;
+    end
+  end else if (BDW==8) begin
+    if (OWN>1) begin
+      assign bus_rdt_pwr_sel = {{ 4-OWN{1'b0}}, owr_pwr,       {4-SDW{1'b0}}, owr_sel};
+    end else begin
+      assign bus_rdt_pwr_sel = 8'hxx;
+    end
+  end
+endgenerate
+
+// bus read data
+generate if (BDW==32) begin
+  assign bus_rdt = (bus_adr[0]==1'b0) ? {bus_rdt_pwr_sel, bus_rdt_ctl_sts} : (cdr_o << 16 | cdr_n);
+end else if (BDW==8) begin
+  assign bus_rdt = (bus_adr[1]==1'b0) ? ((bus_adr[0]==1'b0) ? bus_rdt_ctl_sts
+                                                            : bus_rdt_pwr_sel)
+                                      : ((bus_adr[0]==1'b0) ? cdr_n
+                                                            : cdr_o          );
+end endgenerate
+
+//////////////////////////////////////////////////////////////////////////////
+// bus write
+//////////////////////////////////////////////////////////////////////////////
+
+// combined write/read enable and address decoder
+generate if (BDW==32) begin
+  assign bus_ren_ctl_sts = bus_ren & bus_adr[0] == 1'b0;
+  assign bus_wen_ctl_sts = bus_wen & bus_adr[0] == 1'b0;
+  assign bus_wen_pwr_sel = bus_wen & bus_adr[0] == 1'b0;
+  assign bus_wen_cdr_n   = bus_wen & bus_adr[0] == 1'b1;
+  assign bus_wen_cdr_o   = bus_wen & bus_adr[0] == 1'b1;
+end else if (BDW==8) begin
+  assign bus_ren_ctl_sts = bus_ren & bus_adr[1:0] == 2'b00;
+  assign bus_wen_ctl_sts = bus_wen & bus_adr[1:0] == 2'b00;
+  assign bus_wen_pwr_sel = bus_wen & bus_adr[1:0] == 2'b01;
+  assign bus_wen_cdr_n   = bus_wen & bus_adr[1:0] == 2'b10;
+  assign bus_wen_cdr_o   = bus_wen & bus_adr[1:0] == 2'b11;
+end endgenerate
+
+//////////////////////////////////////////////////////////////////////////////
+// clock divider
+//////////////////////////////////////////////////////////////////////////////
+
+// clock divider ratio registers
+generate
+  if (CDR_E) begin
+    if (BDW==32) begin
+      always @ (posedge clk, posedge rst)
+      if (rst) begin
+        cdr_n <= CDR_N;
+        cdr_o <= CDR_O;
+      end else begin
+        if (bus_wen_cdr_n)  cdr_n <= bus_wdt[15: 0];
+        if (bus_wen_cdr_o)  cdr_o <= bus_wdt[31:16];
+      end
+    end else if (BDW==8) begin
+      always @ (posedge clk, posedge rst)
+      if (rst) begin
+        cdr_n <= CDR_N;
+        cdr_o <= CDR_O;
+      end else begin
+        if (bus_wen_cdr_n)  cdr_n <= bus_wdt;
+        if (bus_wen_cdr_o)  cdr_o <= bus_wdt;
+      end
+    end
+  end else begin
+    initial begin
+      cdr_n = CDR_N;
+      cdr_o = CDR_O;
+    end
+  end
+endgenerate
+
+// clock divider
+always @ (posedge clk, posedge rst)
+if (rst)        div <= 'd0;
+else begin
+  if (bus_wen)  div <= 'd0;
+  else          div <= pls ? 'd0 : div + owr_cyc;
+end
+
+// divided clock pulse
+assign pls = (div == (owr_ovd ? cdr_o : cdr_n));
+
+//////////////////////////////////////////////////////////////////////////////
+// power and select register
+//////////////////////////////////////////////////////////////////////////////
+
+// select and power register implementation
+generate if (OWN>1) begin : sel_implementation
+  // port select
+  always @ (posedge clk, posedge rst)
+  if (rst)                   owr_sel <= {SDW{1'b0}};
+  else if (bus_wen_pwr_sel)  owr_sel <= bus_wdt[(BDW==32 ?  8 : 0)+:SDW];
+  
+  // power delivery
+  always @ (posedge clk, posedge rst)
+  if (rst)                   owr_pwr <= {OWN{1'b0}};
+  else if (bus_wen_pwr_sel)  owr_pwr <= bus_wdt[(BDW==32 ? 16 : 4)+:OWN];
+end else begin
+  // port select
+  initial                    owr_sel <= 'd0; 
+  // power delivery
+  always @ (posedge clk, posedge rst)
+  if (rst)                   owr_pwr <= 1'b0;
+  else if (bus_wen_ctl_sts)  owr_pwr <= bus_wdt[4];
+end endgenerate
+
+//////////////////////////////////////////////////////////////////////////////
+// interrupt logic
+//////////////////////////////////////////////////////////////////////////////
+
+// bus interrupt
+assign bus_irq = irq_ena & irq_sts;
+
+// interrupt enable
+always @ (posedge clk, posedge rst)
+if (rst)                   irq_ena <= 1'b0;     
+else if (bus_wen_ctl_sts)  irq_ena <= bus_wdt[7]; 
+
+// transmit status (active after onewire cycle ends)
+always @ (posedge clk, posedge rst)
+if (rst)                           irq_sts <= 1'b0;
+else begin
+  if (bus_wen_ctl_sts)             irq_sts <= 1'b0;
+  else if (pls & (cnt == t_zero))  irq_sts <= 1'b1;
+  else if (bus_ren_ctl_sts)        irq_sts <= 1'b0;
+end
+
+//////////////////////////////////////////////////////////////////////////////
+// onewire state machine
+//////////////////////////////////////////////////////////////////////////////
+
+assign req_ovd = OVD_E ? bus_wen_ctl_sts & bus_wdt[2] : 1'b0; 
+
+// overdrive
+always @ (posedge clk, posedge rst)
+if (rst)                   owr_ovd <= 1'b0;
+else if (bus_wen_ctl_sts)  owr_ovd <= req_ovd;
+
+// reset
+always @ (posedge clk, posedge rst)
+if (rst)                   owr_rst <= 1'b0;
+else if (bus_wen_ctl_sts)  owr_rst <= bus_wdt[1];
+
+// transmit data, reset, overdrive
+always @ (posedge clk, posedge rst)
+if (rst)                           owr_dat <= 1'b0;
+else begin
+  if (bus_wen_ctl_sts)             owr_dat <= bus_wdt[0];
+  else if (pls & (cnt == t_zero))  owr_dat <= owr_smp;
+end
+
+// onewire cycle status
+always @ (posedge clk, posedge rst)
+if (rst)                           owr_cyc <= 1'b0;
+else begin
+  if (bus_wen_ctl_sts)             owr_cyc <= bus_wdt[3] & ~&bus_wdt[2:0];
+  else if (pls & (cnt == t_zero))  owr_cyc <= 1'b0;
+end
+
+// state counter (initial value depends whether the cycle is reset or data)
+always @ (posedge clk, posedge rst)
+if (rst)                 cnt <= 0;
+else begin
+  if (bus_wen_ctl_sts)   cnt <= (&bus_wdt[1:0] ? t_idl : bus_wdt[1] ? t_rst : t_bit) - 'd1;
+  else if (pls)          cnt <= cnt - 'd1;
+end
+
+// receive data (sampling point depends whether the cycle is reset or data)
+always @ (posedge clk)
+if (pls) begin
+  if      ( owr_rst & (cnt == t_rstp))  owr_smp <= owr_iln;  // presence detect
+  else if (~owr_rst & (cnt == t_bits))  owr_smp <= owr_iln;  // read data bit
+end
+
+// output register (switch point depends whether the cycle is reset or data)
+always @ (posedge clk, posedge rst)
+if (rst)                                owr_oen <= 1'b0;
+else begin
+  if (bus_wen_ctl_sts)                  owr_oen <= ~&bus_wdt[1:0];
+  else if (pls) begin
+    if      (owr_rst & (cnt == t_rsth)) owr_oen <= 1'b0;  // reset
+    else if (owr_dat & (cnt == t_dat1)) owr_oen <= 1'b0;  // write 1, read
+    else if (          (cnt == t_dat0)) owr_oen <= 1'b0;  // write 0
+  end
+end
+
+//////////////////////////////////////////////////////////////////////////////
+// IO
+//////////////////////////////////////////////////////////////////////////////
+
+// only one 1-wire line cn be accessed at the same time
+assign owr_e   = owr_oen << owr_sel;
+// all 1-wire lines can be powered independently
+assign owr_p   = owr_pwr;
+
+// 1-wire line status read multiplexer
+assign owr_iln = owr_i [owr_sel];
+
+endmodule
diff --git a/modules/wishbone/wb_onewire_master/sockit_owr.pdf b/modules/wishbone/wb_onewire_master/sockit_owr.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..f9e5f97d10767a5dbf2850a4ad685f8b0d3bdc58
Binary files /dev/null and b/modules/wishbone/wb_onewire_master/sockit_owr.pdf differ
diff --git a/modules/wishbone/wb_onewire_master/wb_onewire_master.vhd b/modules/wishbone/wb_onewire_master/wb_onewire_master.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..0f65402a3f4c7402df2d3655e43dcf6b9bed2dca
--- /dev/null
+++ b/modules/wishbone/wb_onewire_master/wb_onewire_master.vhd
@@ -0,0 +1,43 @@
+module wishbone2bus #(
+  parameter AW =  2,              // address width
+  parameter DW = 32,              // data    width
+  parameter SW = DW/8             // select  width
+)(
+  // Wishbone master port
+  input  wire          wb_cyc,    // cycle
+  input  wire          wb_stb,    // strobe
+  input  wire          wb_we,     // write enable
+  input  wire [AW-1:0] wb_adr,    // address
+  input  wire [SW-1:0] wb_sel,    // byte select
+  input  wire [DW-1:0] wb_dat_w,  // write data
+  output wire [DW-1:0] wb_dat_r,  // read  data
+  output wire          wb_ack,    // acknowledge
+  output wire          wb_err,    // error
+  output wire          wb_rty,    // retry
+  // Avalon slave port
+  output wire          bus_wen,   // write enable
+  output wire          bus_ren,   // read  enable
+  output wire [AW-1:0] bus_adr,   // address
+  output wire [DW-1:0] bus_wdt,   // write data
+  input  wire [DW-1:0] bus_rdt    // read  data
+);
+
+// bus write and read enable
+assign bus_wen = wb_cyc & wb_stb &  wb_we;
+assign bus_ren = wb_cyc & wb_stb & ~wb_we;
+
+// address
+assign bus_adr = wb_adr;
+
+// write data
+assign bus_wdt = wb_dat_w;
+
+// read data
+assign wb_dat_r = bus_rdt;
+
+// error if not full width access else acknowledge
+assign wb_ack =  &wb_sel;
+assign wb_err = ~&wb_sel;
+assign wb_rty =     1'b0;
+
+endmodule
diff --git a/modules/wishbone/wb_simple_timer/wb_tics.vhd b/modules/wishbone/wb_simple_timer/wb_tics.vhd
index d7acc1388bf909332507783fb592066676f51731..c60c1043c3696e76b35ada5cbb2ac6d3c82a1b66 100644
--- a/modules/wishbone/wb_simple_timer/wb_tics.vhd
+++ b/modules/wishbone/wb_simple_timer/wb_tics.vhd
@@ -27,7 +27,6 @@ use ieee.std_logic_1164.all;
 use ieee.numeric_std.all;
 
 library work;
-use work.common_components.all;
 
 entity wb_tics is