module top( //Clock from oscillator input Clock, //Arduino I/Os inout Arduino_IO6, inout Arduino_IO7, inout Arduino_IO8, inout Arduino_IO9, inout Arduino_IO10, inout Arduino_IO11, inout Arduino_IO12, inout Arduino_IO13 ); reg[25:0] div_cntr; reg[3:0] dec_cntr; reg[6:0] seg_cntr; initial begin div_cntr = 0; dec_cntr = 0; seg_cntr = 0; end always@(posedge Clock) begin div_cntr <= div_cntr + 1; if (div_cntr == 50000000) begin case (dec_cntr) 0 : seg_cntr <= 7'b0000100; // 1111011 1 : seg_cntr <= 7'b1100111; // 0011000 2 : seg_cntr <= 7'b1001000; // 0110111 3 : seg_cntr <= 7'b1000001; // 0111110 4 : seg_cntr <= 7'b0100011; // 1011100 5 : seg_cntr <= 7'b0010001; // 1101110 6 : seg_cntr <= 7'b0010000; // 1101111 7 : seg_cntr <= 7'b1000111; // 0111000 8 : seg_cntr <= 7'b0000000; // 1111111 9 : seg_cntr <= 7'b0000001; // 1111110 default : seg_cntr <= 7'b1111111; // 0000000 endcase dec_cntr <= dec_cntr + 1; if (dec_cntr == 9) begin dec_cntr <= 0; end end end assign Arduino_IO6 = seg_cntr[6] ; assign Arduino_IO7 = seg_cntr[5] ; assign Arduino_IO8 = seg_cntr[4] ; assign Arduino_IO9 = dec_cntr[0] ; assign Arduino_IO10 = seg_cntr[3] ; assign Arduino_IO11 = seg_cntr[2] ; assign Arduino_IO12 = seg_cntr[1] ; assign Arduino_IO13 = seg_cntr[0] ; endmodule
Copyright © ITmedia, Inc. All Rights Reserved.
提供:日本アルテラ株式会社
アイティメディア営業企画/制作:MONOist 編集部/掲載内容有効期限:2016年10月10日