Donc, fondamentalement, je veux que mon moniteur affiche une ligne négativement inclinée. Le code courant que j'ai écrit affiche parfaitement toute ligne positivement inclinée mais si je tente de la rendre négative, elle n'apparaît pas ou devient pointillée. J'ai une vague idée de pourquoi cela ne fonctionne pas, mais si quelqu'un pouvait me diriger dans la bonne direction, il serait très apprécié.Je souhaite afficher une ligne avec une pente négative dans le système verilog à travers VGA (les lignes à pente positive sont affichées correctement)
(Note: Mon pilote VGA fonctionne très bien, ainsi que le VGAWrapper)
Voici le code:
module vga_rgb(
input logic [8:0] row_o,
input logic [9:0] column_o,
input logic clk_i,reset_i,
output logic [15:0]rgb_i
);
localparam X1 = 10'd200;
localparam Y1 = 9'd100;
localparam X2 = 10'd400;
localparam Y2 = 9'd300;
wire [15:0] slope = ((Y2-Y1)/(X2-X1));
[email protected](posedge clk_i, posedge reset_i)
if (reset_i)
rgb_i <= 16'b0;
else
if (((row_o-Y1) == (slope * (column_o-X1))) && ((row_o < 300) && (row_o > 100/)))
rgb_i <= 16'b0;
else
rgb_i <= 16'b11111_111111_11111;
Je devrais mentionner, le moniteur est un 640by480 – DIB98
Je soupçonne une sorte d'erreur de débordement d'entier. – mkrieger1