Friday, 2022-08-05

*** tpb <[email protected]> has joined #litex00:00
*** Degi <[email protected]> has quit IRC (Ping timeout: 245 seconds)01:13
*** Degi_ <[email protected]> has joined #litex01:13
*** Degi_ is now known as Degi01:13
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)02:33
*** TMM_ <[email protected]> has joined #litex02:33
*** cr1901 <cr1901!~cr1901@2601:8d:8600:911:b866:a259:fada:a698> has quit IRC (Ping timeout: 255 seconds)05:24
*** FabM <[email protected]> has joined #litex06:13
*** shorne <[email protected]> has quit IRC (Read error: Connection reset by peer)07:46
*** cr1901 <[email protected]> has joined #litex07:59
*** cr1901_ <cr1901_!~cr1901@2601:8d:8600:911:c465:307:114d:45f2> has joined #litex08:00
*** cr1901 <[email protected]> has quit IRC (Read error: Connection reset by peer)08:00
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)12:45
*** TMM_ <[email protected]> has joined #litex12:45
*** cr1901_ is now known as cr190113:17
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Quit: Leaving)14:44
*** Guest39 <[email protected]> has joined #litex17:34
*** Guest39 <[email protected]> has left #litex17:36
*** zjason <[email protected]> has quit IRC (Read error: Connection reset by peer)19:42
*** zjason <[email protected]> has joined #litex19:45
*** shorne <[email protected]> has joined #litex20:15
*** wirthlin <[email protected]> has joined #litex20:21
wirthlinWe are new to Litex and are working on fault tolerant systems that tolerate radiation induced upsets. In particular, we are developing a variety of approaches for improving the reliability of liteDRAM using ECC and other methods. We created a simple SoC system that includes the BIST module and the ECC module that we plan on using at a radiation20:22
wirthlintest facility in December. Our system is available at a public repository that is forked from the main Litex repository (https://github.com/TommyCox/litex).20:22
wirthlinOne of the issues we are struggling with is how to manage changes in the soc systems we make. We have had to make some changes in the soc.py and a number of bios functions to support our system. It seems that users of Litex may need to make small changes to files within the Litex repository that are specific to their project and it is not clear how20:22
wirthlinto manage such changes.We have identified a few possible ways to do this and are looking for feedback from the Litex community on best practices for managing local/project specific changes to Litex files for our work.20:22
wirthlinMethod 1. Fork our project and track changes to main20:22
wirthlinThis is what we are doing now. We made changes to soc.py and other files on our fork so we can customize our project and also track changes in the main repository. We will update our fork to track changes in the main branch occasionally. This is working for us so far but it seems like a lot of work for making relatively small changes to files in20:22
wirthlinthe main branch.20:22
wirthlinMethod 2. Create “patch” files for changes we make20:22
wirthlinAnother idea is to create “patch” files for the various changes we make to the main branch and archive these patch files in our own local repository. This significantly cuts down on what we store locally but seems like a hack.20:22
wirthlinMethod 3. Copy local files and diverge20:22
wirthlinPerhaps our changes to soc.py (and others we are working on) are such that we should just archive these files in our repository and diverge from the main branch. The advantage here is that we only have to archive the files we change. The disadvantage is that we will diverge from the main branch.20:22
wirthlinMethod 4. Submit pull request to integrate changes into main20:22
wirthlinSome of our changes may be generic enough to be included back in the main branch. I suppose this is the preferred way if the changes we make are general. Of course we will do this wherever possible but some of our changes will be specific to our project and not relevant to the community.20:22
wirthlinMethod 5. “Back door” changes of the Hardware20:22
wirthlinI have seen some Migen code in which changes are made to hardware that is already created. One approach we have considered is using the main branch sources to build a system and then provide code to go back and modify the hardware that was created. This allows us to archive only our “post process” code and rely on the main branch code. However,20:22
wirthlinthis seems like a hack and is difficult to follow for other users.20:22
wirthlinAny suggestions or documents that discuss best practices would be appreciated.20:22
*** wirthlin <[email protected]> has quit IRC (Ping timeout: 252 seconds)23:43

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!