Forum Discussion
Question about Monitor
Hello,
is it possible to synthesize the "monitors" on the altera fpgas'. There are Monitor IPs such as Avalon MM Monitor. Can I synthesize such "Monitors"?117 Replies
- Altera_Forum
Honored Contributor
Thanks :-)
- Altera_Forum
Honored Contributor
Hi Aditya,
--- Quote Start --- Is my problem still unclear? Should I re-frame my question? --- Quote End --- Sorry for the delay in responding, I'm traveling, and only have sporadic internet access. Its not clear to me why you want to use virtual pins. I have never found a need to use them. Its quite possible that the problems you are having are related to trying to use a feature for other than it was intended. Rather than use bidirectional signals in components, you should use three ports; data_out, data_in, and data_oe, and then at the top-level design, use these three signals to implement a tri-state bus. Since these three signals (or ports) are unidirectional, you should be able to make them virtual. Note, these unidirectional ports/signals can be connected to 'fake external devices' internal to the FPGA, where the fake devices can implement what you expect your external device to do. Using these fake devices, you can probably eliminate the need for virtual pins. Cheers, Dave - Altera_Forum
Honored Contributor
Thanks Rysc.
- Altera_Forum
Honored Contributor
There are no internal tri-states. Synthesis can sometimes recode bidirectionals into muxing logic, assuming the solution is obvious. It's generally advised to avoid internal tri-states, since they don't really exist in hardware.
- Altera_Forum
Honored Contributor
So, if a module [let this be sub-module that connects other modules] has "bidirectional pins" do they automatically get a pin location on the FPGA? What if I want to use the bidirectional pins to connect other modules?
- Altera_Forum
Honored Contributor
I'm guessing bidirectional pins can't be virtual. A virtual pin routes inside the FPGA and never goes to an I/O. A bidir has a tri-state component that only exists in the I/O. I'm not sure how that would be virtual unless the tri-state was ripped out. I'm guessing the virtual assignment is ignored for those I/O.
- Altera_Forum
Honored Contributor
Hello Dave,
Is my problem still unclear? Should I re-frame my question? Thanks, Aditya - Altera_Forum
Honored Contributor
Good Morning Dave,
Oops sorry! I made that mistake again [confusing pins and ports]. I have a module [Lets call it module a]. "module a" has the following pins: a) Clock Pins [6 in number]. [I want to assign them to the ports on FPGA] b) Few Bidirectional Pins [37 in number]. c) Output pins[20 in number]. d) Input pins.[39 in number] [I want to make b,c and d virtual] I have assigned "a" to ports on the FPGA and in the .qsf file I have made b,c and d virtual. [Now, I expect to see "a" in the Pin Planner assigned to ports on the FPGA [I can see them]. I don't expect "b,c and d" to show up in the Pin Planner [I don't see them]. What is causing my confusion? After compilation, the "Fitter Summary" says, Total Pins: 43/307[14%]. [37 of them are not being assigned as Virtual Pins] Total Virtual Pins: 59. Additional Information: 1. In the ".qsf" file, except for "a" all are virtual. 2. In the Pin Planner, I can see 6 ports corresponding to "a" ]3. When I look at the "Input Pins" in the "Resource Section" I can see 6 clock Pins and each of them are associated with a unique "Pin#" 4. When I look at the "Bidir Pins" in the "Resource Section" I can see 37 Bidirectional Pins assigned to a unique "Pin#" [eg. K10, M7] I shouldn't be seeing the ones in Red right? - Altera_Forum
Honored Contributor
--- Quote Start --- How will I know if they are attached to physical pins? It is my own module. --- Quote End --- Don't call them pins then. If they are the signals at the top-level of the component, they would be called ports. --- Quote Start --- This module is a sub-module and only the clock pins go all the way to the top. This module has some ports that connect the other modules. For some reason, the bidirectional pins get assigned to a random pins. The input pins and output pins can be declared as virtual pins, but I have problem assigning the bidirectional ones. --- Quote End --- Huh? This makes no sense. You cannot have only the clock pins going to the top module, and then talk about bidirectional pins getting connected. What bidirectional pins? You just stated there were only clocks!? --- Quote Start --- When I look at the pin planner, I don't see these pins having any particular pin location !?!! However the pin location is shown in the Fitter synthesis report. I don't know what's going on[wrong]. --- Quote End --- The only thing that should connect to pins on the FPGA are ports on the top-level entity. Please try to clarify what you are doing. I know its confusing, but it helps if you are clear on what is wrong. Cheers, Dave - Altera_Forum
Honored Contributor
Hello Dave,
How will I know if they are attached to physical pins? It is my own module. This module is a sub-module and only the clock pins go all the way to the top. This module has some ports that connect the other modules. For some reason, the bidirectional pins get assigned to a random pins. The input pins and output pins can be declared as virtual pins, but I have problem assigning the bidirectional ones. When I look at the pin planner, I don't see these pins having any particular pin location !?!! However the pin location is shown in the Fitter synthesis report. I don't know what's going on[wrong].