FPGAの内蔵温度センサーから値を得るMAX 10 FPGAで学ぶFPGA開発入門(13)(4/6 ページ)

» 2016年08月10日 09時00分 公開
[大原雄介MONOist]

「TEMP_LED2.v」の編集

 やっとTEMP_LED2.vの編集である。List 1が編集前、List 2が編集後となる。まずaltpll_pllを呼び出し、input Clockには50MHzのMAX10_CLK1_50を指定、出力には別にadc_clkというwireを割り当てた。これを含めてTEMP_LED2_QSYSをu2として呼び出している。それぞれのmodule宣言は、altpll_pll.vhdとTEMP_LED2_QSYS.vの先頭でそれぞれ定義されているので、これを参考に割り当てれば良い。ここまで終了したらコンパイルし、エラーがなければそのままProgrammerでMAX 10 NEEKに書き込んでQuartus II側の作業は完了である。

  1. //=======================================================
  2. // This code is generated by Terasic System Builder
  3. //=======================================================
  4. module TEMP_LED2(
  5. //////////// CLOCK //////////
  6. input ADC_CLK_10,
  7. input MAX10_CLK1_50,
  8. input MAX10_CLK2_50,
  9. input MAX10_CLK3_50,
  10. //////////// KEY //////////
  11. input FPGA_RESET_n,
  12. input [4:0] KEY,
  13. //////////// LEDR //////////
  14. output [9:0] LEDR,
  15. //////////// HEX //////////
  16. output [6:0] HEX0,
  17. output [6:0] HEX1,
  18. //////////// PS2 //////////
  19. inout PS2_CLK,
  20. inout PS2_CLK2,
  21. inout PS2_DAT,
  22. inout PS2_DAT2,
  23. //////////// Humidity and Temperature Sensor //////////
  24. input RH_TEMP_DRDY_n,
  25. output RH_TEMP_I2C_SCL,
  26. inout RH_TEMP_I2C_SDA
  27. );
  28. //=======================================================
  29. // REG/WIRE declarations
  30. //=======================================================
  31. //=======================================================
  32. // Structural coding
  33. //=======================================================
  34. endmodule
List1
  1. //=======================================================
  2. // This code is generated by Terasic System Builder
  3. //=======================================================
  4. module TEMP_LED2(
  5. //////////// CLOCK //////////
  6. input ADC_CLK_10,
  7. input MAX10_CLK1_50,
  8. input MAX10_CLK2_50,
  9. input MAX10_CLK3_50,
  10. //////////// KEY //////////
  11. input FPGA_RESET_n,
  12. input [4:0] KEY,
  13. //////////// LEDR //////////
  14. output [9:0] LEDR,
  15. //////////// HEX //////////
  16. output [6:0] HEX0,
  17. output [6:0] HEX1,
  18. //////////// PS2 //////////
  19. inout PS2_CLK,
  20. inout PS2_CLK2,
  21. inout PS2_DAT,
  22. inout PS2_DAT2,
  23. //////////// Humidity and Temperature Sensor //////////
  24. input RH_TEMP_DRDY_n,
  25. output RH_TEMP_I2C_SCL,
  26. inout RH_TEMP_I2C_SDA
  27. );
  28. //=======================================================
  29. // REG/WIRE declarations
  30. //=======================================================
  31. wire adc_clk;
  32. //=======================================================
  33. // Structural coding
  34. //=======================================================
  35. altpll_pll u0 (
  36. .inclk0 (MAX10_CLK1_50),
  37. .c0 (adc_clk),
  38. .locked (adc_pll_locked_ext)
  39. );
  40. TEMP_LED2_QSYS u1 (
  41. .adc_pll_clock_ext_clk (adc_clk),
  42. .adc_pll_locked_ext_export (adc_pll_locked_ext),
  43. .clk_clk (MAX10_CLK1_50),
  44. .hex0_pio_export (HEX0),
  45. .hex1_pio_export (HEX1),
  46. .key_pio_export (KEY),
  47. .ledr_pio_export (LEDR),
  48. .reset_reset_n (1'b1),
  49. .rh_temp_drdy_n_pio_export (RH_TEMP_DRDY_n),
  50. .rh_temp_i2c_scl_pio_export (RH_TEMP_I2C_SCL),
  51. .rh_temp_i2c_sda_pio_export (RH_TEMP_I2C_SDA)
  52. );
  53. endmodule
List2

関連キーワード

アルテラ | FPGA関連 | FPGA

Copyright © ITmedia, Inc. All Rights Reserved.