Problem with Lattice Diamond IPExpress software.

Not sure what to make of this problem, I am having IPexpress in Lattice Diamond generate a corrupted file if I define a RAM module for use with a soft CPU. I have a copy of the original generated file, but when I try to generate myself following the documentation, the file generated differs from the original by two words in the area of loading data into the RAM.

I have three soft CPUs that I have used IPexpress to generate the RAM module, and only one project has the problem, a project to create the ep16 soft CPU.

I tried after verifying in the manual that I had the right parameters when using IPexpress to create a new ram_memory.vhd file, below are some observations and steps taken to try to fix the problem;

  1. The problem occurs only with the ep16 processor project.

  1. From the latest version of Diamond 3.7.1 to version 1.4 and every version in between, they all have the same problem, there is a two word difference in the code between the original ram_memory.vhd file and the newly generated file. If those two words are not corrected, the loaded eForth software crashes.

  2. The original ep16BIN.mem (binary image of the software), and a newly created copy are identical, so that is not the problem.

  1. I looked on how one defines the ep16BIN.mem file and the method seems correct, the only difference I saw was the ep16BIN.mem file generated for the ep16 says that memory entries are 32 bits which is not correct, it should be 16 bits, but even after changing it, it still creates a ram_memory.vhd file with two wrong words.

  2. The problem does not show up on the ep32, or PDP1 projects, it only has a problem on the ep16 project.

  1. I went and created two new ep16 projects from scratch and the same thing happens.

  2. I tried running the Lattice software in Windows 10, and Windows 7 and there is no difference.

8 If one uses the original ram_memory.vhd or a newly generated version with the two words corrections then all versions of Diamond create a working project, in both cases I use the same binary image of the software.

I'm going to have to think about this as I'm out of ideas at the present, If you have any ideas they would be welcomed.

I do need to figure out what is going on because I want to make changes to the ep16, ep32, and eventually work on the J1 CPU which involve making changes to the RAM module and I need to have reliable ram_memory.vhd file generated as I wont have anything to compare it to.

Thanks for putting up with a long post.

--
Cecil - k5nwa
Reply to
Cecil Bayona
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.