bluespec.com Forum Index bluespec.com
Bluespec Forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The switches I use when I compile

 
Post new topic   Reply to topic    bluespec.com Forum Index -> Tools: Other
View previous topic :: View next topic  
Author Message
SteveA



Joined: 03 May 2007
Posts: 32

PostPosted: Thu Nov 01, 2007 7:41 pm    Post subject: The switches I use when I compile Reply with quote

As on aside, I thought I would write down a quick explaination of the switches I use when I compile by default. Very rarely do I need to change, add, or delete these basic switches... The main point is for basic options, plus to put all generated files in a directory (obj) to make clean easy (just rm -fR obj)....

Here's the command line:


Code:
bsc -u -verilog -elab -v95 -no-show-method-conf -cross-info -keep-fires -aggressive-conditions -vdir obj -bdir obj -simdir obj -p /home/sallen/customers/AzureIP/lib:lib:obj:+  file.bsv



a quick explanation:

1. -u if child modules are out of date or not built, then recompile them (built in dependency building)

2. -verilog build verilog (or -sim)

3. -elab this is sort of a new thing.. Build a .ba file (like bluesim does) since this is what bluetcl needs to parse if I want to use bluetcl

4. -v95 generate verilog 95 only, which some simulators and customers want (I use "veriwell" sometimes for instance which is v95 only)...

5. -no-show-method-conf one of my bigger files created so much debug schedule information that it as 95% of the file size!! so I now by default don't print all that out

6. -cross-info create .info files for blueview, and in the future for the bluespec workstation..

7. -keep-fires don't optimize keep_fire and can_fire signals in verilog.. so every rule has a can_fire and will_fire... A bit easier for debugging and logically the same anyway.

8. -aggressive-conditions tells the compiler to put some extra work into making sure the if a branch of a if else condition (for instance) is executed, use only implicit conditions from the path that was valid.. But default *all* implicit conditions are anded together, but if a if-else runs down the "true" case, this switch tells it not to look at the implicit condition for the false case, etc.. I've never found a case where I didn't want this except for one absurdly large file...

9. -vdir output directory for verilog files

10. -simdir output dir for bluesim files

11. -bdir output dir for other bluespec files

12. -p - the search path

Again, this are the defaults I use... bsc -u -verilog file.bsv works

_________________
Steve Allen
Senior Consulting Engineer
Bluespec, Inc
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    bluespec.com Forum Index -> Tools: Other All times are GMT - 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum
bluespec.com topic RSS feed 


Powered by phpBB © 2001, 2005 phpBB Group
Protected by Anti-Spam ACP