Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16616 Discussions

Using Blocks in Quartus II

Altera_Forum
Honored Contributor II
2,800 Views

Hi, 

 

I'm just wondering what is the purpose of using blocks in the Quartus II schematic editor. I've been using Quartus II with a cyclone II FGPA for over a year now and I have never ever had to use them. When i make schematics, i only use symbols. I have read all of the Quartus tutorials but none of them give you a thorough explanation on how to use blocks and conduits and how they differ from symbols. 

 

I suppose they would be midly helpful if you wanted to design a complex system but didn't know how to implement certain pieces of the system yet so you could put a block there as a space-keeper. But you can actually do the same thing by creating a new symbol file and drawing out a symbol and then putting that symbol into your schematic where you can later implement the actual logic for the symbol in a HDL or schematic file. So defining blocks and the conduits are a huge pain with no benefit that i can see. 

 

Maybe its because i'm not using blocks properly, but given the lack of tutorials on how exactly to use them, its kinda hard to learn by trial and error. Here's how i use them: i draw a block out on the schematic editor, then i right click and go to 'block properties' and create some IO ports that i think the block will need. After that's done, i create some conduits and define which signals go in there. I'm actually not sure how to use conduits because i've been trying blindly and i can't find anything any reference that'll explain them to me. Then i right click on the block and go to "create design file from selected block", i click on "schematic" and it gives me a new schematic file with nothing but the IO pins in it. I fill in the rest of the circuit in that new schematic and save the file. then its all done.  

 

So if anyone could give me a clear explanation on why i should ever use blocks and maybe link me to a tutorial on how to use it. I'd very much appreciate it.
0 Kudos
4 Replies
Altera_Forum
Honored Contributor II
1,710 Views

I don't find the conduits and blocks very useful either. I believe the purpose is to help keep a schematic "clean". But you can do that easy enough by tagging each symbol with a small connection line with a signal name. Any connection line segment with that signal name will be considered connected, so you don't have to draw lines all over the BDF to connect all of the desired nodes together. I prefer connecting all ports together though, that way it's easy to double click the connection line and see all of its sources / destinations. 

 

There is one example design that gets installed with Quartus II that uses the conduits / symbols. Check out the filtref design in your installation directory: 

 

C:\altera\72sp1\qdesigns\fir_filter
0 Kudos
Altera_Forum
Honored Contributor II
1,710 Views

thanks. that example design included in quartus was pretty helpful. I'd still much rather use symbols/nodes as opposed to blocks/conduits though since i find setting up the conduits kinda confusing compared to nodes. I just thought that blocks/conduits served a distinct purpose.

0 Kudos
Altera_Forum
Honored Contributor II
1,710 Views

There is a lack of info available on how to use blocks, but I did find an old tutorial for the sample filtref design included with Quartus that provides details on how to use blocks and conduits. I have attached this for reference. 

 

Blocks do have some nice features, such as if you use common signal names in multiple blocks, then when you run a conduit between the blocks, all these signals will automatically be connected together. You can manually select/deselect signals & buses as well. It is also quick to add/modifiy signals on a block, and you can use a block to then generate the template for your vhdl/verilog design file. I think that a block diagram could be useful to provide fast connectivity for a top level module, where the top level simply acts as an interconnect for lower level modules. For portability, you can even generate a vhdl/verilog file from the block diagram. One thing I discovered is that you can't connect the same signal in a block to two separate conduits. Quartus gets angry if you do this, but does not give a clear reason why.
0 Kudos
Altera_Forum
Honored Contributor II
1,710 Views

I've been using Quartus for 12 months coming from a loong firmware background ... I have used the Node+Bus+Symbol style from the beginning. After trying once then putting it off till now, I finally set out to figure out what the possible advantage of a conduit was :  

 

I eagerly hoped a conduit was a circuit analog of a "C" struct in the way a bus is an analog of a "C" array - this would have been very useful, to be able to have named members bundled (and further sub-bundled) into an entity rather than bussing them up & down heirachies and explicitly converting to named nodes at the ends of the bus. 

 

Alas... this doesn't seem to be the purpose of a conduit, not if I wish to retain the Node+Bus+Symbol layout style.
0 Kudos
Reply