diff options
author | Clifford Wolf <clifford@clifford.at> | 2017-09-20 20:17:27 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2017-09-20 20:17:27 +0200 |
commit | 51436b1c5017012fb1d666d8a7ffcb96b0906d73 (patch) | |
tree | b31b03127316677e013ece1c53334ac1079319f7 /picosoc/spimemio.v | |
parent | 7639e6ebac26fafbff2c3e2a72e83cf5cd0c3a3e (diff) | |
download | picorv32-51436b1c5017012fb1d666d8a7ffcb96b0906d73.tar.gz picorv32-51436b1c5017012fb1d666d8a7ffcb96b0906d73.zip |
PicoSoC QSPI DDR progress
Diffstat (limited to 'picosoc/spimemio.v')
-rw-r--r-- | picosoc/spimemio.v | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/picosoc/spimemio.v b/picosoc/spimemio.v index e5706d7..976e5a2 100644 --- a/picosoc/spimemio.v +++ b/picosoc/spimemio.v @@ -143,6 +143,18 @@ module spimemio ( wire xfer_io2_do; wire xfer_io3_do; + reg xfer_io0_90; + reg xfer_io1_90; + reg xfer_io2_90; + reg xfer_io3_90; + + always @(negedge clk) begin + xfer_io0_90 <= xfer_io0_do; + xfer_io1_90 <= xfer_io1_do; + xfer_io2_90 <= xfer_io2_do; + xfer_io3_90 <= xfer_io3_do; + end + assign flash_csb = config_en ? xfer_csb : config_csb; assign flash_clk = config_en ? xfer_clk : config_clk; @@ -151,10 +163,10 @@ module spimemio ( assign flash_io2_oe = config_en ? xfer_io2_oe : config_oe[2]; assign flash_io3_oe = config_en ? xfer_io3_oe : config_oe[3]; - assign flash_io0_do = config_en ? xfer_io0_do : config_do[0]; - assign flash_io1_do = config_en ? xfer_io1_do : config_do[1]; - assign flash_io2_do = config_en ? xfer_io2_do : config_do[2]; - assign flash_io3_do = config_en ? xfer_io3_do : config_do[3]; + assign flash_io0_do = config_en ? (config_ddr ? xfer_io0_90 : xfer_io0_do) : config_do[0]; + assign flash_io1_do = config_en ? (config_ddr ? xfer_io1_90 : xfer_io1_do) : config_do[1]; + assign flash_io2_do = config_en ? (config_ddr ? xfer_io2_90 : xfer_io2_do) : config_do[2]; + assign flash_io3_do = config_en ? (config_ddr ? xfer_io3_90 : xfer_io3_do) : config_do[3]; spimemio_xfer xfer ( .clk (clk ), |