@Felthry
I'm working on a lab assignment to implement VGA on an FPGA trainer board!
@Tathar Ooh, fun, I remember doing that! How's it going?
-F
I have a multi-driven pin somehow, and Vivado's lying about where the error is.
I'm not entirely sure how to read this message though:
[Synth 8-6859] multi-driven net on pin vga/hs[0] with 1st driver pin 'Hsync_OBUF_inst_i_2/O' ["C:/Users/Tathar/Xilinx/EEL5722C/Lab2/Lab2.srcs/sources_1/new/Lab2.v":18]
I'm guessing this is the module instance "vga" with bit 0 on port name "hs" being driven by something to do with "Hsync" but the only case-sensitive example of that last one is an output on my top-level module and it isn't driving anything else. The code line it's pointing to is in my parameterized clock enable module, and there shouldn't be anything wrong with that because I've used it before in a different design.
The other message is:
[Synth 8-6859] multi-driven net on pin vga/hs[0] with 2nd driver pin 'Hsync_OBUF_inst_i_3/O' ["C:/Users/Tathar/Xilinx/EEL5722C/Lab2/Lab2.srcs/sources_1/new/Lab2.v":18]
Which still doesn't make sense to me.
@Tathar It looks to me like you're using a generate statement or something along those lines (is this verilog or vhdl? we only know vhdl) and not properly instancing all the pins, so it's generating two things but connecting them to the same output instead of different outputs
-F
It's Verilog, yeah. I would be allowed to use VHDL for the lab, but I don't know it at all.
Can you elaborate on the instancing part? I'm not entirely sure what I should be looking for.
@Tathar Okay, since we don't know verilog and remember little of vhdl (it was like six years ago and we haven't used it since), i'll just explain like this
say you have some sort of code that says "for each input x1 through x5, do this to it and output the result to outputs y1 through y5", so each yn is a function of xn only
if you messed up and said "for each input x1 through x5, do this to it and output the result to output y1", then you'd have y1 simultaneously driven by five circuits
-F
Still trying to find the culprit, but I think I narrowed it down.
I think I just found the problem, but the error messages point to something else entirely.
@Tathar welcome to programming!
-F
The TA said I should use one file per module instead of putting everything in one file. Does that help anything?
@Tathar Sorry, we don't know anything about verilog.
-F
As far as I know, Verilog and VHDL should be functionally identical, just with a different syntax.
@Tathar That's true of any two programming languages too, though. Or any two natural languages!
-F
I mean in the sense of there not being anything without a perfect translation, which can happen at least for natural languages.
@Felthry
That's what I thought too.