📄 rasterizer_11_07_2008_18_46.v.bak
字号:
// det <= det;
// end
//
// //eventually do culling test here
// //for now do every triangle
// //need to set up to start incrementing here
// else
// begin
// // CAN ACTUALLY DO THIS AS COMBINATORIAL LOGIC TO SAVE A CYCLE
//
//
// //xmax
// if (vertex1_x > vertex2_x & vertex1_x > vertex3_x)
// begin
// xMax <= vertex1_x;
//
// end
//
// else if (vertex2_x > vertex1_x & vertex2_x > vertex3_x)
// begin
// xMax <= vertex2_x;
//
// end
// else
// begin
// xMax <= vertex3_x;
//
// end
//
// //xmin
// if (vertex1_x < vertex2_x & vertex1_x < vertex3_x)
// begin
// xMin <= vertex1_x;
// fragment_x <= vertex1_x;
// end
//
// else if (vertex2_x < vertex1_x & vertex2_x < vertex3_x)
// begin
// xMin <= vertex2_x;
// fragment_x <= vertex2_x;
//
// end
//
// else
// begin
// xMin <= vertex3_x;
// fragment_x <= vertex3_x;
// end
//
// //ymax
// if (vertex1_y > vertex2_y & vertex1_y > vertex3_y)
// begin
// yMax <= vertex1_y;
//
// end
//
// else if (vertex2_y > vertex1_y & vertex2_y > vertex3_y)
// begin
// yMax <= vertex2_y;
//
// end
//
// else
// begin
// yMax <= vertex3_y;
//
// end
//
// //ymin
// if (vertex1_y < vertex2_y & vertex1_y < vertex3_y)
// begin
// yMin <= vertex1_y;
// fragment_y <= vertex1_y;
// end
//
// else if (vertex2_y < vertex1_y & vertex2_y < vertex3_y)
// begin
// yMin <= vertex2_y;
// fragment_y <= vertex2_y;
// end
//
// else
// begin
// yMin <= vertex3_y;
// fragment_y <= vertex3_y;
// end
//
// /////CULL TRIANGLES
//
// //if (det < 0)
// // stallOUT <= 1'b0;
// //else
// // stallOUT <= 1'b1;
//
// fragment_c <= 16'b0000000000111111;
//
// setup_counter <= 2'b00;
//
// stallOUT <= 1'b1;
// end
//end
//
//endmodule
//
//
//////// NEED TO PASS A WRITE ENABLE OUT FOR THE SRAM
////
////
////module Rasterizer (
//// clock,
//// reset,
////
//// vertex1_x,
//// vertex1_y,
////// vertex1_c,
////
//// vertex2_x,
//// vertex2_y,
////// vertex3_c,
////
//// vertex3_x,
//// vertex3_y,
////// vertex3_c,
////
//// fragment_x,
//// fragment_y,
//// fragment_c,
////
//// stallOUT,
//// stallIN,
//// out
//// );
////
////output [17:0] out;
////wire [17:0] out;
////
////input clock;
////input reset;
////
////input [9:0] vertex1_x;
////input [9:0] vertex1_y;
//////input [15:0] vertex1_c;
////
////input [9:0] vertex2_x;
////input [9:0] vertex2_y;
//////input [15:0] vertex2_c;
////
////input [9:0] vertex3_x;
////input [9:0] vertex3_y;
//////input [15:0] vertex3_c;
////
////output [9:0] fragment_x;
////output [9:0] fragment_y;
////output [15:0] fragment_c;
////
////reg [9:0] fragment_x;
////reg [9:0] fragment_y;
////reg [15:0] fragment_c;
////
////input stallIN;
////wire stallIN;
////
////output stallOUT;
////reg stallOUT;
////
////reg [9:0] xMin, xMax;
////reg [9:0] yMin, yMax;
////
////reg [1:0] setup_counter;
////
////wire signed [10:0] r_minus_r3_x, r_minus_r3_y;
////
////assign r_minus_r3_x = fragment_x - vertex3_x;
////assign r_minus_r3_y = fragment_y - vertex3_y;
////
////wire signed [10:0] x1_x3, x2_x3, y1_y3, y2_y3;
////
////assign x1_x3 = vertex1_x - vertex3_x;
////assign x2_x3 = vertex2_x - vertex3_x;
////
////assign y1_y3 = vertex1_y - vertex3_y;
////assign y2_y3 = vertex2_y - vertex3_y;
////
//////wire signed[17:0] det1, det2;
//////reg signed[17:0] det;
////
//////assign det1 = x1_x3 * y2_y3;
//////assign det2 = x2_x3 * y1_y3;
////
////wire signed [17:0] lambda1, lambda2;
////reg signed[17:0] lambda3;
////
////wire signed [10:0] a,b,d,e;
////reg signed [10:0] c,f;
////
////wire [17:0] clamb, flamb;
////
////assign a = y2_y3 * r_minus_r3_x;
////assign b = x2_x3 * r_minus_r3_y;
////
////assign d = y1_y3 * r_minus_r3_x;
////assign e = x1_x3 * r_minus_r3_y;
////
////
////wire [17:0] lamb1, sub1, sub2, sub3;
////
////assign lamb1 = 18'b101110111101001000;
////
//////int2fp (lamb1, 10'b1101001000, 8'b1110111);
////int2fp (clamb, c, 0);
////int2fp (flamb, f, 0);
////
////int2fp (sub2, 1, 0);
////
////fpmult f1 (lambda1, clamb, lamb1);
////fpmult f2 (lambda2, flamb, lamb1);
////
////fpadd a1(sub1, sub2, {~lambda1[17],lambda1[16:0]});
//////fpadd a2(sub3, lambda3, {~lambda2[17],lambda2[16:0]});
////
////assign out = flamb;
////
////always @(posedge clock)
////begin
//// if (reset)
//// begin
//// stallOUT <= 1'b0;
////
//// fragment_x <= 10'd0;
//// fragment_y <= 10'd0;
//// fragment_c <= 16'b0;
////
//// xMin <= 10'b0;
//// xMax <= 10'b0;
////
//// yMin <= 10'b0;
//// yMax <= 10'b0;
////
//// setup_counter <= 2'b00;
//// end
////
//// else if (stallOUT & !stallIN)
//// begin
//// if (fragment_y < yMax)
//// begin
//// if (fragment_x < xMax)
//// begin
//// stallOUT <= 1'b1;
////
//// fragment_x <= fragment_x + 10'd1;
//// fragment_y <= fragment_y;
////
//// xMin <= xMin;
//// xMax <= xMax;
////
//// yMin <= yMin;
//// yMax <= yMax;
////
//// if (lambda1[17] == 0 & lambda2[17] == 0 & lambda3[17] == 0)
//// fragment_c <= 16'b0000000000111111;
//// else
//// fragment_c <= 16'b0;
//// end
////
//// else
//// begin
//// fragment_y <= fragment_y + 1'b1;
//// fragment_x <= xMin;
//// fragment_c <= fragment_c;
////
//// stallOUT <= 1'b1;
////
//// xMin <= xMin;
//// xMax <= xMax;
////
//// yMin <= yMin;
//// yMax <= yMax;
////
//// end
//// end
////
//// else
//// begin
//// stallOUT <= 1'b0;
////
//// fragment_x <= fragment_x;
//// fragment_y <= fragment_y;
//// fragment_c <= 16'b0;
////
//// xMin <= xMin;
//// xMax <= xMax;
////
//// yMin <= yMin;
//// yMax <= yMax;
//// end
//// end
////
//// else if (stallOUT & stallIN)
//// begin
//// stallOUT <= stallOUT;
//// fragment_x <= fragment_x;
//// fragment_y <= fragment_y;
//// fragment_c <= fragment_c;
//// //// xMin <= xMin;
//// xMax <= xMax;
////
//// yMin <= yMin;
//// yMax <= yMax;
//// end
////
//// //eventually do culling test here
//// //for now do every triangle
//// //need to set up to start incrementing here
//// else
//// begin
//// if (setup_counter == 2'b00)
//// begin
//// //xmax
//// if (vertex1_x > vertex2_x & vertex1_x > vertex3_x)
//// xMax <= vertex1_x;
////
//// else if (vertex2_x > vertex1_x & vertex2_x > vertex3_x)
//// xMax <= vertex2_x;
////
//// else
//// xMax <= vertex3_x;
////
//// //xmin
//// if (vertex1_x < vertex2_x & vertex1_x < vertex3_x)
//// begin
//// xMin <= vertex1_x;
//// fragment_x <= vertex1_x;
//// end
////
//// else if (vertex2_x < vertex1_x & vertex2_x < vertex3_x)
//// begin
//// xMin <= vertex2_x;
//// fragment_x <= vertex2_x;
//// end
////
//// else
//// begin
//// xMin <= vertex3_x;
//// fragment_x <= vertex3_x;
//// end
////
//// //ymax
//// if (vertex1_y > vertex2_y & vertex1_y > vertex3_y)
//// yMax <= vertex1_y;
////
//// else if (vertex2_y > vertex1_y & vertex2_y > vertex3_y)
//// yMax <= vertex2_y;
////
//// else
//// yMax <= vertex3_y;
////
//// //ymin
//// if (vertex1_y < vertex2_y & vertex1_y < vertex3_y)
//// begin
//// yMin <= vertex1_y;
//// fragment_y <= vertex1_y;
//// end
////
//// else if (vertex2_y < vertex1_y & vertex2_y < vertex3_y)
//// begin
//// yMin <= vertex2_y;
//// fragment_y <= vertex2_y;
//// end
////
//// else
//// begin
//// yMin <= vertex3_y;
//// fragment_y <= vertex3_y;
//// end
////
//// //if (det < 0)
//// // stallOUT <= 1'b0;
//// //else
//// // stallOUT <= 1'b1;
////
//// fragment_c <= 16'b0000000000111111;
////
//// setup_counter <= 2'b01;
//// end
//// else if (setup_counter == 2'b01)
//// begin
//// //det <= det1 - det2;
//// c <= a - b;
//// f <= e - d;
////
//// setup_counter <= 2'b10;
//// end
////
//// else if (setup_counter == 2'b10)
//// begin
//// lambda3 <= sub1;
//// setup_counter <= 2'b11;
//// end
////
//// else
//// begin
//// //lambda3 <= sub3;
//// stallOUT <= 1'b1;
//// setup_counter <= 2'b00;
//// end
//// end
////end
////
////endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -