Created
January 23, 2019 00:59
-
-
Save thata/c3218310f5df8054193cc1cd7d3742cf to your computer and use it in GitHub Desktop.
$readmemh でメモリへデータをロードするサンプル。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
`define ENABLE_ADC_CLOCK | |
`define ENABLE_CLOCK1 | |
`define ENABLE_CLOCK2 | |
`define ENABLE_SDRAM | |
`define ENABLE_HEX0 | |
`define ENABLE_HEX1 | |
`define ENABLE_HEX2 | |
`define ENABLE_HEX3 | |
`define ENABLE_HEX4 | |
`define ENABLE_HEX5 | |
`define ENABLE_KEY | |
`define ENABLE_LED | |
`define ENABLE_SW | |
`define ENABLE_VGA | |
`define ENABLE_ACCELEROMETER | |
`define ENABLE_ARDUINO | |
`define ENABLE_GPIO | |
module DE10_LITE_Golden_Top( | |
//////////// ADC CLOCK: 3.3-V LVTTL ////////// | |
`ifdef ENABLE_ADC_CLOCK | |
input ADC_CLK_10, | |
`endif | |
//////////// CLOCK 1: 3.3-V LVTTL ////////// | |
`ifdef ENABLE_CLOCK1 | |
input MAX10_CLK1_50, | |
`endif | |
//////////// CLOCK 2: 3.3-V LVTTL ////////// | |
`ifdef ENABLE_CLOCK2 | |
input MAX10_CLK2_50, | |
`endif | |
//////////// SDRAM: 3.3-V LVTTL ////////// | |
`ifdef ENABLE_SDRAM | |
output [12:0] DRAM_ADDR, | |
output [1:0] DRAM_BA, | |
output DRAM_CAS_N, | |
output DRAM_CKE, | |
output DRAM_CLK, | |
output DRAM_CS_N, | |
inout [15:0] DRAM_DQ, | |
output DRAM_LDQM, | |
output DRAM_RAS_N, | |
output DRAM_UDQM, | |
output DRAM_WE_N, | |
`endif | |
//////////// SEG7: 3.3-V LVTTL ////////// | |
`ifdef ENABLE_HEX0 | |
output [7:0] HEX0, | |
`endif | |
`ifdef ENABLE_HEX1 | |
output [7:0] HEX1, | |
`endif | |
`ifdef ENABLE_HEX2 | |
output [7:0] HEX2, | |
`endif | |
`ifdef ENABLE_HEX3 | |
output [7:0] HEX3, | |
`endif | |
`ifdef ENABLE_HEX4 | |
output [7:0] HEX4, | |
`endif | |
`ifdef ENABLE_HEX5 | |
output [7:0] HEX5, | |
`endif | |
//////////// KEY: 3.3 V SCHMITT TRIGGER ////////// | |
`ifdef ENABLE_KEY | |
input [1:0] KEY, | |
`endif | |
//////////// LED: 3.3-V LVTTL ////////// | |
`ifdef ENABLE_LED | |
output [9:0] LEDR, | |
`endif | |
//////////// SW: 3.3-V LVTTL ////////// | |
`ifdef ENABLE_SW | |
input [9:0] SW, | |
`endif | |
//////////// VGA: 3.3-V LVTTL ////////// | |
`ifdef ENABLE_VGA | |
output [3:0] VGA_B, | |
output [3:0] VGA_G, | |
output VGA_HS, | |
output [3:0] VGA_R, | |
output VGA_VS, | |
`endif | |
//////////// Accelerometer: 3.3-V LVTTL ////////// | |
`ifdef ENABLE_ACCELEROMETER | |
output GSENSOR_CS_N, | |
input [2:1] GSENSOR_INT, | |
output GSENSOR_SCLK, | |
inout GSENSOR_SDI, | |
inout GSENSOR_SDO, | |
`endif | |
//////////// Arduino: 3.3-V LVTTL ////////// | |
`ifdef ENABLE_ARDUINO | |
inout [15:0] ARDUINO_IO, | |
inout ARDUINO_RESET_N, | |
`endif | |
//////////// GPIO, GPIO connect to GPIO Default: 3.3-V LVTTL ////////// | |
`ifdef ENABLE_GPIO | |
inout [35:0] GPIO | |
`endif | |
); | |
//======================================================= | |
// REG/WIRE declarations | |
//======================================================= | |
wire [7:0] address; | |
reg [7:0] test_memory [0:15]; | |
reg [7:0] out; | |
//======================================================= | |
// Structural coding | |
//======================================================= | |
// スイッチでメモリ上のアドレスを指定 | |
assign address = SW[7:0]; | |
assign LEDR[0] = out[0]; | |
assign LEDR[1] = out[1]; | |
assign LEDR[2] = out[2]; | |
assign LEDR[3] = out[3]; | |
assign LEDR[4] = out[4]; | |
assign LEDR[5] = out[5]; | |
assign LEDR[6] = out[6]; | |
assign LEDR[7] = out[7]; | |
always @(address) begin | |
// アドレスで指定したメモリの内容をLEDへ表示 | |
always @(address) begin | |
out <= test_memory[address]; | |
end | |
initial begin | |
$display("Loading rom."); | |
// test_memory へ rom_image.mem をロード | |
$readmemh("rom_image.mem", test_memory); | |
end | |
endmodule |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
01 02 03 04 | |
05 06 07 08 | |
09 0A 0B 0C | |
0D 0E 0F F0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment