やっと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.