Menu

#57 Feature requests

0.0.18
open
nobody
None
5
2015-01-31
2015-01-30
dallasman
No

Hi Team,
I would like to submit these for consideration. I don't want to create multiple tickets, so the development leader can break these up into smaller tickets and assign as appropriate. It's a great tool and I think the adoption by the IC design community can really take off if we close the gap with Cadence.

And I apologize if some of these are redundant.

Thanks

  1. Provide a way to move a component without preserving wire connections.

  2. Provide 2 "themes" - dark and light - the only one available right now is light. The option for a dark background doesn't really help because there is no way to change the colours of the other objects like wires and text and component outlines. We need one dark theme where the background is black and the grid is white, wires are blue, etc.. Users should be able to fine-tune a theme if they want. I would make this high priority.

  3. Provide a way to do custom key bindings - for example, if a user would like the "w" key instead of CTRL-e for "wire", this should be possible. Very high priority.

  4. Provide a way to do area zooming using right-mouse-b click-and-drag. This also contributes a lot to user experience.

  5. Provide a command-interpreter UI - so that the log of commands (effectively, even though he interacts with the GUI) is available somewhere so that a selected set from these can be collected up into a macro and associated with a keyboard shortcut. Very high priority.

  6. Provide a way to highlight wires - and cycle through the colour list - that is, first wire that is highlighted can be yellow, next can be red, etc. This is very useful for debugging when hierarchy is involved.

  7. Provide a user-friendly way to create veriloga modules. That is, the user enters the code and everything else (compilation, etc) is take care of and qucs only reports the errors. If there are no errors, the block is ready to use. If a symbol doesn't exist for this cell, qucs should ask the user if he would like to create a symbol and then use the port info from the veriloga code to create a default symbol that the user can now tweak. Supporting veriloga is a massive feature. No other O/S tool supports it. We need a user interface that everyone can use. Currently, it is too complicated to create a new veriloga module. Only the developers can do it. Very high priority.

  8. Provide multiple monitor support - the user should be able to have schematic windows open on different monitors or workspaces. Currently, only tabs are available.

  9. Provide a deselect command. That is, after the user has selected a bunch of objects through click-and-drag, he can now go into de-select mode and selectively de-select some objects from the selected set.

Discussion

  • Guilherme

    Guilherme - 2015-01-30

    Hi! Thank you for the feedback and your valid suggestions.
    I put them on the issue tracker so we don't forget.
    Just a few comments on your suggestions.

    1- Select, cut and paste is an alternative. What do you have in mind?
    2- Good point. It was requested already. I will include it as an action point for the QGraphics (Qt3 to Qt4) port that is starting to happen.
    3- Custom keyboard shorcuts are under development, needs testing: https://github.com/Qucs/qucs/pull/159
    4- Good point. Now you have to select zoom-in and left-click-drag for that.
    5- That might be trickier. What sort of macro do you have in mind?
    6- Good point. Also to be done along with the QGraphics port.
    7- We have now a more user friendly Verilog-A model builder (included already on 0.0.18). It still needs further development but it is usable. See slides 5-14 in [1]
    8- We are also discussing the window interface: https://github.com/Qucs/qucs/issues/196
    9- Ctrl-click works for me to un-select specific items of a selection.

    Feel free to join the discussion!

    [1] http://www.mos-ak.org/berkeley_2014/presentations/04_Wladek_Grabinski_MOS-AK_Berkeley_2014.pdf

     
  • dallasman

    dallasman - 2015-01-30

    1) Good point.. that works. Would be nice to be able to "move" those selected components with a command launched with "m".
    5) "m" is probably an example - making something possible that isn't already.. I had a lot of macros I used with Cadence - for example, returning to the top-level from deep in the hierarchy and then going back to that low level with another bindkey.. Once this is possible, users will come up with their own creative uses for it. This is how Cadence operates. I think it will also make debugging easier since a log will be available..
    9) Good point..

    Thanks for being receptive!

     

    Last edit: dallasman 2015-01-30
  • dallasman

    dallasman - 2015-01-30

    Hi,
    I would also like to submit these for consideration :

    10) Provide a way to back-annotate operating point info (node voltages and device currents, for FETs, BJTs - maybe couple more parameters - like gm, vdsat) onto the schematic after doing a DC simulation at one operating point. This is a handy feature in Cadence.
    11) This one is redundant if (10) is available, but it would be good for the node voltages of unnamed (default name) nodes to also be available in the results.
    12) Move to a library/cell/view approach - if that's the right way to put it. It will bring more structure to the user experience. User interacts with the library manager to create new libraries or cells or views for cells. Here, he can choose to create a schematic or symbol or veriloga view.

    Just suggestions... I am in awe of all the great work that has been done already. Just saying what I feel will make the tool even greater.

     
  • Guilherme

    Guilherme - 2015-01-30

    Hello,

    10) This is indeed interesting. We have the "Simulate > Calculate DC bias" that shows the node voltages. This could be extended to other parameters.
    11) I will take a look if there is a switch on the solver to dump all the internal nodes. At the moment you have to label nodes of interest.
    12) I know what you mean. I agree that this a better way to manage projects and hierarchy.

    The main issue is limited manpower. We are a handful of people coding at the moment. I am trying to lower the barriers to see if we can get more people involved on the project. Things will get done eventually...

     
  • dallasman

    dallasman - 2015-01-30

    Thanks Guilherme.
    It's incredible how much has been done with an open-source effort.

    I would like to contribute, but don't know where to start and also don't have enough knowhow in software. Also I'm on Windows, which doesn't help :)

    If there is a doc on how to build in Windows, I would like to get started. Maybe someone can create a how-to on making one simple tweak - a "hello world on feature addition" and then we can go from there. Users can submit their suggested mods and the development leads can decide whether to incorporate or not.

    Thanks again for the great work and open-mindedness.

     
  • Guilherme

    Guilherme - 2015-01-31

    Indeed. The previous developers did quite a heavy lift. Unfortunately they are not active anymore. We are trying to keep it up the best we can :)

    The first step is to build from source. Qucs is rather ease to build from source, even on Windows. I just updated this how-to a few weeks ago: https://github.com/Qucs/qucs/wiki/Build-Windows

    The development is gravitating more towards GitHub at the moment. You can find several ongoing 'proposals' or pull requests in there. A bit of prior knowledge of git, C++ and Qt indeed helps, but the learning curve can also be rewarding. Get in touch there, you might find some easy-fix issues to get you started. We don't have a contributor or developer manual at the moment. In any case, just ask (even in private) and I can try to give you further directions.

     

Log in to post a comment.

MongoDB Logo MongoDB