-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VGA-playground verlilog problems. #15
Comments
My verilog code for reference:
|
This is the piece of code that dumps the image from the simulated program: Lines 194 to 211 in f2836e2
As you can see, it's pretty dumb - whenever it's time to draw a frame, it waits for hsync to go low, before sampling the simulator output for 736 clock cycles (unless hsync suddenly goes high mid line), the waits for hsync to go high again, and repeating this process 520 times per frame (unless vsync goes high mid frame). Finally, it waits for vsync to go high/low again before moving on to the next frame. As for verilator's args, you can find them here: vga-playground/src/verilator/compile.ts Lines 39 to 50 in f2836e2
In general, verilator dumps the AST into an XML file, which is then picked up by the simulator. vxmlparser.ts parses the XML file, and then hdlwasm.ts compiles the result into a WebAssembly module. There is also a JS flavor of the simulator (see hdlruntime.ts), which is slower, but will probably be much easier to debug compared with the Web Assembly flavor. Note that the simulator code is coming from 8bitworkshop, and AFAIK was written by @sehugg, so I'm not very familiar with the inner workings. |
I have now tested on 3 different VGA simulation platforms.
My own, which looks good as seen in the first image:
this: https://github.com/SamanMohseni/VGA-Simulation as seen in the second image: (Color are different, single only a single color bit is supported.)
and VGA-playgrounds as seen in the last image:
It seems that is not the screen interpretation of the signals which is broken but rather the simulation, i do not know why this is the case or cause.
It seems that is the multiplication which goes wrong, idk why it would do that VGA-playground when it works other places.
Do you use verilator with -lint-only?
It is a mandlebrot visualizer.
This is the same behavior on the local running version and the online version.
The text was updated successfully, but these errors were encountered: