回答

收藏

Verilog基础--多个数码管

FPGA/DSP FPGA/DSP 3022 人阅读 | 0 人回复 | 2013-04-23

再次吐槽一下,有些例程写的真心磨叽,想好更好的理解,还是得自己写
多个数码管显示的代码:
  1. module mutiSeg7
  2. (
  3.         CLK, RSTn, LED,en
  4. );

  5.         input CLK, RSTn;
  6.         output [7:0] LED;
  7.         output [5:0] en;

  8.                 reg [5:0]rEn = 6'b111_110;
  9.                 parameter T1ms = 16'd50_000;
  10.                 parameter         _0 = 8'b1100_0000,
  11.                                         _1 = 8'b1111_1001,
  12.                                         _2 = 8'b1010_0100,
  13.                                         _3 = 8'b1011_0000,
  14.                                         _4 = 8'b1001_1001,
  15.                                         _5 = 8'b1001_0010,
  16.                                         _6 = 8'b1000_0010,
  17.                                         _7 = 8'b1111_1000,
  18.                                         _8 = 8'b1000_0000,
  19.                                         _9 = 8'b1001_0000,
  20.                                         _a = 8'b1000_1000,
  21.                                         _b = 8'b1000_0011,
  22.                                         _c = 8'b1100_0110,
  23.                                         _d = 8'b1010_0001,
  24.                                         _e = 8'b1000_0110,
  25.                                         _f = 8'b1000_1110;
  26.                 //1ms
  27.                 reg [31:0] count;
  28.                 always @(posedge CLK or negedge RSTn)
  29.                 if(!RSTn)
  30.                         count <= 0;
  31.                 else if (count == T1ms)
  32.                         count <= 26'b0;
  33.                 else count <= count + 26'b1;       

  34.       
  35.         reg[7:0] rLED;
  36.                 always @(posedge CLK or negedge RSTn)
  37.                         if(!RSTn)
  38.                                         rEn <= 6'b111_110;
  39.                 else if(count == T1ms)
  40.                                         case(rEn)
  41.                                                 6'b111_110:
  42.                                                         begin
  43.                                                                 rEn <= 6'b111_101;       
  44.                                                                 rLED <= _0;
  45.                                                         end
  46.                                                 6'b111_101:
  47.                                                         begin
  48.                                                                 rEn <= 6'b111_011;
  49.                                                                 rLED <= _1;
  50.                                                         end
  51.                                                 6'b111_011:
  52.                                                         begin
  53.                                                                 rEn <= 6'b110_111;
  54.                                                                 rLED <= _2;
  55.                                                         end
  56.                                                 6'b110_111:
  57.                                                         begin
  58.                                                                 rEn <= 6'b101_111;
  59.                                                                 rLED <= _3;
  60.                                                         end
  61.                                                 6'b101_111:
  62.                                                         begin
  63.                                                                 rEn <= 6'b011_111;
  64.                                                                 rLED <= _4;
  65.                                                         end
  66.                                                 6'b011_111:
  67.                                                         begin
  68.                                                                 rEn <= 6'b111_110;
  69.                                                                 rLED <= _5;
  70.                                                         end
  71.                                                 default:
  72.                                                         begin
  73.                                                                 rEn<= 6'b111_110;
  74.                                                                 rLED <= _0;
  75.                                                         end
  76.                                         endcase
  77.         assign LED = rLED;
  78.                 assign en = rEn;
  79. endmodule
  80.                
复制代码
会在一排数码管上显示012345
tcl代码:
  1. #------------------GLOBAL--------------------#
  2. set_global_assignment -name RESERVE_ALL_UNUSED_PINS "AS INPUT TRI-STATED"
  3. set_global_assignment -name ENABLE_INIT_DONE_OUTPUT OFF

  4. #复位引脚
  5. set_location_assignment        PIN_M1        -to RSTn

  6. #时钟引脚
  7. set_location_assignment        PIN_R9        -to CLK

  8. #数码管对应的引脚
  9. set_location_assignment        PIN_M8        -to LED[0]
  10. set_location_assignment        PIN_L7        -to LED[1]
  11. set_location_assignment        PIN_P9        -to LED[2]
  12. set_location_assignment        PIN_N9        -to LED[3]
  13. set_location_assignment        PIN_M9        -to LED[4]
  14. set_location_assignment        PIN_M10        -to LED[5]
  15. set_location_assignment        PIN_P11        -to LED[6]
  16. set_location_assignment        PIN_N11        -to LED[7]

  17. set_location_assignment        PIN_N6        -to en[5]
  18. set_location_assignment        PIN_P6        -to en[4]
  19. set_location_assignment        PIN_M6  -to en[3]
  20. set_location_assignment        PIN_M7        -to en[2]
  21. set_location_assignment        PIN_P8        -to en[1]
  22. set_location_assignment        PIN_N8        -to en[0]
复制代码
国内的ubuntu的更新源还是上海交大最给力
分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条