Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Import Libre-SOC/Raptor Computing System patches #55

Open
wants to merge 47 commits into
base: master
Choose a base branch
from

Conversation

jeanthom
Copy link
Owner

Some code introduced here is tainted by LGPLv2. We should remove it before merging.

Luke Kenneth Casson Leighton and others added 30 commits February 16, 2022 12:33
add some more names on dfi.Interface instances, again to see what is
going on in gtkwave traces of SocTest nmigen simulation
control pins have to be requested "xdr:4"
the burstdet and read-delay get read and written, do nothing, but it
is better than having to modify the dram firmware
…neral.

the icarus verilog simulation now passes where previously it did not
update icarus simulation to match, and
rename dfi.Interface reset signal to reset_n
has to have a minor workaround to adjust for DFI Interface being
named "cs_n" but nmigen-boards convention being "cs"
* use MT4164M16 instead of MT41256M16
* add a Chip-Select line (dram_cs_n) which is currently inverted
* reduce the number of address lines in the simulated platform
same frequency as the main one, for now
Starting to get (corrupt) data out of the memory...
UART bridge now gives a valid memtest
Memtest pass using external UART bridge
Raptor Engineering Development Team and others added 17 commits April 7, 2022 13:39
phy/ecp5ddrphy: simplify using new get_sys_phase.
The rank decoder inversion was incorrectly removed in
commit 03e79da

Tested to give valid memtest output over UART bridge
Swap DELAYF for DELAYG on DQ lines
This reverts commit 11d7297.

Inadvertently added debug garbage in this commit.
driving the 4x from dramsync2x, but from sync2x instead.
which is completely wrong when trying to do asynchronous DRAM PHY
for when synchronous is done (the default right now) this requires a matching
            drs = DomainRenamer({"sync": "dramsync",
                                 "sync2x": "dramsync2x"})
this had to be done because otherwise the IOPads are unstable.
next experiment is to hook ResetSignal(dramsync) with the firmware-driven
reset, which should allow the IOpads - and DQS - to fully stabilise
(oh, and also allow retries on setting them up)
The only difference was a different location of the ECP5 model files
and the use of python3. Make it so that both locations work, and
use python3 exclusively.
They were swapped, at some point, but simulation was not kept in sync.
It seems that IcarusECPIX5Platform does handle PinsN correctly.
The headless examples do not use an embedded CPU. Instead, the host
computer commands the Gram controller via a Wishbone-UART bridge.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants