使用Quartus-II 9.1SP2 + ModelSim 6.5b-Aletra + Altera DE2-115 FPGA開發平台,設計2's Complement為例(FPGA開發平台)
module DE2_115 (SW, LEDR, LEDG , CLOCK_50 ,KEY ,HEX0 ,HEX1 ,HEX2,HEX3,HEX4 ,HEX5 ,HEX6,HEX7, GPIO );
input [17:0] SW; // toggle switches
input [7:0] KEY; // Push bottom
input CLOCK_50; //Clock 27MHz , 50Mhz
output [17:0] LEDR; // red LEDS
output [8:0] LEDG; // green LEDs
output [6:0] HEX0,HEX1,HEX2,HEX3; //7-segment display
output [6:0] HEX4,HEX5,HEX6,HEX7; //7-segment display
inout [35:0] GPIO;
assign HEX0=7'b111_1111;
assign HEX1=7'b111_1111;
assign HEX2=7'b111_1111;
assign HEX3=7'b111_1111;
assign HEX4=7'b111_1111;
assign HEX5=7'b111_1111;
assign HEX6=7'b111_1111;
assign HEX7=7'b111_1111;
//module Two_complement(Y, A);
// output [7:0] Y;
// input [7:0] A;
Two_complement U0(LEDR[7:0],SW[7:0]);
endmodule
input [7:0] KEY; // Push bottom
input CLOCK_50; //Clock 27MHz , 50Mhz
output [17:0] LEDR; // red LEDS
output [8:0] LEDG; // green LEDs
output [6:0] HEX0,HEX1,HEX2,HEX3; //7-segment display
output [6:0] HEX4,HEX5,HEX6,HEX7; //7-segment display
inout [35:0] GPIO;
assign HEX0=7'b111_1111;
assign HEX1=7'b111_1111;
assign HEX2=7'b111_1111;
assign HEX3=7'b111_1111;
assign HEX4=7'b111_1111;
assign HEX5=7'b111_1111;
assign HEX6=7'b111_1111;
assign HEX7=7'b111_1111;
//module Two_complement(Y, A);
// output [7:0] Y;
// input [7:0] A;
Two_complement U0(LEDR[7:0],SW[7:0]);
endmodule
module Two_complement(Y,A);
output [7:0]Y; // Result.
input [7:0]A; // input.
wire [7:0]p;
assign Y[0]=A[0];
assign p[0]=A[0];
Modified_twos u1(A[1],p[0],Y[1],p[1]);
Modified_twos u2(A[2],p[1],Y[2],p[2]);
Modified_twos u3(A[3],p[2],Y[3],p[3]);
Modified_twos u4(A[4],p[3],Y[4],p[4]);
Modified_twos u5(A[5],p[4],Y[5],p[5]);
Modified_twos u6(A[6],p[5],Y[6],p[6]);
Modified_twos u7(A[7],p[6],Y[7],p[7]);
endmodule // Two_complement
module Modified_twos(in1,in0,out,pass);
output out,pass; // Result.
input in1,in0; // input.
or (pass ,in1,in0);
xor(out , in1,in0);
endmodule // Two_complement
沒有留言:
張貼留言