knielsen / ice40_viewer

ISC License
57 stars 13 forks source link

Join the effort #1

Open drom opened 7 years ago

drom commented 7 years ago

Hi @knielsen have you created a great tool. I have started similar project icedrom here: https://github.com/drom/icedrom I would be glad joining the efforts.

knielsen commented 7 years ago

Aliaksei Chapyzhenka notifications@github.com writes:

Hi @knielsen have you created a great tool.

Thanks!

I have started similar project icedrom here: https://github.com/drom/icedrom

Right, I saw it earlier. Yours is also listed under "related projects" on http://www.clifford.at/icestorm/

If I understand correctly, your project generates an SVG file with the logical connections between cells. There seems to be a fair amount of effort gone into decoding the logic function represented by each LUT. This is something I was also planning for my floorplan viewer, but I did not do much in that respect so far.

In the ICE40 viewer, I paid special attention to the actual spacial layout of routings. The project started as an effort to understand better the actual cost (as output by icetime) of routing, which tends to dominate the speed of the FPGA circuit. Though I also just wanted to understand the reverse-engineered docs of the bitstream format, which is probably why I choose to parse the bitstream directly.

I would be glad joining the efforts.

I would be happy for your input.

I guess both our viewers are hard to understand for other people, due to the complexity of the information. I actually spent a fair amount of effort to improve this, eg. by adding pre-made demos easily selectable, documentation text below, etc. But I think it could still be better. Maybe there should be a page with small pictures of all the individual elements of the display, along with a short explanation.

Did you consider trying to put symbols on the connections? I found that very useful to understand circuits. Also, did you consider putting the tiles (1 33) - (32 33) at the top, like on http://www.clifford.at/icestorm/bitdocs-8k/?

drom commented 7 years ago

@knielsen yes, I generate SVG for the picture. I did spend some time on LUT4 rendering, and there is still fare amount left to implement. I think I know how to render ~80% of cases. I also spend some time compressing the picture, so unused rows and columns are smaller on the picture.

I like the way you show routing information. I should read more on how it is physically organized.