From 1f71f3d68b5f6d1743cec3c14bb38ec297ee9034 Mon Sep 17 00:00:00 2001 From: Florent Kermarrec Date: Tue, 20 Aug 2024 10:40:24 +0200 Subject: [PATCH] soc/cores/hyperbus: Cleanup CSn/Clk generation and add comments. --- litex/soc/cores/hyperbus.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/litex/soc/cores/hyperbus.py b/litex/soc/cores/hyperbus.py index 426ead2df..9b97003ee 100644 --- a/litex/soc/cores/hyperbus.py +++ b/litex/soc/cores/hyperbus.py @@ -91,16 +91,22 @@ class HyperRAM(LiteXModule): self.comb += pads.rst_n.eq(1 & ~self.conf_rst) # CSn. - self.comb += pads.cs_n[0].eq(~cs) - assert len(pads.cs_n) <= 2 - if len(pads.cs_n) == 2: - self.comb += pads.cs_n[1].eq(1) + self.comb += [ + # Set reset value. + pads.cs_n.eq(2**len(pads.cs_n)), + # Set CSn. + pads.cs_n[0].eq(~cs) + ] # Clk. if hasattr(pads, "clk"): + # Single Ended Clk. self.comb += pads.clk.eq(clk) - else: + elif hastattr(pads, "clk_p"): + # Differential Clk. self.specials += DifferentialOutput(clk, pads.clk_p, pads.clk_n) + else: + raise ValueError # Burst Timer ------------------------------------------------------------------------------ if sys_clk_freq is None: