[Open-graphics] Google summer of code
André Pouliot
andre.pouliot at gmail.com
Mon Mar 3 09:54:15 EST 2008
Viktor Pracht wrote:
> Timothy Normand Miller wrote:
>
>
>> We're not doing physical floor-planning here. We're doing high-level
>> Verilog modules. P&R isn't involved. Or do you mean P&R in terms of
>> how the Verilog modules are placed and routed visually in the IDE?
>>
>
> I mean the latter. The algorithms will have very much in common with other
> P&R tasks, except that we *want* to stay in a local optimum. One one hand,
> you don't want to align everything manually. On the other hand, you don't
> want your entire schematic to be completely scrambled just because you
> added a single wire. Mirroring the thoughts of the developer is more
> important than having the tightest layout.
>
Why not do the connection between 2 modules be represented as a single
wire? That wire when selected open a windows with a list of the
connection already made and the other connection possible?
>
>> Check out NetBeans. Create a simple Swing app. Notice how there are
>> bits of auto-generated code that are hidden by default by the editor
>> but can be expanded to show comments loudly warning about not editing
>> this section of code.
>>
>
> NetBeans sucks. Check out JBuilder.
>
> Nothing is hidden and there are no scary warnings anywhere. When you edit
> the size of a widget, the visual editor updates to reflect the change.
>
>
>> We can do the same thing. Some of our stuff is
>> metadata, and when the metadata is missing (for instance from an
>> import of existing code), then we just default to something sensible.
>> Lots of our stuff is auto-generated code that describes the
>> interconnects between modules. The most important part of this, to
>> me, is the interconnecting glue modules that tie other blocks
>> together, because this is the place where I make the most mistakes.
>>
>
> All semantically relevant data will be stored as Verilog code. This is an
> important difference between our case and a GUI editor: the 2D layout of
> the schematic is thrown away for synthesis, while the layout of a GUI is
> one of the most important parts.
>
>
The layout of the GUI shouldn't be in the verilog code. The code as I
see IT should only be affected when you add a description or when you
modify connections.
> This difference is also the reason why I prefer the single-file approach.
> There will be no Verilog code which the user can't edit. Only the comments
> with the 2D information will need special handling. I hope to reduce that
> special handling to "keep the comment together with the clause it was
> generated for", but otherwise allow any syntactically valid modifications
> of the Verilog code, including adding human-readable comments.
>
You probably should make a "project" file. In that file you could put
all the 2D placements elements of the GUI and also a file list to know
where the different verilog file are. Anyway it's a necessity to have a
file with a list of the verilog code used. Why not used it for other
information that's useful for HIDE?
> If there is a P&R algorithm which can locally optimize a layout, the
> comments only need to encode *which* local optimum to generate. My first
> approach would be to specify a "floor plan", and leave the routing and the
> alignment of blocks to the optimizer. Could this work in real time?
>
>
> - Viktor Pracht
>
More information about the Open-graphics
mailing list