やっと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側の作業は完了である。
- //=======================================================
- // This code is generated by Terasic System Builder
- //=======================================================
- module TEMP_LED2(
- //////////// CLOCK //////////
- input ADC_CLK_10,
- input MAX10_CLK1_50,
- input MAX10_CLK2_50,
- input MAX10_CLK3_50,
- //////////// KEY //////////
- input FPGA_RESET_n,
- input [4:0] KEY,
- //////////// LEDR //////////
- output [9:0] LEDR,
- //////////// HEX //////////
- output [6:0] HEX0,
- output [6:0] HEX1,
- //////////// PS2 //////////
- inout PS2_CLK,
- inout PS2_CLK2,
- inout PS2_DAT,
- inout PS2_DAT2,
- //////////// Humidity and Temperature Sensor //////////
- input RH_TEMP_DRDY_n,
- output RH_TEMP_I2C_SCL,
- inout RH_TEMP_I2C_SDA
- );
- //=======================================================
- // REG/WIRE declarations
- //=======================================================
- //=======================================================
- // Structural coding
- //=======================================================
- endmodule
- //=======================================================
- // This code is generated by Terasic System Builder
- //=======================================================
- module TEMP_LED2(
- //////////// CLOCK //////////
- input ADC_CLK_10,
- input MAX10_CLK1_50,
- input MAX10_CLK2_50,
- input MAX10_CLK3_50,
- //////////// KEY //////////
- input FPGA_RESET_n,
- input [4:0] KEY,
- //////////// LEDR //////////
- output [9:0] LEDR,
- //////////// HEX //////////
- output [6:0] HEX0,
- output [6:0] HEX1,
- //////////// PS2 //////////
- inout PS2_CLK,
- inout PS2_CLK2,
- inout PS2_DAT,
- inout PS2_DAT2,
- //////////// Humidity and Temperature Sensor //////////
- input RH_TEMP_DRDY_n,
- output RH_TEMP_I2C_SCL,
- inout RH_TEMP_I2C_SDA
- );
- //=======================================================
- // REG/WIRE declarations
- //=======================================================
- wire adc_clk;
- //=======================================================
- // Structural coding
- //=======================================================
- altpll_pll u0 (
- .inclk0 (MAX10_CLK1_50),
- .c0 (adc_clk),
- .locked (adc_pll_locked_ext)
- );
- TEMP_LED2_QSYS u1 (
- .adc_pll_clock_ext_clk (adc_clk),
- .adc_pll_locked_ext_export (adc_pll_locked_ext),
- .clk_clk (MAX10_CLK1_50),
- .hex0_pio_export (HEX0),
- .hex1_pio_export (HEX1),
- .key_pio_export (KEY),
- .ledr_pio_export (LEDR),
- .reset_reset_n (1'b1),
- .rh_temp_drdy_n_pio_export (RH_TEMP_DRDY_n),
- .rh_temp_i2c_scl_pio_export (RH_TEMP_I2C_SCL),
- .rh_temp_i2c_sda_pio_export (RH_TEMP_I2C_SDA)
- );
- endmodule
Copyright © ITmedia, Inc. All Rights Reserved.