From 4b0c450d8c8e8dbf9010f0df25fd311cebbae8f7 Mon Sep 17 00:00:00 2001 From: "raoxianhong@jingjiamicro.com" Date: Wed, 1 Sep 2021 20:59:37 +0800 Subject: [PATCH] 202109012059 --- examples/hdl4se_riscv/de2/de2_riscv_v3.qsf | 2 +- examples/hdl4se_riscv/de2/de2_riscv_v3.qws | Bin 0 -> 48 bytes examples/hdl4se_riscv/de2/de2_riscv_v3.v | 2 +- examples/hdl4se_riscv/de2/de2_riscv_v4.htm | 2979 +++++++++++++++++ examples/hdl4se_riscv/de2/de2_riscv_v4.pin | 850 +++++ examples/hdl4se_riscv/de2/de2_riscv_v4.qpf | 6 + examples/hdl4se_riscv/de2/de2_riscv_v4.qsf | 1013 ++++++ examples/hdl4se_riscv/de2/de2_riscv_v4.qws | Bin 0 -> 1348 bytes examples/hdl4se_riscv/de2/de2_riscv_v4.sdc | 86 + .../{de2_riscv_v3.sof => de2_riscv_v4.sof} | Bin 3541671 -> 3541671 bytes examples/hdl4se_riscv/de2/de2_riscv_v4.v | 517 +++ .../de2/de2_riscv_v4_assignment_defaults.qdf | 692 ++++ examples/hdl4se_riscv/test_code/console.c | 4 +- examples/hdl4se_riscv/test_code/test.cod | 217 +- examples/hdl4se_riscv/test_code/test.elf | Bin 8872 -> 8892 bytes examples/hdl4se_riscv/test_code/test.hex | 351 +- examples/hdl4se_riscv/test_code/test.info | 124 +- examples/hdl4se_riscv/test_code/test.mif | 812 ++--- examples/hdl4se_riscv/test_code/test.txt | 959 +++--- examples/hdl4se_riscv/verilog/riscv_core_v4.v | 274 +- 20 files changed, 7520 insertions(+), 1368 deletions(-) create mode 100644 examples/hdl4se_riscv/de2/de2_riscv_v3.qws create mode 100644 examples/hdl4se_riscv/de2/de2_riscv_v4.htm create mode 100644 examples/hdl4se_riscv/de2/de2_riscv_v4.pin create mode 100644 examples/hdl4se_riscv/de2/de2_riscv_v4.qpf create mode 100644 examples/hdl4se_riscv/de2/de2_riscv_v4.qsf create mode 100644 examples/hdl4se_riscv/de2/de2_riscv_v4.qws create mode 100644 examples/hdl4se_riscv/de2/de2_riscv_v4.sdc rename examples/hdl4se_riscv/de2/{de2_riscv_v3.sof => de2_riscv_v4.sof} (76%) create mode 100644 examples/hdl4se_riscv/de2/de2_riscv_v4.v create mode 100644 examples/hdl4se_riscv/de2/de2_riscv_v4_assignment_defaults.qdf diff --git a/examples/hdl4se_riscv/de2/de2_riscv_v3.qsf b/examples/hdl4se_riscv/de2/de2_riscv_v3.qsf index f84053f..0a6993d 100644 --- a/examples/hdl4se_riscv/de2/de2_riscv_v3.qsf +++ b/examples/hdl4se_riscv/de2/de2_riscv_v3.qsf @@ -993,8 +993,8 @@ set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)" set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top +set_global_assignment -name VERILOG_FILE ../verilog/uart/uart_ctrl.v set_global_assignment -name VERILOG_FILE ../verilog/altera/uart/uart_fifo.v -set_global_assignment -name VERILOG_FILE ../verilog/altera/uart/uart_ctrl.v set_global_assignment -name VERILOG_FILE ../verilog/altera/uart/altera_uart.v set_global_assignment -name VERILOG_FILE ../verilog/altera/regfile/regfile.v set_global_assignment -name VERILOG_FILE ../verilog/altera/ram/ram128kB.v diff --git a/examples/hdl4se_riscv/de2/de2_riscv_v3.qws b/examples/hdl4se_riscv/de2/de2_riscv_v3.qws new file mode 100644 index 0000000000000000000000000000000000000000..63563b76eda4b19c3f4f321afd3f1b7df67b8d5e GIT binary patch literal 48 ocmZ?JV1NM`h8%`OhGK>ihIoc@hJ1!1hHN0O04SEskP1@-0GYrBX8-^I literal 0 HcmV?d00001 diff --git a/examples/hdl4se_riscv/de2/de2_riscv_v3.v b/examples/hdl4se_riscv/de2/de2_riscv_v3.v index 156fd15..e9553da 100644 --- a/examples/hdl4se_riscv/de2/de2_riscv_v3.v +++ b/examples/hdl4se_riscv/de2/de2_riscv_v3.v @@ -455,7 +455,7 @@ inout [35:0] GPIO; regfile regs(regno, regena, wClk, regwrdata, regwren, regrddata); regfile regs2(regno2, regena2, wClk, regwrdata2, regwren2, regrddata2); - ram128kB ram(ramaddr, ~bWriteMask, wClk, bWriteData, ((bWriteAddr & 32'hff000000) == 0)?wWrite:1'b0, bReadDataRam); + ram16kB ram(ramaddr, ~bWriteMask, wClk, bWriteData, ((bWriteAddr & 32'hff000000) == 0)?wWrite:1'b0, bReadDataRam); riscv_core core(wClk, nwReset, wWrite, bWriteAddr, bWriteData, bWriteMask, wRead, bReadAddr, bReadData, regno, regena, regwrdata, regwren, (lastregno == 0) ? 0 : regrddata, regno2, regena2, regwrdata2, regwren2, (lastregno2 == 0) ? 0 : regrddata2 diff --git a/examples/hdl4se_riscv/de2/de2_riscv_v4.htm b/examples/hdl4se_riscv/de2/de2_riscv_v4.htm new file mode 100644 index 0000000..8935db6 --- /dev/null +++ b/examples/hdl4se_riscv/de2/de2_riscv_v4.htm @@ -0,0 +1,2979 @@ + + +

DE2-115 FPGA Board Configuration

+
+
+

Pin Assignments:

+ +
+
+
+

Pin Assignment Table:

+

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
CLOCK
NameLocationDirectionStandard
CLOCK_50Y2input 3.3-V LVTTL
CLOCK2_50AG14input 3.3-V LVTTL
CLOCK3_50AG15input 3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + +
Sma
NameLocationDirectionStandard
SMA_CLKINAH14input 3.3-V LVTTL
SMA_CLKOUTAE23output3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LED
NameLocationDirectionStandard
LEDR[0]G19output2.5 V
LEDR[1]F19output2.5 V
LEDR[2]E19output2.5 V
LEDR[3]F21output2.5 V
LEDR[4]F18output2.5 V
LEDR[5]E18output2.5 V
LEDR[6]J19output2.5 V
LEDR[7]H19output2.5 V
LEDR[8]J17output2.5 V
LEDR[9]G17output2.5 V
LEDR[10]J15output2.5 V
LEDR[11]H16output2.5 V
LEDR[12]J16output2.5 V
LEDR[13]H17output2.5 V
LEDR[14]F15output2.5 V
LEDR[15]G15output2.5 V
LEDR[16]G16output2.5 V
LEDR[17]H15output2.5 V
LEDG[0]E21output2.5 V
LEDG[1]E22output2.5 V
LEDG[2]E25output2.5 V
LEDG[3]E24output2.5 V
LEDG[4]H21output2.5 V
LEDG[5]G20output2.5 V
LEDG[6]G22output2.5 V
LEDG[7]G21output2.5 V
LEDG[8]F17output2.5 V
+

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KEY
NameLocationDirectionStandard
KEY[0]M23input 3.3-V LVTTL
KEY[1]M21input 3.3-V LVTTL
KEY[2]N21input 3.3-V LVTTL
KEY[3]R24input 3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EX_IO
NameLocationDirectionStandard
EX_IO[0]J10inout 3.3-V LVTTL
EX_IO[1]J14inout 3.3-V LVTTL
EX_IO[2]H13inout 3.3-V LVTTL
EX_IO[3]H14inout 3.3-V LVTTL
EX_IO[4]F14inout 3.3-V LVTTL
EX_IO[5]E10inout 3.3-V LVTTL
EX_IO[6]D9inout 3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SW
NameLocationDirectionStandard
SW[0]AB28input 3.3-V LVTTL
SW[1]AC28input 3.3-V LVTTL
SW[2]AC27input 3.3-V LVTTL
SW[3]AD27input 3.3-V LVTTL
SW[4]AB27input 3.3-V LVTTL
SW[5]AC26input 3.3-V LVTTL
SW[6]AD26input 3.3-V LVTTL
SW[7]AB26input 3.3-V LVTTL
SW[8]AC25input 3.3-V LVTTL
SW[9]AB25input 3.3-V LVTTL
SW[10]AC24input 3.3-V LVTTL
SW[11]AB24input 3.3-V LVTTL
SW[12]AB23input 3.3-V LVTTL
SW[13]AA24input 3.3-V LVTTL
SW[14]AA23input 3.3-V LVTTL
SW[15]AA22input 3.3-V LVTTL
SW[16]Y24input 3.3-V LVTTL
SW[17]Y23input 3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SEG7
NameLocationDirectionStandard
HEX0[0]G18output2.5 V
HEX0[1]F22output2.5 V
HEX0[2]E17output2.5 V
HEX0[3]L26output3.3-V LVTTL
HEX0[4]L25output3.3-V LVTTL
HEX0[5]J22output3.3-V LVTTL
HEX0[6]H22output3.3-V LVTTL
HEX1[0]M24output3.3-V LVTTL
HEX1[1]Y22output3.3-V LVTTL
HEX1[2]W21output3.3-V LVTTL
HEX1[3]W22output3.3-V LVTTL
HEX1[4]W25output3.3-V LVTTL
HEX1[5]U23output3.3-V LVTTL
HEX1[6]U24output3.3-V LVTTL
HEX2[0]AA25output3.3-V LVTTL
HEX2[1]AA26output3.3-V LVTTL
HEX2[2]Y25output3.3-V LVTTL
HEX2[3]W26output3.3-V LVTTL
HEX2[4]Y26output3.3-V LVTTL
HEX2[5]W27output3.3-V LVTTL
HEX2[6]W28output3.3-V LVTTL
HEX3[0]V21output3.3-V LVTTL
HEX3[1]U21output3.3-V LVTTL
HEX3[2]AB20output3.3-V LVTTL
HEX3[3]AA21output3.3-V LVTTL
HEX3[4]AD24output3.3-V LVTTL
HEX3[5]AF23output3.3-V LVTTL
HEX3[6]Y19output3.3-V LVTTL
HEX4[0]AB19output3.3-V LVTTL
HEX4[1]AA19output3.3-V LVTTL
HEX4[2]AG21output3.3-V LVTTL
HEX4[3]AH21output3.3-V LVTTL
HEX4[4]AE19output3.3-V LVTTL
HEX4[5]AF19output3.3-V LVTTL
HEX4[6]AE18output3.3-V LVTTL
HEX5[0]AD18output3.3-V LVTTL
HEX5[1]AC18output3.3-V LVTTL
HEX5[2]AB18output3.3-V LVTTL
HEX5[3]AH19output3.3-V LVTTL
HEX5[4]AG19output3.3-V LVTTL
HEX5[5]AF18output3.3-V LVTTL
HEX5[6]AH18output3.3-V LVTTL
HEX6[0]AA17output3.3-V LVTTL
HEX6[1]AB16output3.3-V LVTTL
HEX6[2]AA16output3.3-V LVTTL
HEX6[3]AB17output3.3-V LVTTL
HEX6[4]AB15output3.3-V LVTTL
HEX6[5]AA15output3.3-V LVTTL
HEX6[6]AC17output3.3-V LVTTL
HEX7[0]AD17output3.3-V LVTTL
HEX7[1]AE17output3.3-V LVTTL
HEX7[2]AG17output3.3-V LVTTL
HEX7[3]AH17output3.3-V LVTTL
HEX7[4]AF17output3.3-V LVTTL
HEX7[5]AG18output3.3-V LVTTL
HEX7[6]AA14output3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LCD
NameLocationDirectionStandard
LCD_DATA[0]L3inout 3.3-V LVTTL
LCD_DATA[1]L1inout 3.3-V LVTTL
LCD_DATA[2]L2inout 3.3-V LVTTL
LCD_DATA[3]K7inout 3.3-V LVTTL
LCD_DATA[4]K1inout 3.3-V LVTTL
LCD_DATA[5]K2inout 3.3-V LVTTL
LCD_DATA[6]M3inout 3.3-V LVTTL
LCD_DATA[7]M5inout 3.3-V LVTTL
LCD_BLONL6output3.3-V LVTTL
LCD_RWM1output3.3-V LVTTL
LCD_ENL4output3.3-V LVTTL
LCD_RSM2output3.3-V LVTTL
LCD_ONL5output3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RS232
NameLocationDirectionStandard
UART_TXDG9output3.3-V LVTTL
UART_RXDG12input 3.3-V LVTTL
UART_RTSG14output3.3-V LVTTL
UART_CTSJ13input 3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PS2 for Keyboard and Mouse
NameLocationDirectionStandard
PS2_CLKG6inout 3.3-V LVTTL
PS2_DATH5inout 3.3-V LVTTL
PS2_CLK2G5inout 3.3-V LVTTL
PS2_DAT2F5inout 3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SDCARD
NameLocationDirectionStandard
SD_CMDAD14inout 3.3-V LVTTL
SD_CLKAE13output3.3-V LVTTL
SD_WP_NAF14input 3.3-V LVTTL
SD_DAT[0]AE14inout 3.3-V LVTTL
SD_DAT[1]AF13inout 3.3-V LVTTL
SD_DAT[2]AB14inout 3.3-V LVTTL
SD_DAT[3]AC14inout 3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VGA
NameLocationDirectionStandard
VGA_HSG13output3.3-V LVTTL
VGA_VSC13output3.3-V LVTTL
VGA_SYNC_NC10output3.3-V LVTTL
VGA_CLKA12output3.3-V LVTTL
VGA_BLANK_NF11output3.3-V LVTTL
VGA_R[0]E12output3.3-V LVTTL
VGA_R[1]E11output3.3-V LVTTL
VGA_R[2]D10output3.3-V LVTTL
VGA_R[3]F12output3.3-V LVTTL
VGA_R[4]G10output3.3-V LVTTL
VGA_R[5]J12output3.3-V LVTTL
VGA_R[6]H8output3.3-V LVTTL
VGA_R[7]H10output3.3-V LVTTL
VGA_G[0]G8output3.3-V LVTTL
VGA_G[1]G11output3.3-V LVTTL
VGA_G[2]F8output3.3-V LVTTL
VGA_G[3]H12output3.3-V LVTTL
VGA_G[4]C8output3.3-V LVTTL
VGA_G[5]B8output3.3-V LVTTL
VGA_G[6]F10output3.3-V LVTTL
VGA_G[7]C9output3.3-V LVTTL
VGA_B[0]B10output3.3-V LVTTL
VGA_B[1]A10output3.3-V LVTTL
VGA_B[2]C11output3.3-V LVTTL
VGA_B[3]B11output3.3-V LVTTL
VGA_B[4]A11output3.3-V LVTTL
VGA_B[5]C12output3.3-V LVTTL
VGA_B[6]D11output3.3-V LVTTL
VGA_B[7]D12output3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Audio
NameLocationDirectionStandard
AUD_ADCLRCKC2inout 3.3-V LVTTL
AUD_ADCDATD2input 3.3-V LVTTL
AUD_DACLRCKE3inout 3.3-V LVTTL
AUD_DACDATD1output3.3-V LVTTL
AUD_XCKE1output3.3-V LVTTL
AUD_BCLKF2inout 3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + +
I2C for EEPROM
NameLocationDirectionStandard
EEP_I2C_SCLKD14output3.3-V LVTTL
EEP_I2C_SDATE14inout 3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + +
I2C for Audio Tv-Decoder
NameLocationDirectionStandard
I2C_SCLKB7output3.3-V LVTTL
I2C_SDATA8inout 3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ethernet 0
NameLocationDirectionStandard
ENETCLK_25A14input 3.3-V LVTTL
ENET0_TX_DATA[0]C18output2.5 V
ENET0_RX_DATA[0]C16input 2.5 V
ENET0_TX_DATA[1]D19output2.5 V
ENET0_RX_DATA[1]D16input 2.5 V
ENET0_TX_DATA[2]A19output2.5 V
ENET0_RX_DATA[2]D17input 2.5 V
ENET0_TX_DATA[3]B19output2.5 V
ENET0_RX_DATA[3]C15input 2.5 V
ENET0_GTX_CLKA17output2.5 V
ENET0_TX_ENA18output2.5 V
ENET0_TX_ERB18output2.5 V
ENET0_INT_NA21input 2.5 V
ENET0_RST_NC19output2.5 V
ENET0_RX_DVC17input 2.5 V
ENET0_RX_ERD18input 2.5 V
ENET0_RX_CRSD15input 2.5 V
ENET0_RX_COLE15input 2.5 V
ENET0_RX_CLKA15input 2.5 V
ENET0_TX_CLKB17input 2.5 V
ENET0_MDCC20output2.5 V
ENET0_MDIOB21inout 2.5 V
ENET0_LINK100C14input 3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ethernet 1
NameLocationDirectionStandard
ENET1_TX_DATA[0]C25output2.5 V
ENET1_RX_DATA[0]B23input 2.5 V
ENET1_TX_DATA[1]A26output2.5 V
ENET1_RX_DATA[1]C21input 2.5 V
ENET1_TX_DATA[2]B26output2.5 V
ENET1_RX_DATA[2]A23input 2.5 V
ENET1_TX_DATA[3]C26output2.5 V
ENET1_RX_DATA[3]D21input 2.5 V
ENET1_GTX_CLKC23output2.5 V
ENET1_TX_ENB25output2.5 V
ENET1_TX_ERA25output2.5 V
ENET1_INT_ND24input 2.5 V
ENET1_RST_ND22output2.5 V
ENET1_RX_DVA22input 2.5 V
ENET1_RX_ERC24input 2.5 V
ENET1_RX_CRSD20input 2.5 V
ENET1_RX_COLB22input 2.5 V
ENET1_RX_CLKB15input 2.5 V
ENET1_TX_CLKC22input 2.5 V
ENET1_MDCD23output2.5 V
ENET1_MDIOD25inout 2.5 V
ENET1_LINK100D13input 3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TV Decoder
NameLocationDirectionStandard
TD_HSE5input 3.3-V LVTTL
TD_VSE4input 3.3-V LVTTL
TD_CLK27B14input 3.3-V LVTTL
TD_RESET_NG7output3.3-V LVTTL
TD_DATA[0]E8input 3.3-V LVTTL
TD_DATA[1]A7input 3.3-V LVTTL
TD_DATA[2]D8input 3.3-V LVTTL
TD_DATA[3]C7input 3.3-V LVTTL
TD_DATA[4]D7input 3.3-V LVTTL
TD_DATA[5]D6input 3.3-V LVTTL
TD_DATA[6]E7input 3.3-V LVTTL
TD_DATA[7]F7input 3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
USB 2.0 OTG (Cypress CY7C67200)
NameLocationDirectionStandard
OTG_DATA[0]J6inout 3.3-V LVTTL
OTG_DATA[1]K4inout 3.3-V LVTTL
OTG_DATA[2]J5inout 3.3-V LVTTL
OTG_DATA[3]K3inout 3.3-V LVTTL
OTG_DATA[4]J4inout 3.3-V LVTTL
OTG_DATA[5]J3inout 3.3-V LVTTL
OTG_DATA[6]J7inout 3.3-V LVTTL
OTG_DATA[7]H6inout 3.3-V LVTTL
OTG_DATA[8]H3inout 3.3-V LVTTL
OTG_DATA[9]H4inout 3.3-V LVTTL
OTG_DATA[10]G1inout 3.3-V LVTTL
OTG_DATA[11]G2inout 3.3-V LVTTL
OTG_DATA[12]G3inout 3.3-V LVTTL
OTG_DATA[13]F1inout 3.3-V LVTTL
OTG_DATA[14]F3inout 3.3-V LVTTL
OTG_DATA[15]G4inout 3.3-V LVTTL
OTG_ADDR[0]H7output3.3-V LVTTL
OTG_ADDR[1]C3output3.3-V LVTTL
OTG_INTD5input 3.3-V LVTTL
OTG_RST_NC5output3.3-V LVTTL
OTG_CS_NA3output3.3-V LVTTL
OTG_RD_NB3output3.3-V LVTTL
OTG_WE_NA4output3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + +
IR Receiver
NameLocationDirectionStandard
IRDA_RXDY15input 3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SDRAM
NameLocationDirectionStandard
DRAM_BA[0]U7output3.3-V LVTTL
DRAM_BA[1]R4output3.3-V LVTTL
DRAM_DQM[0]U2output3.3-V LVTTL
DRAM_DQM[1]W4output3.3-V LVTTL
DRAM_DQM[2]K8output3.3-V LVTTL
DRAM_DQM[3]N8output3.3-V LVTTL
DRAM_RAS_NU6output3.3-V LVTTL
DRAM_CAS_NV7output3.3-V LVTTL
DRAM_CKEAA6output3.3-V LVTTL
DRAM_CLKAE5output3.3-V LVTTL
DRAM_WE_NV6output3.3-V LVTTL
DRAM_CS_NT4output3.3-V LVTTL
DRAM_DQ[0]W3inout 3.3-V LVTTL
DRAM_DQ[1]W2inout 3.3-V LVTTL
DRAM_DQ[2]V4inout 3.3-V LVTTL
DRAM_DQ[3]W1inout 3.3-V LVTTL
DRAM_DQ[4]V3inout 3.3-V LVTTL
DRAM_DQ[5]V2inout 3.3-V LVTTL
DRAM_DQ[6]V1inout 3.3-V LVTTL
DRAM_DQ[7]U3inout 3.3-V LVTTL
DRAM_DQ[8]Y3inout 3.3-V LVTTL
DRAM_DQ[9]Y4inout 3.3-V LVTTL
DRAM_DQ[10]AB1inout 3.3-V LVTTL
DRAM_DQ[11]AA3inout 3.3-V LVTTL
DRAM_DQ[12]AB2inout 3.3-V LVTTL
DRAM_DQ[13]AC1inout 3.3-V LVTTL
DRAM_DQ[14]AB3inout 3.3-V LVTTL
DRAM_DQ[15]AC2inout 3.3-V LVTTL
DRAM_DQ[16]M8inout 3.3-V LVTTL
DRAM_DQ[17]L8inout 3.3-V LVTTL
DRAM_DQ[18]P2inout 3.3-V LVTTL
DRAM_DQ[19]N3inout 3.3-V LVTTL
DRAM_DQ[20]N4inout 3.3-V LVTTL
DRAM_DQ[21]M4inout 3.3-V LVTTL
DRAM_DQ[22]M7inout 3.3-V LVTTL
DRAM_DQ[23]L7inout 3.3-V LVTTL
DRAM_DQ[24]U5inout 3.3-V LVTTL
DRAM_DQ[25]R7inout 3.3-V LVTTL
DRAM_DQ[26]R1inout 3.3-V LVTTL
DRAM_DQ[27]R2inout 3.3-V LVTTL
DRAM_DQ[28]R3inout 3.3-V LVTTL
DRAM_DQ[29]T3inout 3.3-V LVTTL
DRAM_DQ[30]U4inout 3.3-V LVTTL
DRAM_DQ[31]U1inout 3.3-V LVTTL
DRAM_ADDR[0]R6output3.3-V LVTTL
DRAM_ADDR[1]V8output3.3-V LVTTL
DRAM_ADDR[2]U8output3.3-V LVTTL
DRAM_ADDR[3]P1output3.3-V LVTTL
DRAM_ADDR[4]V5output3.3-V LVTTL
DRAM_ADDR[5]W8output3.3-V LVTTL
DRAM_ADDR[6]W7output3.3-V LVTTL
DRAM_ADDR[7]AA7output3.3-V LVTTL
DRAM_ADDR[8]Y5output3.3-V LVTTL
DRAM_ADDR[9]Y6output3.3-V LVTTL
DRAM_ADDR[10]R5output3.3-V LVTTL
DRAM_ADDR[11]AA5output3.3-V LVTTL
DRAM_ADDR[12]Y7output3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SRAM
NameLocationDirectionStandard
SRAM_ADDR[0]AB7output3.3-V LVTTL
SRAM_ADDR[1]AD7output3.3-V LVTTL
SRAM_ADDR[2]AE7output3.3-V LVTTL
SRAM_ADDR[3]AC7output3.3-V LVTTL
SRAM_ADDR[4]AB6output3.3-V LVTTL
SRAM_ADDR[5]AE6output3.3-V LVTTL
SRAM_ADDR[6]AB5output3.3-V LVTTL
SRAM_ADDR[7]AC5output3.3-V LVTTL
SRAM_ADDR[8]AF5output3.3-V LVTTL
SRAM_ADDR[9]T7output3.3-V LVTTL
SRAM_ADDR[10]AF2output3.3-V LVTTL
SRAM_ADDR[11]AD3output3.3-V LVTTL
SRAM_ADDR[12]AB4output3.3-V LVTTL
SRAM_ADDR[13]AC3output3.3-V LVTTL
SRAM_ADDR[14]AA4output3.3-V LVTTL
SRAM_ADDR[15]AB11output3.3-V LVTTL
SRAM_ADDR[16]AC11output3.3-V LVTTL
SRAM_ADDR[17]AB9output3.3-V LVTTL
SRAM_ADDR[18]AB8output3.3-V LVTTL
SRAM_ADDR[19]T8output3.3-V LVTTL
SRAM_DQ[0]AH3inout 3.3-V LVTTL
SRAM_DQ[1]AF4inout 3.3-V LVTTL
SRAM_DQ[2]AG4inout 3.3-V LVTTL
SRAM_DQ[3]AH4inout 3.3-V LVTTL
SRAM_DQ[4]AF6inout 3.3-V LVTTL
SRAM_DQ[5]AG6inout 3.3-V LVTTL
SRAM_DQ[6]AH6inout 3.3-V LVTTL
SRAM_DQ[7]AF7inout 3.3-V LVTTL
SRAM_DQ[8]AD1inout 3.3-V LVTTL
SRAM_DQ[9]AD2inout 3.3-V LVTTL
SRAM_DQ[10]AE2inout 3.3-V LVTTL
SRAM_DQ[11]AE1inout 3.3-V LVTTL
SRAM_DQ[12]AE3inout 3.3-V LVTTL
SRAM_DQ[13]AE4inout 3.3-V LVTTL
SRAM_DQ[14]AF3inout 3.3-V LVTTL
SRAM_DQ[15]AG3inout 3.3-V LVTTL
SRAM_UB_NAC4output3.3-V LVTTL
SRAM_LB_NAD4output3.3-V LVTTL
SRAM_CE_NAF8output3.3-V LVTTL
SRAM_OE_NAD5output3.3-V LVTTL
SRAM_WE_NAE8output3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Flash
NameLocationDirectionStandard
FL_ADDR[0]AG12output3.3-V LVTTL
FL_ADDR[1]AH7output3.3-V LVTTL
FL_ADDR[2]Y13output3.3-V LVTTL
FL_ADDR[3]Y14output3.3-V LVTTL
FL_ADDR[4]Y12output3.3-V LVTTL
FL_ADDR[5]AA13output3.3-V LVTTL
FL_ADDR[6]AA12output3.3-V LVTTL
FL_ADDR[7]AB13output3.3-V LVTTL
FL_ADDR[8]AB12output3.3-V LVTTL
FL_ADDR[9]AB10output3.3-V LVTTL
FL_ADDR[10]AE9output3.3-V LVTTL
FL_ADDR[11]AF9output3.3-V LVTTL
FL_ADDR[12]AA10output3.3-V LVTTL
FL_ADDR[13]AD8output3.3-V LVTTL
FL_ADDR[14]AC8output3.3-V LVTTL
FL_ADDR[15]Y10output3.3-V LVTTL
FL_ADDR[16]AA8output3.3-V LVTTL
FL_ADDR[17]AH12output3.3-V LVTTL
FL_ADDR[18]AC12output3.3-V LVTTL
FL_ADDR[19]AD12output3.3-V LVTTL
FL_ADDR[20]AE10output3.3-V LVTTL
FL_ADDR[21]AD10output3.3-V LVTTL
FL_ADDR[22]AD11output3.3-V LVTTL
FL_DQ[0]AH8inout 3.3-V LVTTL
FL_DQ[1]AF10inout 3.3-V LVTTL
FL_DQ[2]AG10inout 3.3-V LVTTL
FL_DQ[3]AH10inout 3.3-V LVTTL
FL_DQ[4]AF11inout 3.3-V LVTTL
FL_DQ[5]AG11inout 3.3-V LVTTL
FL_DQ[6]AH11inout 3.3-V LVTTL
FL_DQ[7]AF12inout 3.3-V LVTTL
FL_CE_NAG7output3.3-V LVTTL
FL_OE_NAG8output3.3-V LVTTL
FL_RST_NAE11output3.3-V LVTTL
FL_RYY1input 3.3-V LVTTL
FL_WE_NAC10output3.3-V LVTTL
FL_WP_NAE12output3.3-V LVTTL
+

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GPIO connect to GPIO Default
NameLocationDirectionStandardGPIO Pin Index
GPIO[0]AB22inout 3.3-V LVTTL1
GPIO[1]AC15inout 3.3-V LVTTL2
GPIO[2]AB21inout 3.3-V LVTTL3
GPIO[3]Y17inout 3.3-V LVTTL4
GPIO[4]AC21inout 3.3-V LVTTL5
GPIO[5]Y16inout 3.3-V LVTTL6
GPIO[6]AD21inout 3.3-V LVTTL7
GPIO[7]AE16inout 3.3-V LVTTL8
GPIO[8]AD15inout 3.3-V LVTTL9
GPIO[9]AE15inout 3.3-V LVTTL10
GPIO[10]AC19inout 3.3-V LVTTL13
GPIO[11]AF16inout 3.3-V LVTTL14
GPIO[12]AD19inout 3.3-V LVTTL15
GPIO[13]AF15inout 3.3-V LVTTL16
GPIO[14]AF24inout 3.3-V LVTTL17
GPIO[15]AE21inout 3.3-V LVTTL18
GPIO[16]AF25inout 3.3-V LVTTL19
GPIO[17]AC22inout 3.3-V LVTTL20
GPIO[18]AE22inout 3.3-V LVTTL21
GPIO[19]AF21inout 3.3-V LVTTL22
GPIO[20]AF22inout 3.3-V LVTTL23
GPIO[21]AD22inout 3.3-V LVTTL24
GPIO[22]AG25inout 3.3-V LVTTL25
GPIO[23]AD25inout 3.3-V LVTTL26
GPIO[24]AH25inout 3.3-V LVTTL27
GPIO[25]AE25inout 3.3-V LVTTL28
GPIO[26]AG22inout 3.3-V LVTTL31
GPIO[27]AE24inout 3.3-V LVTTL32
GPIO[28]AH22inout 3.3-V LVTTL33
GPIO[29]AF26inout 3.3-V LVTTL34
GPIO[30]AE20inout 3.3-V LVTTL35
GPIO[31]AG23inout 3.3-V LVTTL36
GPIO[32]AF20inout 3.3-V LVTTL37
GPIO[33]AH26inout 3.3-V LVTTL38
GPIO[34]AH23inout 3.3-V LVTTL39
GPIO[35]AG26inout 3.3-V LVTTL40
+ + diff --git a/examples/hdl4se_riscv/de2/de2_riscv_v4.pin b/examples/hdl4se_riscv/de2/de2_riscv_v4.pin new file mode 100644 index 0000000..a34c258 --- /dev/null +++ b/examples/hdl4se_riscv/de2/de2_riscv_v4.pin @@ -0,0 +1,850 @@ + -- Copyright (C) 1991-2013 Altera Corporation + -- Your use of Altera Corporation's design tools, logic functions + -- and other software and tools, and its AMPP partner logic + -- functions, and any output files from any of the foregoing + -- (including device programming or simulation files), and any + -- associated documentation or information are expressly subject + -- to the terms and conditions of the Altera Program License + -- Subscription Agreement, Altera MegaCore Function License + -- Agreement, or other applicable license agreement, including, + -- without limitation, that your use is for the sole purpose of + -- programming logic devices manufactured by Altera and sold by + -- Altera or its authorized distributors. Please refer to the + -- applicable agreement for further details. + -- + -- This is a Quartus II output file. It is for reporting purposes only, and is + -- not intended for use as a Quartus II input file. This file cannot be used + -- to make Quartus II pin assignments - for instructions on how to make pin + -- assignments, please see Quartus II help. + --------------------------------------------------------------------------------- + + + + --------------------------------------------------------------------------------- + -- NC : No Connect. This pin has no internal connection to the device. + -- DNU : Do Not Use. This pin MUST NOT be connected. + -- VCCINT : Dedicated power pin, which MUST be connected to VCC (1.2V). + -- VCCIO : Dedicated power pin, which MUST be connected to VCC + -- of its bank. + -- Bank 1: 3.3V + -- Bank 2: 3.3V + -- Bank 3: 3.3V + -- Bank 4: 3.3V + -- Bank 5: 3.3V + -- Bank 6: 3.3V + -- Bank 7: 2.5V + -- Bank 8: 3.3V + -- GND : Dedicated ground pin. Dedicated GND pins MUST be connected to GND. + -- It can also be used to report unused dedicated pins. The connection + -- on the board for unused dedicated pins depends on whether this will + -- be used in a future design. One example is device migration. When + -- using device migration, refer to the device pin-tables. If it is a + -- GND pin in the pin table or if it will not be used in a future design + -- for another purpose the it MUST be connected to GND. If it is an unused + -- dedicated pin, then it can be connected to a valid signal on the board + -- (low, high, or toggling) if that signal is required for a different + -- revision of the design. + -- GND+ : Unused input pin. It can also be used to report unused dual-purpose pins. + -- This pin should be connected to GND. It may also be connected to a + -- valid signal on the board (low, high, or toggling) if that signal + -- is required for a different revision of the design. + -- GND* : Unused I/O pin. Connect each pin marked GND* directly to GND + -- or leave it unconnected. + -- RESERVED : Unused I/O pin, which MUST be left unconnected. + -- RESERVED_INPUT : Pin is tri-stated and should be connected to the board. + -- RESERVED_INPUT_WITH_WEAK_PULLUP : Pin is tri-stated with internal weak pull-up resistor. + -- RESERVED_INPUT_WITH_BUS_HOLD : Pin is tri-stated with bus-hold circuitry. + -- RESERVED_OUTPUT_DRIVEN_HIGH : Pin is output driven high. + --------------------------------------------------------------------------------- + + + + --------------------------------------------------------------------------------- + -- Pin directions (input, output or bidir) are based on device operating in user mode. + --------------------------------------------------------------------------------- + +Quartus II 64-Bit Version 13.1.0 Build 162 10/23/2013 SJ Full Version +CHIP "de2_riscv_v4" ASSIGNED TO AN: EP4CE115F29C7 + +Pin Name/Usage : Location : Dir. : I/O Standard : Voltage : I/O Bank : User Assignment +------------------------------------------------------------------------------------------------------------- +VCCIO8 : A2 : power : : 3.3V : 8 : +OTG_CS_N : A3 : output : 3.3-V LVTTL : : 8 : Y +OTG_WE_N : A4 : output : 3.3-V LVTTL : : 8 : Y +VCCIO8 : A5 : power : : 3.3V : 8 : +RESERVED_INPUT_WITH_WEAK_PULLUP : A6 : : : : 8 : +TD_DATA[1] : A7 : input : 3.3-V LVTTL : : 8 : Y +I2C_SDAT : A8 : bidir : 3.3-V LVTTL : : 8 : Y +VCCIO8 : A9 : power : : 3.3V : 8 : +VGA_B[1] : A10 : output : 3.3-V LVTTL : : 8 : Y +VGA_B[4] : A11 : output : 3.3-V LVTTL : : 8 : Y +VGA_CLK : A12 : output : 3.3-V LVTTL : : 8 : Y +VCCIO8 : A13 : power : : 3.3V : 8 : +ENETCLK_25 : A14 : input : 3.3-V LVTTL : : 8 : Y +ENET0_RX_CLK : A15 : input : 2.5 V : : 7 : Y +VCCIO7 : A16 : power : : 2.5V : 7 : +ENET0_GTX_CLK : A17 : output : 2.5 V : : 7 : Y +ENET0_TX_EN : A18 : output : 2.5 V : : 7 : Y +ENET0_TX_DATA[2] : A19 : output : 2.5 V : : 7 : Y +VCCIO7 : A20 : power : : 2.5V : 7 : +ENET0_INT_N : A21 : input : 2.5 V : : 7 : Y +ENET1_RX_DV : A22 : input : 2.5 V : : 7 : Y +ENET1_RX_DATA[2] : A23 : input : 2.5 V : : 7 : Y +VCCIO7 : A24 : power : : 2.5V : 7 : +ENET1_TX_ER : A25 : output : 2.5 V : : 7 : Y +ENET1_TX_DATA[1] : A26 : output : 2.5 V : : 7 : Y +VCCIO7 : A27 : power : : 2.5V : 7 : +VCCIO2 : AA1 : power : : 3.3V : 2 : +GND : AA2 : gnd : : : : +DRAM_DQ[11] : AA3 : bidir : 3.3-V LVTTL : : 2 : Y +SRAM_ADDR[14] : AA4 : output : 3.3-V LVTTL : : 2 : Y +DRAM_ADDR[11] : AA5 : output : 3.3-V LVTTL : : 2 : Y +DRAM_CKE : AA6 : output : 3.3-V LVTTL : : 2 : Y +DRAM_ADDR[7] : AA7 : output : 3.3-V LVTTL : : 2 : Y +FL_ADDR[16] : AA8 : output : 3.3-V LVTTL : : 3 : Y +GNDA1 : AA9 : gnd : : : : +FL_ADDR[12] : AA10 : output : 3.3-V LVTTL : : 3 : Y +VCCIO3 : AA11 : power : : 3.3V : 3 : +FL_ADDR[6] : AA12 : output : 3.3-V LVTTL : : 3 : Y +FL_ADDR[5] : AA13 : output : 3.3-V LVTTL : : 3 : Y +HEX7[6] : AA14 : output : 3.3-V LVTTL : : 3 : Y +HEX6[5] : AA15 : output : 3.3-V LVTTL : : 4 : Y +HEX6[2] : AA16 : output : 3.3-V LVTTL : : 4 : Y +HEX6[0] : AA17 : output : 3.3-V LVTTL : : 4 : Y +VCCIO4 : AA18 : power : : 3.3V : 4 : +HEX4[1] : AA19 : output : 3.3-V LVTTL : : 4 : Y +GNDA4 : AA20 : gnd : : : : +HEX3[3] : AA21 : output : 3.3-V LVTTL : : 4 : Y +SW[15] : AA22 : input : 3.3-V LVTTL : : 5 : Y +SW[14] : AA23 : input : 3.3-V LVTTL : : 5 : Y +SW[13] : AA24 : input : 3.3-V LVTTL : : 5 : Y +HEX2[0] : AA25 : output : 3.3-V LVTTL : : 5 : Y +HEX2[1] : AA26 : output : 3.3-V LVTTL : : 5 : Y +GND : AA27 : gnd : : : : +VCCIO5 : AA28 : power : : 3.3V : 5 : +DRAM_DQ[10] : AB1 : bidir : 3.3-V LVTTL : : 2 : Y +DRAM_DQ[12] : AB2 : bidir : 3.3-V LVTTL : : 2 : Y +DRAM_DQ[14] : AB3 : bidir : 3.3-V LVTTL : : 2 : Y +SRAM_ADDR[12] : AB4 : output : 3.3-V LVTTL : : 2 : Y +SRAM_ADDR[6] : AB5 : output : 3.3-V LVTTL : : 2 : Y +SRAM_ADDR[4] : AB6 : output : 3.3-V LVTTL : : 2 : Y +SRAM_ADDR[0] : AB7 : output : 3.3-V LVTTL : : 3 : Y +SRAM_ADDR[18] : AB8 : output : 3.3-V LVTTL : : 3 : Y +SRAM_ADDR[17] : AB9 : output : 3.3-V LVTTL : : 3 : Y +FL_ADDR[9] : AB10 : output : 3.3-V LVTTL : : 3 : Y +SRAM_ADDR[15] : AB11 : output : 3.3-V LVTTL : : 3 : Y +FL_ADDR[8] : AB12 : output : 3.3-V LVTTL : : 3 : Y +FL_ADDR[7] : AB13 : output : 3.3-V LVTTL : : 3 : Y +SD_DAT[2] : AB14 : bidir : 3.3-V LVTTL : : 3 : Y +HEX6[4] : AB15 : output : 3.3-V LVTTL : : 4 : Y +HEX6[1] : AB16 : output : 3.3-V LVTTL : : 4 : Y +HEX6[3] : AB17 : output : 3.3-V LVTTL : : 4 : Y +HEX5[2] : AB18 : output : 3.3-V LVTTL : : 4 : Y +HEX4[0] : AB19 : output : 3.3-V LVTTL : : 4 : Y +HEX3[2] : AB20 : output : 3.3-V LVTTL : : 4 : Y +GPIO[2] : AB21 : bidir : 3.3-V LVTTL : : 4 : Y +GPIO[0] : AB22 : bidir : 3.3-V LVTTL : : 4 : Y +SW[12] : AB23 : input : 3.3-V LVTTL : : 5 : Y +SW[11] : AB24 : input : 3.3-V LVTTL : : 5 : Y +SW[9] : AB25 : input : 3.3-V LVTTL : : 5 : Y +SW[7] : AB26 : input : 3.3-V LVTTL : : 5 : Y +SW[4] : AB27 : input : 3.3-V LVTTL : : 5 : Y +SW[0] : AB28 : input : 3.3-V LVTTL : : 5 : Y +DRAM_DQ[13] : AC1 : bidir : 3.3-V LVTTL : : 2 : Y +DRAM_DQ[15] : AC2 : bidir : 3.3-V LVTTL : : 2 : Y +SRAM_ADDR[13] : AC3 : output : 3.3-V LVTTL : : 2 : Y +SRAM_UB_N : AC4 : output : 3.3-V LVTTL : : 2 : Y +SRAM_ADDR[7] : AC5 : output : 3.3-V LVTTL : : 2 : Y +GND : AC6 : gnd : : : : +SRAM_ADDR[3] : AC7 : output : 3.3-V LVTTL : : 3 : Y +FL_ADDR[14] : AC8 : output : 3.3-V LVTTL : : 3 : Y +GND : AC9 : gnd : : : : +FL_WE_N : AC10 : output : 3.3-V LVTTL : : 3 : Y +SRAM_ADDR[16] : AC11 : output : 3.3-V LVTTL : : 3 : Y +FL_ADDR[18] : AC12 : output : 3.3-V LVTTL : : 3 : Y +GND : AC13 : gnd : : : : +SD_DAT[3] : AC14 : bidir : 3.3-V LVTTL : : 3 : Y +GPIO[1] : AC15 : bidir : 3.3-V LVTTL : : 4 : Y +GND : AC16 : gnd : : : : +HEX6[6] : AC17 : output : 3.3-V LVTTL : : 4 : Y +HEX5[1] : AC18 : output : 3.3-V LVTTL : : 4 : Y +GPIO[10] : AC19 : bidir : 3.3-V LVTTL : : 4 : Y +GND : AC20 : gnd : : : : +GPIO[4] : AC21 : bidir : 3.3-V LVTTL : : 4 : Y +GPIO[17] : AC22 : bidir : 3.3-V LVTTL : : 4 : Y +GND : AC23 : gnd : : : : +SW[10] : AC24 : input : 3.3-V LVTTL : : 5 : Y +SW[8] : AC25 : input : 3.3-V LVTTL : : 5 : Y +SW[5] : AC26 : input : 3.3-V LVTTL : : 5 : Y +SW[2] : AC27 : input : 3.3-V LVTTL : : 5 : Y +SW[1] : AC28 : input : 3.3-V LVTTL : : 5 : Y +SRAM_DQ[8] : AD1 : bidir : 3.3-V LVTTL : : 2 : Y +SRAM_DQ[9] : AD2 : bidir : 3.3-V LVTTL : : 2 : Y +SRAM_ADDR[11] : AD3 : output : 3.3-V LVTTL : : 2 : Y +SRAM_LB_N : AD4 : output : 3.3-V LVTTL : : 3 : Y +SRAM_OE_N : AD5 : output : 3.3-V LVTTL : : 3 : Y +VCCIO3 : AD6 : power : : 3.3V : 3 : +SRAM_ADDR[1] : AD7 : output : 3.3-V LVTTL : : 3 : Y +FL_ADDR[13] : AD8 : output : 3.3-V LVTTL : : 3 : Y +VCCIO3 : AD9 : power : : 3.3V : 3 : +FL_ADDR[21] : AD10 : output : 3.3-V LVTTL : : 3 : Y +FL_ADDR[22] : AD11 : output : 3.3-V LVTTL : : 3 : Y +FL_ADDR[19] : AD12 : output : 3.3-V LVTTL : : 3 : Y +VCCIO3 : AD13 : power : : 3.3V : 3 : +SD_CMD : AD14 : bidir : 3.3-V LVTTL : : 3 : Y +GPIO[8] : AD15 : bidir : 3.3-V LVTTL : : 4 : Y +VCCIO4 : AD16 : power : : 3.3V : 4 : +HEX7[0] : AD17 : output : 3.3-V LVTTL : : 4 : Y +HEX5[0] : AD18 : output : 3.3-V LVTTL : : 4 : Y +GPIO[12] : AD19 : bidir : 3.3-V LVTTL : : 4 : Y +VCCIO4 : AD20 : power : : 3.3V : 4 : +GPIO[6] : AD21 : bidir : 3.3-V LVTTL : : 4 : Y +GPIO[21] : AD22 : bidir : 3.3-V LVTTL : : 4 : Y +VCCIO4 : AD23 : power : : 3.3V : 4 : +HEX3[4] : AD24 : output : 3.3-V LVTTL : : 4 : Y +GPIO[23] : AD25 : bidir : 3.3-V LVTTL : : 4 : Y +SW[6] : AD26 : input : 3.3-V LVTTL : : 5 : Y +SW[3] : AD27 : input : 3.3-V LVTTL : : 5 : Y +RESERVED_INPUT_WITH_WEAK_PULLUP : AD28 : : : : 5 : +SRAM_DQ[11] : AE1 : bidir : 3.3-V LVTTL : : 2 : Y +SRAM_DQ[10] : AE2 : bidir : 3.3-V LVTTL : : 2 : Y +SRAM_DQ[12] : AE3 : bidir : 3.3-V LVTTL : : 2 : Y +SRAM_DQ[13] : AE4 : bidir : 3.3-V LVTTL : : 3 : Y +DRAM_CLK : AE5 : output : 3.3-V LVTTL : : 3 : Y +SRAM_ADDR[5] : AE6 : output : 3.3-V LVTTL : : 3 : Y +SRAM_ADDR[2] : AE7 : output : 3.3-V LVTTL : : 3 : Y +SRAM_WE_N : AE8 : output : 3.3-V LVTTL : : 3 : Y +FL_ADDR[10] : AE9 : output : 3.3-V LVTTL : : 3 : Y +FL_ADDR[20] : AE10 : output : 3.3-V LVTTL : : 3 : Y +FL_RST_N : AE11 : output : 3.3-V LVTTL : : 3 : Y +FL_WP_N : AE12 : output : 3.3-V LVTTL : : 3 : Y +SD_CLK : AE13 : output : 3.3-V LVTTL : : 3 : Y +SD_DAT[0] : AE14 : bidir : 3.3-V LVTTL : : 3 : Y +GPIO[9] : AE15 : bidir : 3.3-V LVTTL : : 4 : Y +GPIO[7] : AE16 : bidir : 3.3-V LVTTL : : 4 : Y +HEX7[1] : AE17 : output : 3.3-V LVTTL : : 4 : Y +HEX4[6] : AE18 : output : 3.3-V LVTTL : : 4 : Y +HEX4[4] : AE19 : output : 3.3-V LVTTL : : 4 : Y +GPIO[30] : AE20 : bidir : 3.3-V LVTTL : : 4 : Y +GPIO[15] : AE21 : bidir : 3.3-V LVTTL : : 4 : Y +GPIO[18] : AE22 : bidir : 3.3-V LVTTL : : 4 : Y +SMA_CLKOUT : AE23 : output : 3.3-V LVTTL : : 4 : Y +GPIO[27] : AE24 : bidir : 3.3-V LVTTL : : 4 : Y +GPIO[25] : AE25 : bidir : 3.3-V LVTTL : : 4 : Y +RESERVED_INPUT_WITH_WEAK_PULLUP : AE26 : : : : 5 : +RESERVED_INPUT_WITH_WEAK_PULLUP : AE27 : : : : 5 : +RESERVED_INPUT_WITH_WEAK_PULLUP : AE28 : : : : 5 : +GND : AF1 : gnd : : : : +SRAM_ADDR[10] : AF2 : output : 3.3-V LVTTL : : 2 : Y +SRAM_DQ[14] : AF3 : bidir : 3.3-V LVTTL : : 3 : Y +SRAM_DQ[1] : AF4 : bidir : 3.3-V LVTTL : : 3 : Y +SRAM_ADDR[8] : AF5 : output : 3.3-V LVTTL : : 3 : Y +SRAM_DQ[4] : AF6 : bidir : 3.3-V LVTTL : : 3 : Y +SRAM_DQ[7] : AF7 : bidir : 3.3-V LVTTL : : 3 : Y +SRAM_CE_N : AF8 : output : 3.3-V LVTTL : : 3 : Y +FL_ADDR[11] : AF9 : output : 3.3-V LVTTL : : 3 : Y +FL_DQ[1] : AF10 : bidir : 3.3-V LVTTL : : 3 : Y +FL_DQ[4] : AF11 : bidir : 3.3-V LVTTL : : 3 : Y +FL_DQ[7] : AF12 : bidir : 3.3-V LVTTL : : 3 : Y +SD_DAT[1] : AF13 : bidir : 3.3-V LVTTL : : 3 : Y +SD_WP_N : AF14 : input : 3.3-V LVTTL : : 3 : Y +GPIO[13] : AF15 : bidir : 3.3-V LVTTL : : 4 : Y +GPIO[11] : AF16 : bidir : 3.3-V LVTTL : : 4 : Y +HEX7[4] : AF17 : output : 3.3-V LVTTL : : 4 : Y +HEX5[5] : AF18 : output : 3.3-V LVTTL : : 4 : Y +HEX4[5] : AF19 : output : 3.3-V LVTTL : : 4 : Y +GPIO[32] : AF20 : bidir : 3.3-V LVTTL : : 4 : Y +GPIO[19] : AF21 : bidir : 3.3-V LVTTL : : 4 : Y +GPIO[20] : AF22 : bidir : 3.3-V LVTTL : : 4 : Y +HEX3[5] : AF23 : output : 3.3-V LVTTL : : 4 : Y +GPIO[14] : AF24 : bidir : 3.3-V LVTTL : : 4 : Y +GPIO[16] : AF25 : bidir : 3.3-V LVTTL : : 4 : Y +GPIO[29] : AF26 : bidir : 3.3-V LVTTL : : 4 : Y +RESERVED_INPUT_WITH_WEAK_PULLUP : AF27 : : : : 5 : +GND : AF28 : gnd : : : : +VCCIO2 : AG1 : power : : 3.3V : 2 : +GND : AG2 : gnd : : : : +SRAM_DQ[15] : AG3 : bidir : 3.3-V LVTTL : : 3 : Y +SRAM_DQ[2] : AG4 : bidir : 3.3-V LVTTL : : 3 : Y +GND : AG5 : gnd : : : : +SRAM_DQ[5] : AG6 : bidir : 3.3-V LVTTL : : 3 : Y +FL_CE_N : AG7 : output : 3.3-V LVTTL : : 3 : Y +FL_OE_N : AG8 : output : 3.3-V LVTTL : : 3 : Y +GND : AG9 : gnd : : : : +FL_DQ[2] : AG10 : bidir : 3.3-V LVTTL : : 3 : Y +FL_DQ[5] : AG11 : bidir : 3.3-V LVTTL : : 3 : Y +FL_ADDR[0] : AG12 : output : 3.3-V LVTTL : : 3 : Y +GND : AG13 : gnd : : : : +CLOCK2_50 : AG14 : input : 3.3-V LVTTL : : 3 : Y +CLOCK3_50 : AG15 : input : 3.3-V LVTTL : : 4 : Y +GND : AG16 : gnd : : : : +HEX7[2] : AG17 : output : 3.3-V LVTTL : : 4 : Y +HEX7[5] : AG18 : output : 3.3-V LVTTL : : 4 : Y +HEX5[4] : AG19 : output : 3.3-V LVTTL : : 4 : Y +GND : AG20 : gnd : : : : +HEX4[2] : AG21 : output : 3.3-V LVTTL : : 4 : Y +GPIO[26] : AG22 : bidir : 3.3-V LVTTL : : 4 : Y +GPIO[31] : AG23 : bidir : 3.3-V LVTTL : : 4 : Y +GND : AG24 : gnd : : : : +GPIO[22] : AG25 : bidir : 3.3-V LVTTL : : 4 : Y +GPIO[35] : AG26 : bidir : 3.3-V LVTTL : : 4 : Y +GND : AG27 : gnd : : : : +VCCIO5 : AG28 : power : : 3.3V : 5 : +VCCIO3 : AH2 : power : : 3.3V : 3 : +SRAM_DQ[0] : AH3 : bidir : 3.3-V LVTTL : : 3 : Y +SRAM_DQ[3] : AH4 : bidir : 3.3-V LVTTL : : 3 : Y +VCCIO3 : AH5 : power : : 3.3V : 3 : +SRAM_DQ[6] : AH6 : bidir : 3.3-V LVTTL : : 3 : Y +FL_ADDR[1] : AH7 : output : 3.3-V LVTTL : : 3 : Y +FL_DQ[0] : AH8 : bidir : 3.3-V LVTTL : : 3 : Y +VCCIO3 : AH9 : power : : 3.3V : 3 : +FL_DQ[3] : AH10 : bidir : 3.3-V LVTTL : : 3 : Y +FL_DQ[6] : AH11 : bidir : 3.3-V LVTTL : : 3 : Y +FL_ADDR[17] : AH12 : output : 3.3-V LVTTL : : 3 : Y +VCCIO3 : AH13 : power : : 3.3V : 3 : +SMA_CLKIN : AH14 : input : 3.3-V LVTTL : : 3 : Y +GND+ : AH15 : : : : 4 : +VCCIO4 : AH16 : power : : 3.3V : 4 : +HEX7[3] : AH17 : output : 3.3-V LVTTL : : 4 : Y +HEX5[6] : AH18 : output : 3.3-V LVTTL : : 4 : Y +HEX5[3] : AH19 : output : 3.3-V LVTTL : : 4 : Y +VCCIO4 : AH20 : power : : 3.3V : 4 : +HEX4[3] : AH21 : output : 3.3-V LVTTL : : 4 : Y +GPIO[28] : AH22 : bidir : 3.3-V LVTTL : : 4 : Y +GPIO[34] : AH23 : bidir : 3.3-V LVTTL : : 4 : Y +VCCIO4 : AH24 : power : : 3.3V : 4 : +GPIO[24] : AH25 : bidir : 3.3-V LVTTL : : 4 : Y +GPIO[33] : AH26 : bidir : 3.3-V LVTTL : : 4 : Y +VCCIO4 : AH27 : power : : 3.3V : 4 : +VCCIO1 : B1 : power : : 3.3V : 1 : +GND : B2 : gnd : : : : +OTG_RD_N : B3 : output : 3.3-V LVTTL : : 8 : Y +RESERVED_INPUT_WITH_WEAK_PULLUP : B4 : : : : 8 : +GND : B5 : gnd : : : : +RESERVED_INPUT_WITH_WEAK_PULLUP : B6 : : : : 8 : +I2C_SCLK : B7 : output : 3.3-V LVTTL : : 8 : Y +VGA_G[5] : B8 : output : 3.3-V LVTTL : : 8 : Y +GND : B9 : gnd : : : : +VGA_B[0] : B10 : output : 3.3-V LVTTL : : 8 : Y +VGA_B[3] : B11 : output : 3.3-V LVTTL : : 8 : Y +GND : B12 : gnd : : : : +GND : B13 : gnd : : : : +TD_CLK27 : B14 : input : 3.3-V LVTTL : : 8 : Y +ENET1_RX_CLK : B15 : input : 2.5 V : : 7 : Y +GND : B16 : gnd : : : : +ENET0_TX_CLK : B17 : input : 2.5 V : : 7 : Y +ENET0_TX_ER : B18 : output : 2.5 V : : 7 : Y +ENET0_TX_DATA[3] : B19 : output : 2.5 V : : 7 : Y +GND : B20 : gnd : : : : +ENET0_MDIO : B21 : bidir : 2.5 V : : 7 : Y +ENET1_RX_COL : B22 : input : 2.5 V : : 7 : Y +ENET1_RX_DATA[0] : B23 : input : 2.5 V : : 7 : Y +GND : B24 : gnd : : : : +ENET1_TX_EN : B25 : output : 2.5 V : : 7 : Y +ENET1_TX_DATA[2] : B26 : output : 2.5 V : : 7 : Y +GND : B27 : gnd : : : : +VCCIO6 : B28 : power : : 3.3V : 6 : +GND : C1 : gnd : : : : +AUD_ADCLRCK : C2 : bidir : 3.3-V LVTTL : : 1 : Y +OTG_ADDR[1] : C3 : output : 3.3-V LVTTL : : 8 : Y +RESERVED_INPUT_WITH_WEAK_PULLUP : C4 : : : : 8 : +OTG_RST_N : C5 : output : 3.3-V LVTTL : : 8 : Y +RESERVED_INPUT_WITH_WEAK_PULLUP : C6 : : : : 8 : +TD_DATA[3] : C7 : input : 3.3-V LVTTL : : 8 : Y +VGA_G[4] : C8 : output : 3.3-V LVTTL : : 8 : Y +VGA_G[7] : C9 : output : 3.3-V LVTTL : : 8 : Y +VGA_SYNC_N : C10 : output : 3.3-V LVTTL : : 8 : Y +VGA_B[2] : C11 : output : 3.3-V LVTTL : : 8 : Y +VGA_B[5] : C12 : output : 3.3-V LVTTL : : 8 : Y +VGA_VS : C13 : output : 3.3-V LVTTL : : 8 : Y +ENET0_LINK100 : C14 : input : 3.3-V LVTTL : : 8 : Y +ENET0_RX_DATA[3] : C15 : input : 2.5 V : : 7 : Y +ENET0_RX_DATA[0] : C16 : input : 2.5 V : : 7 : Y +ENET0_RX_DV : C17 : input : 2.5 V : : 7 : Y +ENET0_TX_DATA[0] : C18 : output : 2.5 V : : 7 : Y +ENET0_RST_N : C19 : output : 2.5 V : : 7 : Y +ENET0_MDC : C20 : output : 2.5 V : : 7 : Y +ENET1_RX_DATA[1] : C21 : input : 2.5 V : : 7 : Y +ENET1_TX_CLK : C22 : input : 2.5 V : : 7 : Y +ENET1_GTX_CLK : C23 : output : 2.5 V : : 7 : Y +ENET1_RX_ER : C24 : input : 2.5 V : : 7 : Y +ENET1_TX_DATA[0] : C25 : output : 2.5 V : : 7 : Y +ENET1_TX_DATA[3] : C26 : output : 2.5 V : : 7 : Y +RESERVED_INPUT_WITH_WEAK_PULLUP : C27 : : : : 6 : +GND : C28 : gnd : : : : +AUD_DACDAT : D1 : output : 3.3-V LVTTL : : 1 : Y +AUD_ADCDAT : D2 : input : 3.3-V LVTTL : : 1 : Y +GND : D3 : gnd : : : : +RESERVED_INPUT_WITH_WEAK_PULLUP : D4 : : : : 8 : +OTG_INT : D5 : input : 3.3-V LVTTL : : 8 : Y +TD_DATA[5] : D6 : input : 3.3-V LVTTL : : 8 : Y +TD_DATA[4] : D7 : input : 3.3-V LVTTL : : 8 : Y +TD_DATA[2] : D8 : input : 3.3-V LVTTL : : 8 : Y +EX_IO[6] : D9 : bidir : 3.3-V LVTTL : : 8 : Y +VGA_R[2] : D10 : output : 3.3-V LVTTL : : 8 : Y +VGA_B[6] : D11 : output : 3.3-V LVTTL : : 8 : Y +VGA_B[7] : D12 : output : 3.3-V LVTTL : : 8 : Y +ENET1_LINK100 : D13 : input : 3.3-V LVTTL : : 8 : Y +EEP_I2C_SCLK : D14 : output : 3.3-V LVTTL : : 8 : Y +ENET0_RX_CRS : D15 : input : 2.5 V : : 7 : Y +ENET0_RX_DATA[1] : D16 : input : 2.5 V : : 7 : Y +ENET0_RX_DATA[2] : D17 : input : 2.5 V : : 7 : Y +ENET0_RX_ER : D18 : input : 2.5 V : : 7 : Y +ENET0_TX_DATA[1] : D19 : output : 2.5 V : : 7 : Y +ENET1_RX_CRS : D20 : input : 2.5 V : : 7 : Y +ENET1_RX_DATA[3] : D21 : input : 2.5 V : : 7 : Y +ENET1_RST_N : D22 : output : 2.5 V : : 7 : Y +ENET1_MDC : D23 : output : 2.5 V : : 7 : Y +ENET1_INT_N : D24 : input : 2.5 V : : 7 : Y +ENET1_MDIO : D25 : bidir : 2.5 V : : 7 : Y +RESERVED_INPUT_WITH_WEAK_PULLUP : D26 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : D27 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : D28 : : : : 6 : +AUD_XCK : E1 : output : 3.3-V LVTTL : : 1 : Y +~ALTERA_FLASH_nCE_nCSO~ / RESERVED_INPUT_WITH_WEAK_PULLUP : E2 : input : 3.3-V LVTTL : : 1 : N +AUD_DACLRCK : E3 : bidir : 3.3-V LVTTL : : 1 : Y +TD_VS : E4 : input : 3.3-V LVTTL : : 8 : Y +TD_HS : E5 : input : 3.3-V LVTTL : : 8 : Y +VCCIO8 : E6 : power : : 3.3V : 8 : +TD_DATA[6] : E7 : input : 3.3-V LVTTL : : 8 : Y +TD_DATA[0] : E8 : input : 3.3-V LVTTL : : 8 : Y +VCCIO8 : E9 : power : : 3.3V : 8 : +EX_IO[5] : E10 : bidir : 3.3-V LVTTL : : 8 : Y +VGA_R[1] : E11 : output : 3.3-V LVTTL : : 8 : Y +VGA_R[0] : E12 : output : 3.3-V LVTTL : : 8 : Y +VCCIO8 : E13 : power : : 3.3V : 8 : +EEP_I2C_SDAT : E14 : bidir : 3.3-V LVTTL : : 8 : Y +ENET0_RX_COL : E15 : input : 2.5 V : : 7 : Y +VCCIO7 : E16 : power : : 2.5V : 7 : +HEX0[2] : E17 : output : 2.5 V : : 7 : Y +LEDR[5] : E18 : output : 2.5 V : : 7 : Y +LEDR[2] : E19 : output : 2.5 V : : 7 : Y +VCCIO7 : E20 : power : : 2.5V : 7 : +LEDG[0] : E21 : output : 2.5 V : : 7 : Y +LEDG[1] : E22 : output : 2.5 V : : 7 : Y +VCCIO7 : E23 : power : : 2.5V : 7 : +LEDG[3] : E24 : output : 2.5 V : : 7 : Y +LEDG[2] : E25 : output : 2.5 V : : 7 : Y +RESERVED_INPUT_WITH_WEAK_PULLUP : E26 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : E27 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : E28 : : : : 6 : +OTG_DATA[13] : F1 : bidir : 3.3-V LVTTL : : 1 : Y +AUD_BCLK : F2 : bidir : 3.3-V LVTTL : : 1 : Y +OTG_DATA[14] : F3 : bidir : 3.3-V LVTTL : : 1 : Y +~ALTERA_ASDO_DATA1~ / RESERVED_INPUT_WITH_WEAK_PULLUP : F4 : input : 3.3-V LVTTL : : 1 : N +PS2_DAT2 : F5 : bidir : 3.3-V LVTTL : : 1 : Y +GND : F6 : gnd : : : : +TD_DATA[7] : F7 : input : 3.3-V LVTTL : : 8 : Y +VGA_G[2] : F8 : output : 3.3-V LVTTL : : 8 : Y +GND : F9 : gnd : : : : +VGA_G[6] : F10 : output : 3.3-V LVTTL : : 8 : Y +VGA_BLANK_N : F11 : output : 3.3-V LVTTL : : 8 : Y +VGA_R[3] : F12 : output : 3.3-V LVTTL : : 8 : Y +GND : F13 : gnd : : : : +EX_IO[4] : F14 : bidir : 3.3-V LVTTL : : 8 : Y +LEDR[14] : F15 : output : 2.5 V : : 7 : Y +GND : F16 : gnd : : : : +LEDG[8] : F17 : output : 2.5 V : : 7 : Y +LEDR[4] : F18 : output : 2.5 V : : 7 : Y +LEDR[1] : F19 : output : 2.5 V : : 7 : Y +GND : F20 : gnd : : : : +LEDR[3] : F21 : output : 2.5 V : : 7 : Y +HEX0[1] : F22 : output : 2.5 V : : 7 : Y +GND : F23 : gnd : : : : +RESERVED_INPUT_WITH_WEAK_PULLUP : F24 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : F25 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : F26 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : F27 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : F28 : : : : 6 : +OTG_DATA[10] : G1 : bidir : 3.3-V LVTTL : : 1 : Y +OTG_DATA[11] : G2 : bidir : 3.3-V LVTTL : : 1 : Y +OTG_DATA[12] : G3 : bidir : 3.3-V LVTTL : : 1 : Y +OTG_DATA[15] : G4 : bidir : 3.3-V LVTTL : : 1 : Y +PS2_CLK2 : G5 : bidir : 3.3-V LVTTL : : 1 : Y +PS2_CLK : G6 : bidir : 3.3-V LVTTL : : 1 : Y +TD_RESET_N : G7 : output : 3.3-V LVTTL : : 8 : Y +VGA_G[0] : G8 : output : 3.3-V LVTTL : : 8 : Y +UART_TXD : G9 : output : 3.3-V LVTTL : : 8 : Y +VGA_R[4] : G10 : output : 3.3-V LVTTL : : 8 : Y +VGA_G[1] : G11 : output : 3.3-V LVTTL : : 8 : Y +UART_RXD : G12 : input : 3.3-V LVTTL : : 8 : Y +VGA_HS : G13 : output : 3.3-V LVTTL : : 8 : Y +UART_RTS : G14 : output : 3.3-V LVTTL : : 8 : Y +LEDR[15] : G15 : output : 2.5 V : : 7 : Y +LEDR[16] : G16 : output : 2.5 V : : 7 : Y +LEDR[9] : G17 : output : 2.5 V : : 7 : Y +HEX0[0] : G18 : output : 2.5 V : : 7 : Y +LEDR[0] : G19 : output : 2.5 V : : 7 : Y +LEDG[5] : G20 : output : 2.5 V : : 7 : Y +LEDG[7] : G21 : output : 2.5 V : : 7 : Y +LEDG[6] : G22 : output : 2.5 V : : 7 : Y +RESERVED_INPUT_WITH_WEAK_PULLUP : G23 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : G24 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : G25 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : G26 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : G27 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : G28 : : : : 6 : +VCCIO1 : H1 : power : : 3.3V : 1 : +GND : H2 : gnd : : : : +OTG_DATA[8] : H3 : bidir : 3.3-V LVTTL : : 1 : Y +OTG_DATA[9] : H4 : bidir : 3.3-V LVTTL : : 1 : Y +PS2_DAT : H5 : bidir : 3.3-V LVTTL : : 1 : Y +OTG_DATA[7] : H6 : bidir : 3.3-V LVTTL : : 1 : Y +OTG_ADDR[0] : H7 : output : 3.3-V LVTTL : : 1 : Y +VGA_R[6] : H8 : output : 3.3-V LVTTL : : 8 : Y +GNDA3 : H9 : gnd : : : : +VGA_R[7] : H10 : output : 3.3-V LVTTL : : 8 : Y +VCCIO8 : H11 : power : : 3.3V : 8 : +VGA_G[3] : H12 : output : 3.3-V LVTTL : : 8 : Y +EX_IO[2] : H13 : bidir : 3.3-V LVTTL : : 8 : Y +EX_IO[3] : H14 : bidir : 3.3-V LVTTL : : 8 : Y +LEDR[17] : H15 : output : 2.5 V : : 7 : Y +LEDR[11] : H16 : output : 2.5 V : : 7 : Y +LEDR[13] : H17 : output : 2.5 V : : 7 : Y +VCCIO7 : H18 : power : : 2.5V : 7 : +LEDR[7] : H19 : output : 2.5 V : : 7 : Y +GNDA2 : H20 : gnd : : : : +LEDG[4] : H21 : output : 2.5 V : : 7 : Y +HEX0[6] : H22 : output : 3.3-V LVTTL : : 6 : Y +RESERVED_INPUT_WITH_WEAK_PULLUP : H23 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : H24 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : H25 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : H26 : : : : 6 : +GND : H27 : gnd : : : : +VCCIO6 : H28 : power : : 3.3V : 6 : +GND+ : J1 : : : : 1 : +GND : J2 : gnd : : : : +OTG_DATA[5] : J3 : bidir : 3.3-V LVTTL : : 1 : Y +OTG_DATA[4] : J4 : bidir : 3.3-V LVTTL : : 1 : Y +OTG_DATA[2] : J5 : bidir : 3.3-V LVTTL : : 1 : Y +OTG_DATA[0] : J6 : bidir : 3.3-V LVTTL : : 1 : Y +OTG_DATA[6] : J7 : bidir : 3.3-V LVTTL : : 1 : Y +VCCA3 : J8 : power : : 2.5V : : +VCCD_PLL3 : J9 : power : : 1.2V : : +EX_IO[0] : J10 : bidir : 3.3-V LVTTL : : 8 : Y +GND : J11 : gnd : : : : +VGA_R[5] : J12 : output : 3.3-V LVTTL : : 8 : Y +UART_CTS : J13 : input : 3.3-V LVTTL : : 8 : Y +EX_IO[1] : J14 : bidir : 3.3-V LVTTL : : 8 : Y +LEDR[10] : J15 : output : 2.5 V : : 7 : Y +LEDR[12] : J16 : output : 2.5 V : : 7 : Y +LEDR[8] : J17 : output : 2.5 V : : 7 : Y +GND : J18 : gnd : : : : +LEDR[6] : J19 : output : 2.5 V : : 7 : Y +VCCD_PLL2 : J20 : power : : 1.2V : : +VCCA2 : J21 : power : : 2.5V : : +HEX0[5] : J22 : output : 3.3-V LVTTL : : 6 : Y +RESERVED_INPUT_WITH_WEAK_PULLUP : J23 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : J24 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : J25 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : J26 : : : : 6 : +GND+ : J27 : : : : 6 : +GND+ : J28 : : : : 6 : +LCD_DATA[4] : K1 : bidir : 3.3-V LVTTL : : 1 : Y +LCD_DATA[5] : K2 : bidir : 3.3-V LVTTL : : 1 : Y +OTG_DATA[3] : K3 : bidir : 3.3-V LVTTL : : 1 : Y +OTG_DATA[1] : K4 : bidir : 3.3-V LVTTL : : 1 : Y +VCCIO1 : K5 : power : : 3.3V : 1 : +GND : K6 : gnd : : : : +LCD_DATA[3] : K7 : bidir : 3.3-V LVTTL : : 1 : Y +DRAM_DQM[2] : K8 : output : 3.3-V LVTTL : : 1 : Y +VCCINT : K9 : power : : 1.2V : : +GND : K10 : gnd : : : : +VCCINT : K11 : power : : 1.2V : : +GND : K12 : gnd : : : : +VCCINT : K13 : power : : 1.2V : : +GND : K14 : gnd : : : : +VCCINT : K15 : power : : 1.2V : : +GND : K16 : gnd : : : : +VCCINT : K17 : power : : 1.2V : : +GND : K18 : gnd : : : : +VCCINT : K19 : power : : 1.2V : : +GND : K20 : gnd : : : : +RESERVED_INPUT_WITH_WEAK_PULLUP : K21 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : K22 : : : : 6 : +GND : K23 : gnd : : : : +VCCIO6 : K24 : power : : 3.3V : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : K25 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : K26 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : K27 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : K28 : : : : 6 : +LCD_DATA[1] : L1 : bidir : 3.3-V LVTTL : : 1 : Y +LCD_DATA[2] : L2 : bidir : 3.3-V LVTTL : : 1 : Y +LCD_DATA[0] : L3 : bidir : 3.3-V LVTTL : : 1 : Y +LCD_EN : L4 : output : 3.3-V LVTTL : : 1 : Y +LCD_ON : L5 : output : 3.3-V LVTTL : : 1 : Y +LCD_BLON : L6 : output : 3.3-V LVTTL : : 1 : Y +DRAM_DQ[23] : L7 : bidir : 3.3-V LVTTL : : 1 : Y +DRAM_DQ[17] : L8 : bidir : 3.3-V LVTTL : : 1 : Y +GND : L9 : gnd : : : : +VCCINT : L10 : power : : 1.2V : : +GND : L11 : gnd : : : : +VCCINT : L12 : power : : 1.2V : : +GND : L13 : gnd : : : : +VCCINT : L14 : power : : 1.2V : : +GND : L15 : gnd : : : : +VCCINT : L16 : power : : 1.2V : : +GND : L17 : gnd : : : : +VCCINT : L18 : power : : 1.2V : : +GND : L19 : gnd : : : : +VCCINT : L20 : power : : 1.2V : : +RESERVED_INPUT_WITH_WEAK_PULLUP : L21 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : L22 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : L23 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : L24 : : : : 6 : +HEX0[4] : L25 : output : 3.3-V LVTTL : : 6 : Y +HEX0[3] : L26 : output : 3.3-V LVTTL : : 6 : Y +RESERVED_INPUT_WITH_WEAK_PULLUP : L27 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : L28 : : : : 6 : +LCD_RW : M1 : output : 3.3-V LVTTL : : 1 : Y +LCD_RS : M2 : output : 3.3-V LVTTL : : 1 : Y +LCD_DATA[6] : M3 : bidir : 3.3-V LVTTL : : 1 : Y +DRAM_DQ[21] : M4 : bidir : 3.3-V LVTTL : : 1 : Y +LCD_DATA[7] : M5 : bidir : 3.3-V LVTTL : : 1 : Y +nSTATUS : M6 : : : : 1 : +DRAM_DQ[22] : M7 : bidir : 3.3-V LVTTL : : 1 : Y +DRAM_DQ[16] : M8 : bidir : 3.3-V LVTTL : : 1 : Y +VCCINT : M9 : power : : 1.2V : : +GND : M10 : gnd : : : : +VCCINT : M11 : power : : 1.2V : : +GND : M12 : gnd : : : : +VCCINT : M13 : power : : 1.2V : : +GND : M14 : gnd : : : : +VCCINT : M15 : power : : 1.2V : : +GND : M16 : gnd : : : : +VCCINT : M17 : power : : 1.2V : : +GND : M18 : gnd : : : : +VCCINT : M19 : power : : 1.2V : : +GND : M20 : gnd : : : : +KEY[1] : M21 : input : 3.3-V LVTTL : : 6 : Y +MSEL2 : M22 : : : : 6 : +KEY[0] : M23 : input : 3.3-V LVTTL : : 6 : Y +HEX1[0] : M24 : output : 3.3-V LVTTL : : 6 : Y +RESERVED_INPUT_WITH_WEAK_PULLUP : M25 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : M26 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : M27 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : M28 : : : : 6 : +VCCIO1 : N1 : power : : 3.3V : 1 : +GND : N2 : gnd : : : : +DRAM_DQ[19] : N3 : bidir : 3.3-V LVTTL : : 1 : Y +DRAM_DQ[20] : N4 : bidir : 3.3-V LVTTL : : 1 : Y +VCCIO1 : N5 : power : : 3.3V : 1 : +GND : N6 : gnd : : : : +~ALTERA_DATA0~ / RESERVED_INPUT_WITH_WEAK_PULLUP : N7 : input : 3.3-V LVTTL : : 1 : N +DRAM_DQM[3] : N8 : output : 3.3-V LVTTL : : 1 : Y +GND : N9 : gnd : : : : +VCCINT : N10 : power : : 1.2V : : +GND : N11 : gnd : : : : +VCCINT : N12 : power : : 1.2V : : +GND : N13 : gnd : : : : +VCCINT : N14 : power : : 1.2V : : +GND : N15 : gnd : : : : +VCCINT : N16 : power : : 1.2V : : +GND : N17 : gnd : : : : +VCCINT : N18 : power : : 1.2V : : +GND : N19 : gnd : : : : +VCCINT : N20 : power : : 1.2V : : +KEY[2] : N21 : input : 3.3-V LVTTL : : 6 : Y +MSEL0 : N22 : : : : 6 : +GND : N23 : gnd : : : : +VCCIO6 : N24 : power : : 3.3V : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : N25 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : N26 : : : : 6 : +GND : N27 : gnd : : : : +VCCIO6 : N28 : power : : 3.3V : 6 : +DRAM_ADDR[3] : P1 : output : 3.3-V LVTTL : : 1 : Y +DRAM_DQ[18] : P2 : bidir : 3.3-V LVTTL : : 1 : Y +~ALTERA_DCLK~ : P3 : output : 3.3-V LVTTL : : 1 : N +nCONFIG : P4 : : : : 1 : +TCK : P5 : input : : : 1 : +TDO : P6 : output : : : 1 : +TDI : P7 : input : : : 1 : +TMS : P8 : input : : : 1 : +VCCINT : P9 : power : : 1.2V : : +GND : P10 : gnd : : : : +VCCINT : P11 : power : : 1.2V : : +GND : P12 : gnd : : : : +VCCINT : P13 : power : : 1.2V : : +GND : P14 : gnd : : : : +VCCINT : P15 : power : : 1.2V : : +GND : P16 : gnd : : : : +VCCINT : P17 : power : : 1.2V : : +GND : P18 : gnd : : : : +VCCINT : P19 : power : : 1.2V : : +GND : P20 : gnd : : : : +RESERVED_INPUT_WITH_WEAK_PULLUP : P21 : : : : 5 : +MSEL3 : P22 : : : : 6 : +MSEL1 : P23 : : : : 6 : +CONF_DONE : P24 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : P25 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : P26 : : : : 6 : +RESERVED_INPUT_WITH_WEAK_PULLUP : P27 : : : : 6 : +~ALTERA_nCEO~ / RESERVED_OUTPUT_OPEN_DRAIN : P28 : output : 3.3-V LVTTL : : 6 : N +DRAM_DQ[26] : R1 : bidir : 3.3-V LVTTL : : 2 : Y +DRAM_DQ[27] : R2 : bidir : 3.3-V LVTTL : : 2 : Y +DRAM_DQ[28] : R3 : bidir : 3.3-V LVTTL : : 2 : Y +DRAM_BA[1] : R4 : output : 3.3-V LVTTL : : 2 : Y +DRAM_ADDR[10] : R5 : output : 3.3-V LVTTL : : 2 : Y +DRAM_ADDR[0] : R6 : output : 3.3-V LVTTL : : 2 : Y +DRAM_DQ[25] : R7 : bidir : 3.3-V LVTTL : : 2 : Y +nCE : R8 : : : : 1 : +GND : R9 : gnd : : : : +VCCINT : R10 : power : : 1.2V : : +GND : R11 : gnd : : : : +VCCINT : R12 : power : : 1.2V : : +GND : R13 : gnd : : : : +VCCINT : R14 : power : : 1.2V : : +GND : R15 : gnd : : : : +VCCINT : R16 : power : : 1.2V : : +GND : R17 : gnd : : : : +VCCINT : R18 : power : : 1.2V : : +GND : R19 : gnd : : : : +VCCINT : R20 : power : : 1.2V : : +RESERVED_INPUT_WITH_WEAK_PULLUP : R21 : : : : 5 : +RESERVED_INPUT_WITH_WEAK_PULLUP : R22 : : : : 5 : +RESERVED_INPUT_WITH_WEAK_PULLUP : R23 : : : : 5 : +KEY[3] : R24 : input : 3.3-V LVTTL : : 5 : Y +RESERVED_INPUT_WITH_WEAK_PULLUP : R25 : : : : 5 : +RESERVED_INPUT_WITH_WEAK_PULLUP : R26 : : : : 5 : +RESERVED_INPUT_WITH_WEAK_PULLUP : R27 : : : : 5 : +RESERVED_INPUT_WITH_WEAK_PULLUP : R28 : : : : 5 : +VCCIO2 : T1 : power : : 3.3V : 2 : +GND : T2 : gnd : : : : +DRAM_DQ[29] : T3 : bidir : 3.3-V LVTTL : : 2 : Y +DRAM_CS_N : T4 : output : 3.3-V LVTTL : : 2 : Y +VCCIO2 : T5 : power : : 3.3V : 2 : +GND : T6 : gnd : : : : +SRAM_ADDR[9] : T7 : output : 3.3-V LVTTL : : 2 : Y +SRAM_ADDR[19] : T8 : output : 3.3-V LVTTL : : 2 : Y +VCCINT : T9 : power : : 1.2V : : +GND : T10 : gnd : : : : +VCCINT : T11 : power : : 1.2V : : +GND : T12 : gnd : : : : +VCCINT : T13 : power : : 1.2V : : +GND : T14 : gnd : : : : +VCCINT : T15 : power : : 1.2V : : +GND : T16 : gnd : : : : +VCCINT : T17 : power : : 1.2V : : +GND : T18 : gnd : : : : +VCCINT : T19 : power : : 1.2V : : +GND : T20 : gnd : : : : +RESERVED_INPUT_WITH_WEAK_PULLUP : T21 : : : : 5 : +RESERVED_INPUT_WITH_WEAK_PULLUP : T22 : : : : 5 : +GND : T23 : gnd : : : : +VCCIO5 : T24 : power : : 3.3V : 5 : +RESERVED_INPUT_WITH_WEAK_PULLUP : T25 : : : : 5 : +RESERVED_INPUT_WITH_WEAK_PULLUP : T26 : : : : 5 : +GND : T27 : gnd : : : : +VCCIO5 : T28 : power : : 3.3V : 5 : +DRAM_DQ[31] : U1 : bidir : 3.3-V LVTTL : : 2 : Y +DRAM_DQM[0] : U2 : output : 3.3-V LVTTL : : 2 : Y +DRAM_DQ[7] : U3 : bidir : 3.3-V LVTTL : : 2 : Y +DRAM_DQ[30] : U4 : bidir : 3.3-V LVTTL : : 2 : Y +DRAM_DQ[24] : U5 : bidir : 3.3-V LVTTL : : 2 : Y +DRAM_RAS_N : U6 : output : 3.3-V LVTTL : : 2 : Y +DRAM_BA[0] : U7 : output : 3.3-V LVTTL : : 2 : Y +DRAM_ADDR[2] : U8 : output : 3.3-V LVTTL : : 2 : Y +GND : U9 : gnd : : : : +VCCINT : U10 : power : : 1.2V : : +GND : U11 : gnd : : : : +VCCINT : U12 : power : : 1.2V : : +GND : U13 : gnd : : : : +VCCINT : U14 : power : : 1.2V : : +GND : U15 : gnd : : : : +VCCINT : U16 : power : : 1.2V : : +GND : U17 : gnd : : : : +VCCINT : U18 : power : : 1.2V : : +GND : U19 : gnd : : : : +VCCINT : U20 : power : : 1.2V : : +HEX3[1] : U21 : output : 3.3-V LVTTL : : 5 : Y +RESERVED_INPUT_WITH_WEAK_PULLUP : U22 : : : : 5 : +HEX1[5] : U23 : output : 3.3-V LVTTL : : 5 : Y +HEX1[6] : U24 : output : 3.3-V LVTTL : : 5 : Y +RESERVED_INPUT_WITH_WEAK_PULLUP : U25 : : : : 5 : +RESERVED_INPUT_WITH_WEAK_PULLUP : U26 : : : : 5 : +RESERVED_INPUT_WITH_WEAK_PULLUP : U27 : : : : 5 : +RESERVED_INPUT_WITH_WEAK_PULLUP : U28 : : : : 5 : +DRAM_DQ[6] : V1 : bidir : 3.3-V LVTTL : : 2 : Y +DRAM_DQ[5] : V2 : bidir : 3.3-V LVTTL : : 2 : Y +DRAM_DQ[4] : V3 : bidir : 3.3-V LVTTL : : 2 : Y +DRAM_DQ[2] : V4 : bidir : 3.3-V LVTTL : : 2 : Y +DRAM_ADDR[4] : V5 : output : 3.3-V LVTTL : : 2 : Y +DRAM_WE_N : V6 : output : 3.3-V LVTTL : : 2 : Y +DRAM_CAS_N : V7 : output : 3.3-V LVTTL : : 2 : Y +DRAM_ADDR[1] : V8 : output : 3.3-V LVTTL : : 2 : Y +VCCINT : V9 : power : : 1.2V : : +GND : V10 : gnd : : : : +VCCINT : V11 : power : : 1.2V : : +GND : V12 : gnd : : : : +VCCINT : V13 : power : : 1.2V : : +GND : V14 : gnd : : : : +VCCINT : V15 : power : : 1.2V : : +GND : V16 : gnd : : : : +VCCINT : V17 : power : : 1.2V : : +GND : V18 : gnd : : : : +VCCINT : V19 : power : : 1.2V : : +GND : V20 : gnd : : : : +HEX3[0] : V21 : output : 3.3-V LVTTL : : 5 : Y +RESERVED_INPUT_WITH_WEAK_PULLUP : V22 : : : : 5 : +RESERVED_INPUT_WITH_WEAK_PULLUP : V23 : : : : 5 : +RESERVED_INPUT_WITH_WEAK_PULLUP : V24 : : : : 5 : +RESERVED_INPUT_WITH_WEAK_PULLUP : V25 : : : : 5 : +RESERVED_INPUT_WITH_WEAK_PULLUP : V26 : : : : 5 : +RESERVED_INPUT_WITH_WEAK_PULLUP : V27 : : : : 5 : +RESERVED_INPUT_WITH_WEAK_PULLUP : V28 : : : : 5 : +DRAM_DQ[3] : W1 : bidir : 3.3-V LVTTL : : 2 : Y +DRAM_DQ[1] : W2 : bidir : 3.3-V LVTTL : : 2 : Y +DRAM_DQ[0] : W3 : bidir : 3.3-V LVTTL : : 2 : Y +DRAM_DQM[1] : W4 : output : 3.3-V LVTTL : : 2 : Y +VCCIO2 : W5 : power : : 3.3V : 2 : +GND : W6 : gnd : : : : +DRAM_ADDR[6] : W7 : output : 3.3-V LVTTL : : 2 : Y +DRAM_ADDR[5] : W8 : output : 3.3-V LVTTL : : 2 : Y +GND : W9 : gnd : : : : +VCCINT : W10 : power : : 1.2V : : +GND : W11 : gnd : : : : +VCCINT : W12 : power : : 1.2V : : +GND : W13 : gnd : : : : +VCCINT : W14 : power : : 1.2V : : +GND : W15 : gnd : : : : +VCCINT : W16 : power : : 1.2V : : +GND : W17 : gnd : : : : +VCCINT : W18 : power : : 1.2V : : +GND : W19 : gnd : : : : +VCCINT : W20 : power : : 1.2V : : +HEX1[2] : W21 : output : 3.3-V LVTTL : : 5 : Y +HEX1[3] : W22 : output : 3.3-V LVTTL : : 5 : Y +GND : W23 : gnd : : : : +VCCIO5 : W24 : power : : 3.3V : 5 : +HEX1[4] : W25 : output : 3.3-V LVTTL : : 5 : Y +HEX2[3] : W26 : output : 3.3-V LVTTL : : 5 : Y +HEX2[5] : W27 : output : 3.3-V LVTTL : : 5 : Y +HEX2[6] : W28 : output : 3.3-V LVTTL : : 5 : Y +FL_RY : Y1 : input : 3.3-V LVTTL : : 2 : Y +CLOCK_50 : Y2 : input : 3.3-V LVTTL : : 2 : Y +DRAM_DQ[8] : Y3 : bidir : 3.3-V LVTTL : : 2 : Y +DRAM_DQ[9] : Y4 : bidir : 3.3-V LVTTL : : 2 : Y +DRAM_ADDR[8] : Y5 : output : 3.3-V LVTTL : : 2 : Y +DRAM_ADDR[9] : Y6 : output : 3.3-V LVTTL : : 2 : Y +DRAM_ADDR[12] : Y7 : output : 3.3-V LVTTL : : 2 : Y +VCCA1 : Y8 : power : : 2.5V : : +VCCD_PLL1 : Y9 : power : : 1.2V : : +FL_ADDR[15] : Y10 : output : 3.3-V LVTTL : : 3 : Y +GND : Y11 : gnd : : : : +FL_ADDR[4] : Y12 : output : 3.3-V LVTTL : : 3 : Y +FL_ADDR[2] : Y13 : output : 3.3-V LVTTL : : 3 : Y +FL_ADDR[3] : Y14 : output : 3.3-V LVTTL : : 3 : Y +IRDA_RXD : Y15 : input : 3.3-V LVTTL : : 3 : Y +GPIO[5] : Y16 : bidir : 3.3-V LVTTL : : 4 : Y +GPIO[3] : Y17 : bidir : 3.3-V LVTTL : : 4 : Y +GND : Y18 : gnd : : : : +HEX3[6] : Y19 : output : 3.3-V LVTTL : : 4 : Y +VCCD_PLL4 : Y20 : power : : 1.2V : : +VCCA4 : Y21 : power : : 2.5V : : +HEX1[1] : Y22 : output : 3.3-V LVTTL : : 5 : Y +SW[17] : Y23 : input : 3.3-V LVTTL : : 5 : Y +SW[16] : Y24 : input : 3.3-V LVTTL : : 5 : Y +HEX2[2] : Y25 : output : 3.3-V LVTTL : : 5 : Y +HEX2[4] : Y26 : output : 3.3-V LVTTL : : 5 : Y +GND+ : Y27 : : : : 5 : +GND+ : Y28 : : : : 5 : diff --git a/examples/hdl4se_riscv/de2/de2_riscv_v4.qpf b/examples/hdl4se_riscv/de2/de2_riscv_v4.qpf new file mode 100644 index 0000000..c5e8c77 --- /dev/null +++ b/examples/hdl4se_riscv/de2/de2_riscv_v4.qpf @@ -0,0 +1,6 @@ +DATE = "19:51:38 September 01, 2021" +QUARTUS_VERSION = "12.0" + +# Revisions + +PROJECT_REVISION = "de2_riscv_v4" diff --git a/examples/hdl4se_riscv/de2/de2_riscv_v4.qsf b/examples/hdl4se_riscv/de2/de2_riscv_v4.qsf new file mode 100644 index 0000000..d50127a --- /dev/null +++ b/examples/hdl4se_riscv/de2/de2_riscv_v4.qsf @@ -0,0 +1,1013 @@ +#============================================================ +# Build by Terasic System Builder +#============================================================ + +set_global_assignment -name FAMILY "Cyclone IV E" +set_global_assignment -name DEVICE EP4CE115F29C7 +set_global_assignment -name TOP_LEVEL_ENTITY "de2_riscv_v4" +set_global_assignment -name ORIGINAL_QUARTUS_VERSION "12.0" +set_global_assignment -name LAST_QUARTUS_VERSION 13.1 +set_global_assignment -name PROJECT_CREATION_TIME_DATE "19:51:38 SEPTEMBER 01,2021" +set_global_assignment -name DEVICE_FILTER_PACKAGE FBGA +set_global_assignment -name DEVICE_FILTER_PIN_COUNT 780 +set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 7 +set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL" + +#============================================================ +# CLOCK +#============================================================ +set_location_assignment PIN_Y2 -to CLOCK_50 +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to CLOCK_50 +set_location_assignment PIN_AG14 -to CLOCK2_50 +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to CLOCK2_50 +set_location_assignment PIN_AG15 -to CLOCK3_50 +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to CLOCK3_50 + +#============================================================ +# Sma +#============================================================ +set_location_assignment PIN_AH14 -to SMA_CLKIN +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SMA_CLKIN +set_location_assignment PIN_AE23 -to SMA_CLKOUT +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SMA_CLKOUT + +#============================================================ +# LED +#============================================================ +set_location_assignment PIN_G19 -to LEDR[0] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDR[0] +set_location_assignment PIN_F19 -to LEDR[1] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDR[1] +set_location_assignment PIN_E19 -to LEDR[2] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDR[2] +set_location_assignment PIN_F21 -to LEDR[3] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDR[3] +set_location_assignment PIN_F18 -to LEDR[4] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDR[4] +set_location_assignment PIN_E18 -to LEDR[5] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDR[5] +set_location_assignment PIN_J19 -to LEDR[6] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDR[6] +set_location_assignment PIN_H19 -to LEDR[7] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDR[7] +set_location_assignment PIN_J17 -to LEDR[8] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDR[8] +set_location_assignment PIN_G17 -to LEDR[9] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDR[9] +set_location_assignment PIN_J15 -to LEDR[10] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDR[10] +set_location_assignment PIN_H16 -to LEDR[11] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDR[11] +set_location_assignment PIN_J16 -to LEDR[12] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDR[12] +set_location_assignment PIN_H17 -to LEDR[13] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDR[13] +set_location_assignment PIN_F15 -to LEDR[14] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDR[14] +set_location_assignment PIN_G15 -to LEDR[15] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDR[15] +set_location_assignment PIN_G16 -to LEDR[16] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDR[16] +set_location_assignment PIN_H15 -to LEDR[17] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDR[17] +set_location_assignment PIN_E21 -to LEDG[0] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDG[0] +set_location_assignment PIN_E22 -to LEDG[1] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDG[1] +set_location_assignment PIN_E25 -to LEDG[2] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDG[2] +set_location_assignment PIN_E24 -to LEDG[3] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDG[3] +set_location_assignment PIN_H21 -to LEDG[4] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDG[4] +set_location_assignment PIN_G20 -to LEDG[5] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDG[5] +set_location_assignment PIN_G22 -to LEDG[6] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDG[6] +set_location_assignment PIN_G21 -to LEDG[7] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDG[7] +set_location_assignment PIN_F17 -to LEDG[8] +set_instance_assignment -name IO_STANDARD "2.5 V" -to LEDG[8] + +#============================================================ +# KEY +#============================================================ +set_location_assignment PIN_M23 -to KEY[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to KEY[0] +set_location_assignment PIN_M21 -to KEY[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to KEY[1] +set_location_assignment PIN_N21 -to KEY[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to KEY[2] +set_location_assignment PIN_R24 -to KEY[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to KEY[3] + +#============================================================ +# EX_IO +#============================================================ +set_location_assignment PIN_J10 -to EX_IO[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to EX_IO[0] +set_location_assignment PIN_J14 -to EX_IO[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to EX_IO[1] +set_location_assignment PIN_H13 -to EX_IO[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to EX_IO[2] +set_location_assignment PIN_H14 -to EX_IO[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to EX_IO[3] +set_location_assignment PIN_F14 -to EX_IO[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to EX_IO[4] +set_location_assignment PIN_E10 -to EX_IO[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to EX_IO[5] +set_location_assignment PIN_D9 -to EX_IO[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to EX_IO[6] + +#============================================================ +# SW +#============================================================ +set_location_assignment PIN_AB28 -to SW[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[0] +set_location_assignment PIN_AC28 -to SW[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[1] +set_location_assignment PIN_AC27 -to SW[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[2] +set_location_assignment PIN_AD27 -to SW[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[3] +set_location_assignment PIN_AB27 -to SW[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[4] +set_location_assignment PIN_AC26 -to SW[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[5] +set_location_assignment PIN_AD26 -to SW[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[6] +set_location_assignment PIN_AB26 -to SW[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[7] +set_location_assignment PIN_AC25 -to SW[8] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[8] +set_location_assignment PIN_AB25 -to SW[9] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[9] +set_location_assignment PIN_AC24 -to SW[10] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[10] +set_location_assignment PIN_AB24 -to SW[11] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[11] +set_location_assignment PIN_AB23 -to SW[12] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[12] +set_location_assignment PIN_AA24 -to SW[13] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[13] +set_location_assignment PIN_AA23 -to SW[14] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[14] +set_location_assignment PIN_AA22 -to SW[15] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[15] +set_location_assignment PIN_Y24 -to SW[16] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[16] +set_location_assignment PIN_Y23 -to SW[17] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[17] + +#============================================================ +# SEG7 +#============================================================ +set_location_assignment PIN_G18 -to HEX0[0] +set_instance_assignment -name IO_STANDARD "2.5 V" -to HEX0[0] +set_location_assignment PIN_F22 -to HEX0[1] +set_instance_assignment -name IO_STANDARD "2.5 V" -to HEX0[1] +set_location_assignment PIN_E17 -to HEX0[2] +set_instance_assignment -name IO_STANDARD "2.5 V" -to HEX0[2] +set_location_assignment PIN_L26 -to HEX0[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX0[3] +set_location_assignment PIN_L25 -to HEX0[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX0[4] +set_location_assignment PIN_J22 -to HEX0[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX0[5] +set_location_assignment PIN_H22 -to HEX0[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX0[6] +set_location_assignment PIN_M24 -to HEX1[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX1[0] +set_location_assignment PIN_Y22 -to HEX1[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX1[1] +set_location_assignment PIN_W21 -to HEX1[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX1[2] +set_location_assignment PIN_W22 -to HEX1[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX1[3] +set_location_assignment PIN_W25 -to HEX1[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX1[4] +set_location_assignment PIN_U23 -to HEX1[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX1[5] +set_location_assignment PIN_U24 -to HEX1[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX1[6] +set_location_assignment PIN_AA25 -to HEX2[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX2[0] +set_location_assignment PIN_AA26 -to HEX2[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX2[1] +set_location_assignment PIN_Y25 -to HEX2[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX2[2] +set_location_assignment PIN_W26 -to HEX2[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX2[3] +set_location_assignment PIN_Y26 -to HEX2[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX2[4] +set_location_assignment PIN_W27 -to HEX2[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX2[5] +set_location_assignment PIN_W28 -to HEX2[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX2[6] +set_location_assignment PIN_V21 -to HEX3[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX3[0] +set_location_assignment PIN_U21 -to HEX3[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX3[1] +set_location_assignment PIN_AB20 -to HEX3[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX3[2] +set_location_assignment PIN_AA21 -to HEX3[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX3[3] +set_location_assignment PIN_AD24 -to HEX3[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX3[4] +set_location_assignment PIN_AF23 -to HEX3[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX3[5] +set_location_assignment PIN_Y19 -to HEX3[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX3[6] +set_location_assignment PIN_AB19 -to HEX4[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX4[0] +set_location_assignment PIN_AA19 -to HEX4[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX4[1] +set_location_assignment PIN_AG21 -to HEX4[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX4[2] +set_location_assignment PIN_AH21 -to HEX4[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX4[3] +set_location_assignment PIN_AE19 -to HEX4[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX4[4] +set_location_assignment PIN_AF19 -to HEX4[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX4[5] +set_location_assignment PIN_AE18 -to HEX4[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX4[6] +set_location_assignment PIN_AD18 -to HEX5[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX5[0] +set_location_assignment PIN_AC18 -to HEX5[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX5[1] +set_location_assignment PIN_AB18 -to HEX5[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX5[2] +set_location_assignment PIN_AH19 -to HEX5[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX5[3] +set_location_assignment PIN_AG19 -to HEX5[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX5[4] +set_location_assignment PIN_AF18 -to HEX5[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX5[5] +set_location_assignment PIN_AH18 -to HEX5[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX5[6] +set_location_assignment PIN_AA17 -to HEX6[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX6[0] +set_location_assignment PIN_AB16 -to HEX6[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX6[1] +set_location_assignment PIN_AA16 -to HEX6[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX6[2] +set_location_assignment PIN_AB17 -to HEX6[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX6[3] +set_location_assignment PIN_AB15 -to HEX6[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX6[4] +set_location_assignment PIN_AA15 -to HEX6[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX6[5] +set_location_assignment PIN_AC17 -to HEX6[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX6[6] +set_location_assignment PIN_AD17 -to HEX7[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX7[0] +set_location_assignment PIN_AE17 -to HEX7[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX7[1] +set_location_assignment PIN_AG17 -to HEX7[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX7[2] +set_location_assignment PIN_AH17 -to HEX7[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX7[3] +set_location_assignment PIN_AF17 -to HEX7[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX7[4] +set_location_assignment PIN_AG18 -to HEX7[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX7[5] +set_location_assignment PIN_AA14 -to HEX7[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX7[6] + +#============================================================ +# LCD +#============================================================ +set_location_assignment PIN_L3 -to LCD_DATA[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LCD_DATA[0] +set_location_assignment PIN_L1 -to LCD_DATA[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LCD_DATA[1] +set_location_assignment PIN_L2 -to LCD_DATA[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LCD_DATA[2] +set_location_assignment PIN_K7 -to LCD_DATA[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LCD_DATA[3] +set_location_assignment PIN_K1 -to LCD_DATA[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LCD_DATA[4] +set_location_assignment PIN_K2 -to LCD_DATA[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LCD_DATA[5] +set_location_assignment PIN_M3 -to LCD_DATA[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LCD_DATA[6] +set_location_assignment PIN_M5 -to LCD_DATA[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LCD_DATA[7] +set_location_assignment PIN_L6 -to LCD_BLON +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LCD_BLON +set_location_assignment PIN_M1 -to LCD_RW +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LCD_RW +set_location_assignment PIN_L4 -to LCD_EN +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LCD_EN +set_location_assignment PIN_M2 -to LCD_RS +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LCD_RS +set_location_assignment PIN_L5 -to LCD_ON +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LCD_ON + +#============================================================ +# RS232 +#============================================================ +set_location_assignment PIN_G9 -to UART_TXD +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to UART_TXD +set_location_assignment PIN_G12 -to UART_RXD +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to UART_RXD +set_location_assignment PIN_G14 -to UART_RTS +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to UART_RTS +set_location_assignment PIN_J13 -to UART_CTS +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to UART_CTS + +#============================================================ +# PS2 for Keyboard and Mouse +#============================================================ +set_location_assignment PIN_G6 -to PS2_CLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to PS2_CLK +set_location_assignment PIN_H5 -to PS2_DAT +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to PS2_DAT +set_location_assignment PIN_G5 -to PS2_CLK2 +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to PS2_CLK2 +set_location_assignment PIN_F5 -to PS2_DAT2 +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to PS2_DAT2 + +#============================================================ +# SDCARD +#============================================================ +set_location_assignment PIN_AD14 -to SD_CMD +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SD_CMD +set_location_assignment PIN_AE13 -to SD_CLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SD_CLK +set_location_assignment PIN_AF14 -to SD_WP_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SD_WP_N +set_location_assignment PIN_AE14 -to SD_DAT[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SD_DAT[0] +set_location_assignment PIN_AF13 -to SD_DAT[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SD_DAT[1] +set_location_assignment PIN_AB14 -to SD_DAT[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SD_DAT[2] +set_location_assignment PIN_AC14 -to SD_DAT[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SD_DAT[3] + +#============================================================ +# VGA +#============================================================ +set_location_assignment PIN_G13 -to VGA_HS +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_HS +set_location_assignment PIN_C13 -to VGA_VS +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_VS +set_location_assignment PIN_C10 -to VGA_SYNC_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_SYNC_N +set_location_assignment PIN_A12 -to VGA_CLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_CLK +set_location_assignment PIN_F11 -to VGA_BLANK_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_BLANK_N +set_location_assignment PIN_E12 -to VGA_R[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_R[0] +set_location_assignment PIN_E11 -to VGA_R[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_R[1] +set_location_assignment PIN_D10 -to VGA_R[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_R[2] +set_location_assignment PIN_F12 -to VGA_R[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_R[3] +set_location_assignment PIN_G10 -to VGA_R[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_R[4] +set_location_assignment PIN_J12 -to VGA_R[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_R[5] +set_location_assignment PIN_H8 -to VGA_R[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_R[6] +set_location_assignment PIN_H10 -to VGA_R[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_R[7] +set_location_assignment PIN_G8 -to VGA_G[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_G[0] +set_location_assignment PIN_G11 -to VGA_G[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_G[1] +set_location_assignment PIN_F8 -to VGA_G[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_G[2] +set_location_assignment PIN_H12 -to VGA_G[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_G[3] +set_location_assignment PIN_C8 -to VGA_G[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_G[4] +set_location_assignment PIN_B8 -to VGA_G[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_G[5] +set_location_assignment PIN_F10 -to VGA_G[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_G[6] +set_location_assignment PIN_C9 -to VGA_G[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_G[7] +set_location_assignment PIN_B10 -to VGA_B[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_B[0] +set_location_assignment PIN_A10 -to VGA_B[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_B[1] +set_location_assignment PIN_C11 -to VGA_B[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_B[2] +set_location_assignment PIN_B11 -to VGA_B[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_B[3] +set_location_assignment PIN_A11 -to VGA_B[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_B[4] +set_location_assignment PIN_C12 -to VGA_B[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_B[5] +set_location_assignment PIN_D11 -to VGA_B[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_B[6] +set_location_assignment PIN_D12 -to VGA_B[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_B[7] + +#============================================================ +# Audio +#============================================================ +set_location_assignment PIN_C2 -to AUD_ADCLRCK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to AUD_ADCLRCK +set_location_assignment PIN_D2 -to AUD_ADCDAT +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to AUD_ADCDAT +set_location_assignment PIN_E3 -to AUD_DACLRCK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to AUD_DACLRCK +set_location_assignment PIN_D1 -to AUD_DACDAT +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to AUD_DACDAT +set_location_assignment PIN_E1 -to AUD_XCK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to AUD_XCK +set_location_assignment PIN_F2 -to AUD_BCLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to AUD_BCLK + +#============================================================ +# I2C for EEPROM +#============================================================ +set_location_assignment PIN_D14 -to EEP_I2C_SCLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to EEP_I2C_SCLK +set_location_assignment PIN_E14 -to EEP_I2C_SDAT +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to EEP_I2C_SDAT + +#============================================================ +# I2C for Audio Tv-Decoder +#============================================================ +set_location_assignment PIN_B7 -to I2C_SCLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to I2C_SCLK +set_location_assignment PIN_A8 -to I2C_SDAT +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to I2C_SDAT + +#============================================================ +# Ethernet 0 +#============================================================ +set_location_assignment PIN_A14 -to ENETCLK_25 +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ENETCLK_25 +set_location_assignment PIN_C18 -to ENET0_TX_DATA[0] +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_TX_DATA[0] +set_location_assignment PIN_C16 -to ENET0_RX_DATA[0] +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_RX_DATA[0] +set_location_assignment PIN_D19 -to ENET0_TX_DATA[1] +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_TX_DATA[1] +set_location_assignment PIN_D16 -to ENET0_RX_DATA[1] +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_RX_DATA[1] +set_location_assignment PIN_A19 -to ENET0_TX_DATA[2] +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_TX_DATA[2] +set_location_assignment PIN_D17 -to ENET0_RX_DATA[2] +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_RX_DATA[2] +set_location_assignment PIN_B19 -to ENET0_TX_DATA[3] +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_TX_DATA[3] +set_location_assignment PIN_C15 -to ENET0_RX_DATA[3] +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_RX_DATA[3] +set_location_assignment PIN_A17 -to ENET0_GTX_CLK +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_GTX_CLK +set_location_assignment PIN_A18 -to ENET0_TX_EN +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_TX_EN +set_location_assignment PIN_B18 -to ENET0_TX_ER +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_TX_ER +set_location_assignment PIN_A21 -to ENET0_INT_N +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_INT_N +set_location_assignment PIN_C19 -to ENET0_RST_N +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_RST_N +set_location_assignment PIN_C17 -to ENET0_RX_DV +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_RX_DV +set_location_assignment PIN_D18 -to ENET0_RX_ER +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_RX_ER +set_location_assignment PIN_D15 -to ENET0_RX_CRS +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_RX_CRS +set_location_assignment PIN_E15 -to ENET0_RX_COL +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_RX_COL +set_location_assignment PIN_A15 -to ENET0_RX_CLK +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_RX_CLK +set_location_assignment PIN_B17 -to ENET0_TX_CLK +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_TX_CLK +set_location_assignment PIN_C20 -to ENET0_MDC +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_MDC +set_location_assignment PIN_B21 -to ENET0_MDIO +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET0_MDIO +set_location_assignment PIN_C14 -to ENET0_LINK100 +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ENET0_LINK100 + +#============================================================ +# Ethernet 1 +#============================================================ +set_location_assignment PIN_C25 -to ENET1_TX_DATA[0] +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_TX_DATA[0] +set_location_assignment PIN_B23 -to ENET1_RX_DATA[0] +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_RX_DATA[0] +set_location_assignment PIN_A26 -to ENET1_TX_DATA[1] +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_TX_DATA[1] +set_location_assignment PIN_C21 -to ENET1_RX_DATA[1] +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_RX_DATA[1] +set_location_assignment PIN_B26 -to ENET1_TX_DATA[2] +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_TX_DATA[2] +set_location_assignment PIN_A23 -to ENET1_RX_DATA[2] +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_RX_DATA[2] +set_location_assignment PIN_C26 -to ENET1_TX_DATA[3] +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_TX_DATA[3] +set_location_assignment PIN_D21 -to ENET1_RX_DATA[3] +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_RX_DATA[3] +set_location_assignment PIN_C23 -to ENET1_GTX_CLK +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_GTX_CLK +set_location_assignment PIN_B25 -to ENET1_TX_EN +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_TX_EN +set_location_assignment PIN_A25 -to ENET1_TX_ER +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_TX_ER +set_location_assignment PIN_D24 -to ENET1_INT_N +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_INT_N +set_location_assignment PIN_D22 -to ENET1_RST_N +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_RST_N +set_location_assignment PIN_A22 -to ENET1_RX_DV +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_RX_DV +set_location_assignment PIN_C24 -to ENET1_RX_ER +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_RX_ER +set_location_assignment PIN_D20 -to ENET1_RX_CRS +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_RX_CRS +set_location_assignment PIN_B22 -to ENET1_RX_COL +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_RX_COL +set_location_assignment PIN_B15 -to ENET1_RX_CLK +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_RX_CLK +set_location_assignment PIN_C22 -to ENET1_TX_CLK +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_TX_CLK +set_location_assignment PIN_D23 -to ENET1_MDC +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_MDC +set_location_assignment PIN_D25 -to ENET1_MDIO +set_instance_assignment -name IO_STANDARD "2.5 V" -to ENET1_MDIO +set_location_assignment PIN_D13 -to ENET1_LINK100 +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ENET1_LINK100 + +#============================================================ +# TV Decoder +#============================================================ +set_location_assignment PIN_E5 -to TD_HS +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to TD_HS +set_location_assignment PIN_E4 -to TD_VS +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to TD_VS +set_location_assignment PIN_B14 -to TD_CLK27 +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to TD_CLK27 +set_location_assignment PIN_G7 -to TD_RESET_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to TD_RESET_N +set_location_assignment PIN_E8 -to TD_DATA[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to TD_DATA[0] +set_location_assignment PIN_A7 -to TD_DATA[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to TD_DATA[1] +set_location_assignment PIN_D8 -to TD_DATA[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to TD_DATA[2] +set_location_assignment PIN_C7 -to TD_DATA[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to TD_DATA[3] +set_location_assignment PIN_D7 -to TD_DATA[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to TD_DATA[4] +set_location_assignment PIN_D6 -to TD_DATA[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to TD_DATA[5] +set_location_assignment PIN_E7 -to TD_DATA[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to TD_DATA[6] +set_location_assignment PIN_F7 -to TD_DATA[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to TD_DATA[7] + +#============================================================ +# USB 2.0 OTG (Cypress CY7C67200) +#============================================================ +set_location_assignment PIN_J6 -to OTG_DATA[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_DATA[0] +set_location_assignment PIN_K4 -to OTG_DATA[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_DATA[1] +set_location_assignment PIN_J5 -to OTG_DATA[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_DATA[2] +set_location_assignment PIN_K3 -to OTG_DATA[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_DATA[3] +set_location_assignment PIN_J4 -to OTG_DATA[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_DATA[4] +set_location_assignment PIN_J3 -to OTG_DATA[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_DATA[5] +set_location_assignment PIN_J7 -to OTG_DATA[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_DATA[6] +set_location_assignment PIN_H6 -to OTG_DATA[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_DATA[7] +set_location_assignment PIN_H3 -to OTG_DATA[8] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_DATA[8] +set_location_assignment PIN_H4 -to OTG_DATA[9] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_DATA[9] +set_location_assignment PIN_G1 -to OTG_DATA[10] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_DATA[10] +set_location_assignment PIN_G2 -to OTG_DATA[11] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_DATA[11] +set_location_assignment PIN_G3 -to OTG_DATA[12] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_DATA[12] +set_location_assignment PIN_F1 -to OTG_DATA[13] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_DATA[13] +set_location_assignment PIN_F3 -to OTG_DATA[14] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_DATA[14] +set_location_assignment PIN_G4 -to OTG_DATA[15] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_DATA[15] +set_location_assignment PIN_H7 -to OTG_ADDR[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_ADDR[0] +set_location_assignment PIN_C3 -to OTG_ADDR[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_ADDR[1] +set_location_assignment PIN_D5 -to OTG_INT +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_INT +set_location_assignment PIN_C5 -to OTG_RST_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_RST_N +set_location_assignment PIN_A3 -to OTG_CS_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_CS_N +set_location_assignment PIN_B3 -to OTG_RD_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_RD_N +set_location_assignment PIN_A4 -to OTG_WE_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to OTG_WE_N + +#============================================================ +# IR Receiver +#============================================================ +set_location_assignment PIN_Y15 -to IRDA_RXD +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to IRDA_RXD + +#============================================================ +# SDRAM +#============================================================ +set_location_assignment PIN_U7 -to DRAM_BA[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_BA[0] +set_location_assignment PIN_R4 -to DRAM_BA[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_BA[1] +set_location_assignment PIN_U2 -to DRAM_DQM[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQM[0] +set_location_assignment PIN_W4 -to DRAM_DQM[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQM[1] +set_location_assignment PIN_K8 -to DRAM_DQM[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQM[2] +set_location_assignment PIN_N8 -to DRAM_DQM[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQM[3] +set_location_assignment PIN_U6 -to DRAM_RAS_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_RAS_N +set_location_assignment PIN_V7 -to DRAM_CAS_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_CAS_N +set_location_assignment PIN_AA6 -to DRAM_CKE +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_CKE +set_location_assignment PIN_AE5 -to DRAM_CLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_CLK +set_location_assignment PIN_V6 -to DRAM_WE_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_WE_N +set_location_assignment PIN_T4 -to DRAM_CS_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_CS_N +set_location_assignment PIN_W3 -to DRAM_DQ[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[0] +set_location_assignment PIN_W2 -to DRAM_DQ[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[1] +set_location_assignment PIN_V4 -to DRAM_DQ[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[2] +set_location_assignment PIN_W1 -to DRAM_DQ[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[3] +set_location_assignment PIN_V3 -to DRAM_DQ[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[4] +set_location_assignment PIN_V2 -to DRAM_DQ[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[5] +set_location_assignment PIN_V1 -to DRAM_DQ[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[6] +set_location_assignment PIN_U3 -to DRAM_DQ[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[7] +set_location_assignment PIN_Y3 -to DRAM_DQ[8] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[8] +set_location_assignment PIN_Y4 -to DRAM_DQ[9] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[9] +set_location_assignment PIN_AB1 -to DRAM_DQ[10] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[10] +set_location_assignment PIN_AA3 -to DRAM_DQ[11] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[11] +set_location_assignment PIN_AB2 -to DRAM_DQ[12] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[12] +set_location_assignment PIN_AC1 -to DRAM_DQ[13] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[13] +set_location_assignment PIN_AB3 -to DRAM_DQ[14] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[14] +set_location_assignment PIN_AC2 -to DRAM_DQ[15] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[15] +set_location_assignment PIN_M8 -to DRAM_DQ[16] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[16] +set_location_assignment PIN_L8 -to DRAM_DQ[17] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[17] +set_location_assignment PIN_P2 -to DRAM_DQ[18] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[18] +set_location_assignment PIN_N3 -to DRAM_DQ[19] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[19] +set_location_assignment PIN_N4 -to DRAM_DQ[20] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[20] +set_location_assignment PIN_M4 -to DRAM_DQ[21] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[21] +set_location_assignment PIN_M7 -to DRAM_DQ[22] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[22] +set_location_assignment PIN_L7 -to DRAM_DQ[23] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[23] +set_location_assignment PIN_U5 -to DRAM_DQ[24] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[24] +set_location_assignment PIN_R7 -to DRAM_DQ[25] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[25] +set_location_assignment PIN_R1 -to DRAM_DQ[26] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[26] +set_location_assignment PIN_R2 -to DRAM_DQ[27] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[27] +set_location_assignment PIN_R3 -to DRAM_DQ[28] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[28] +set_location_assignment PIN_T3 -to DRAM_DQ[29] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[29] +set_location_assignment PIN_U4 -to DRAM_DQ[30] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[30] +set_location_assignment PIN_U1 -to DRAM_DQ[31] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[31] +set_location_assignment PIN_R6 -to DRAM_ADDR[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[0] +set_location_assignment PIN_V8 -to DRAM_ADDR[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[1] +set_location_assignment PIN_U8 -to DRAM_ADDR[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[2] +set_location_assignment PIN_P1 -to DRAM_ADDR[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[3] +set_location_assignment PIN_V5 -to DRAM_ADDR[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[4] +set_location_assignment PIN_W8 -to DRAM_ADDR[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[5] +set_location_assignment PIN_W7 -to DRAM_ADDR[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[6] +set_location_assignment PIN_AA7 -to DRAM_ADDR[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[7] +set_location_assignment PIN_Y5 -to DRAM_ADDR[8] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[8] +set_location_assignment PIN_Y6 -to DRAM_ADDR[9] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[9] +set_location_assignment PIN_R5 -to DRAM_ADDR[10] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[10] +set_location_assignment PIN_AA5 -to DRAM_ADDR[11] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[11] +set_location_assignment PIN_Y7 -to DRAM_ADDR[12] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[12] + +#============================================================ +# SRAM +#============================================================ +set_location_assignment PIN_AB7 -to SRAM_ADDR[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_ADDR[0] +set_location_assignment PIN_AD7 -to SRAM_ADDR[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_ADDR[1] +set_location_assignment PIN_AE7 -to SRAM_ADDR[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_ADDR[2] +set_location_assignment PIN_AC7 -to SRAM_ADDR[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_ADDR[3] +set_location_assignment PIN_AB6 -to SRAM_ADDR[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_ADDR[4] +set_location_assignment PIN_AE6 -to SRAM_ADDR[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_ADDR[5] +set_location_assignment PIN_AB5 -to SRAM_ADDR[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_ADDR[6] +set_location_assignment PIN_AC5 -to SRAM_ADDR[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_ADDR[7] +set_location_assignment PIN_AF5 -to SRAM_ADDR[8] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_ADDR[8] +set_location_assignment PIN_T7 -to SRAM_ADDR[9] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_ADDR[9] +set_location_assignment PIN_AF2 -to SRAM_ADDR[10] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_ADDR[10] +set_location_assignment PIN_AD3 -to SRAM_ADDR[11] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_ADDR[11] +set_location_assignment PIN_AB4 -to SRAM_ADDR[12] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_ADDR[12] +set_location_assignment PIN_AC3 -to SRAM_ADDR[13] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_ADDR[13] +set_location_assignment PIN_AA4 -to SRAM_ADDR[14] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_ADDR[14] +set_location_assignment PIN_AB11 -to SRAM_ADDR[15] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_ADDR[15] +set_location_assignment PIN_AC11 -to SRAM_ADDR[16] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_ADDR[16] +set_location_assignment PIN_AB9 -to SRAM_ADDR[17] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_ADDR[17] +set_location_assignment PIN_AB8 -to SRAM_ADDR[18] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_ADDR[18] +set_location_assignment PIN_T8 -to SRAM_ADDR[19] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_ADDR[19] +set_location_assignment PIN_AH3 -to SRAM_DQ[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_DQ[0] +set_location_assignment PIN_AF4 -to SRAM_DQ[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_DQ[1] +set_location_assignment PIN_AG4 -to SRAM_DQ[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_DQ[2] +set_location_assignment PIN_AH4 -to SRAM_DQ[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_DQ[3] +set_location_assignment PIN_AF6 -to SRAM_DQ[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_DQ[4] +set_location_assignment PIN_AG6 -to SRAM_DQ[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_DQ[5] +set_location_assignment PIN_AH6 -to SRAM_DQ[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_DQ[6] +set_location_assignment PIN_AF7 -to SRAM_DQ[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_DQ[7] +set_location_assignment PIN_AD1 -to SRAM_DQ[8] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_DQ[8] +set_location_assignment PIN_AD2 -to SRAM_DQ[9] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_DQ[9] +set_location_assignment PIN_AE2 -to SRAM_DQ[10] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_DQ[10] +set_location_assignment PIN_AE1 -to SRAM_DQ[11] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_DQ[11] +set_location_assignment PIN_AE3 -to SRAM_DQ[12] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_DQ[12] +set_location_assignment PIN_AE4 -to SRAM_DQ[13] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_DQ[13] +set_location_assignment PIN_AF3 -to SRAM_DQ[14] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_DQ[14] +set_location_assignment PIN_AG3 -to SRAM_DQ[15] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_DQ[15] +set_location_assignment PIN_AC4 -to SRAM_UB_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_UB_N +set_location_assignment PIN_AD4 -to SRAM_LB_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_LB_N +set_location_assignment PIN_AF8 -to SRAM_CE_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_CE_N +set_location_assignment PIN_AD5 -to SRAM_OE_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_OE_N +set_location_assignment PIN_AE8 -to SRAM_WE_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SRAM_WE_N + +#============================================================ +# Flash +#============================================================ +set_location_assignment PIN_AG12 -to FL_ADDR[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[0] +set_location_assignment PIN_AH7 -to FL_ADDR[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[1] +set_location_assignment PIN_Y13 -to FL_ADDR[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[2] +set_location_assignment PIN_Y14 -to FL_ADDR[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[3] +set_location_assignment PIN_Y12 -to FL_ADDR[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[4] +set_location_assignment PIN_AA13 -to FL_ADDR[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[5] +set_location_assignment PIN_AA12 -to FL_ADDR[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[6] +set_location_assignment PIN_AB13 -to FL_ADDR[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[7] +set_location_assignment PIN_AB12 -to FL_ADDR[8] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[8] +set_location_assignment PIN_AB10 -to FL_ADDR[9] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[9] +set_location_assignment PIN_AE9 -to FL_ADDR[10] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[10] +set_location_assignment PIN_AF9 -to FL_ADDR[11] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[11] +set_location_assignment PIN_AA10 -to FL_ADDR[12] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[12] +set_location_assignment PIN_AD8 -to FL_ADDR[13] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[13] +set_location_assignment PIN_AC8 -to FL_ADDR[14] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[14] +set_location_assignment PIN_Y10 -to FL_ADDR[15] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[15] +set_location_assignment PIN_AA8 -to FL_ADDR[16] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[16] +set_location_assignment PIN_AH12 -to FL_ADDR[17] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[17] +set_location_assignment PIN_AC12 -to FL_ADDR[18] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[18] +set_location_assignment PIN_AD12 -to FL_ADDR[19] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[19] +set_location_assignment PIN_AE10 -to FL_ADDR[20] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[20] +set_location_assignment PIN_AD10 -to FL_ADDR[21] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[21] +set_location_assignment PIN_AD11 -to FL_ADDR[22] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_ADDR[22] +set_location_assignment PIN_AH8 -to FL_DQ[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_DQ[0] +set_location_assignment PIN_AF10 -to FL_DQ[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_DQ[1] +set_location_assignment PIN_AG10 -to FL_DQ[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_DQ[2] +set_location_assignment PIN_AH10 -to FL_DQ[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_DQ[3] +set_location_assignment PIN_AF11 -to FL_DQ[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_DQ[4] +set_location_assignment PIN_AG11 -to FL_DQ[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_DQ[5] +set_location_assignment PIN_AH11 -to FL_DQ[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_DQ[6] +set_location_assignment PIN_AF12 -to FL_DQ[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_DQ[7] +set_location_assignment PIN_AG7 -to FL_CE_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_CE_N +set_location_assignment PIN_AG8 -to FL_OE_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_OE_N +set_location_assignment PIN_AE11 -to FL_RST_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_RST_N +set_location_assignment PIN_Y1 -to FL_RY +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_RY +set_location_assignment PIN_AC10 -to FL_WE_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_WE_N +set_location_assignment PIN_AE12 -to FL_WP_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FL_WP_N + +#============================================================ +# GPIO, GPIO connect to GPIO Default +#============================================================ +set_location_assignment PIN_AB22 -to GPIO[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[0] +set_location_assignment PIN_AC15 -to GPIO[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[1] +set_location_assignment PIN_AB21 -to GPIO[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[2] +set_location_assignment PIN_Y17 -to GPIO[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[3] +set_location_assignment PIN_AC21 -to GPIO[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[4] +set_location_assignment PIN_Y16 -to GPIO[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[5] +set_location_assignment PIN_AD21 -to GPIO[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[6] +set_location_assignment PIN_AE16 -to GPIO[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[7] +set_location_assignment PIN_AD15 -to GPIO[8] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[8] +set_location_assignment PIN_AE15 -to GPIO[9] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[9] +set_location_assignment PIN_AC19 -to GPIO[10] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[10] +set_location_assignment PIN_AF16 -to GPIO[11] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[11] +set_location_assignment PIN_AD19 -to GPIO[12] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[12] +set_location_assignment PIN_AF15 -to GPIO[13] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[13] +set_location_assignment PIN_AF24 -to GPIO[14] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[14] +set_location_assignment PIN_AE21 -to GPIO[15] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[15] +set_location_assignment PIN_AF25 -to GPIO[16] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[16] +set_location_assignment PIN_AC22 -to GPIO[17] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[17] +set_location_assignment PIN_AE22 -to GPIO[18] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[18] +set_location_assignment PIN_AF21 -to GPIO[19] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[19] +set_location_assignment PIN_AF22 -to GPIO[20] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[20] +set_location_assignment PIN_AD22 -to GPIO[21] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[21] +set_location_assignment PIN_AG25 -to GPIO[22] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[22] +set_location_assignment PIN_AD25 -to GPIO[23] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[23] +set_location_assignment PIN_AH25 -to GPIO[24] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[24] +set_location_assignment PIN_AE25 -to GPIO[25] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[25] +set_location_assignment PIN_AG22 -to GPIO[26] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[26] +set_location_assignment PIN_AE24 -to GPIO[27] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[27] +set_location_assignment PIN_AH22 -to GPIO[28] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[28] +set_location_assignment PIN_AF26 -to GPIO[29] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[29] +set_location_assignment PIN_AE20 -to GPIO[30] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[30] +set_location_assignment PIN_AG23 -to GPIO[31] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[31] +set_location_assignment PIN_AF20 -to GPIO[32] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[32] +set_location_assignment PIN_AH26 -to GPIO[33] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[33] +set_location_assignment PIN_AH23 -to GPIO[34] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[34] +set_location_assignment PIN_AG26 -to GPIO[35] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[35] + +#============================================================ +# End of pin assignments by Terasic System Builder +#============================================================ + + +set_global_assignment -name VERILOG_FILE ../verilog/riscv_core_v4.v +set_global_assignment -name VERILOG_FILE ../verilog/altera/uart/uart_fifo.v +set_global_assignment -name VERILOG_FILE ../verilog/altera/uart/altera_uart.v +set_global_assignment -name VERILOG_FILE ../verilog/altera/ram/ram128kB.v +set_global_assignment -name VERILOG_FILE ../verilog/altera/ram/ram16kB.v +set_global_assignment -name VERILOG_FILE ../verilog/altera/ram/ram8kb.v +set_global_assignment -name VERILOG_FILE ../verilog/altera/alu/suber.v +set_global_assignment -name VERILOG_FILE ../verilog/altera/alu/mult_s.v +set_global_assignment -name VERILOG_FILE ../verilog/altera/alu/mult.v +set_global_assignment -name VERILOG_FILE ../verilog/altera/alu/mulsu.v +set_global_assignment -name VERILOG_FILE ../verilog/altera/alu/div_s.v +set_global_assignment -name VERILOG_FILE ../verilog/altera/alu/div.v +set_global_assignment -name VERILOG_FILE ../verilog/altera/alu/adder.v +set_global_assignment -name VERILOG_FILE ../verilog/uart/uart_ctrl.v +set_global_assignment -name VERILOG_FILE ../verilog/uart/hdl4se_uart.v +set_global_assignment -name VERILOG_FILE de2_riscv_v4.v +set_global_assignment -name SDC_FILE de2_riscv_v4.SDC +set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0 +set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85 +set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW" +set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)" +set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top +set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top +set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top +set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top \ No newline at end of file diff --git a/examples/hdl4se_riscv/de2/de2_riscv_v4.qws b/examples/hdl4se_riscv/de2/de2_riscv_v4.qws new file mode 100644 index 0000000000000000000000000000000000000000..63ba63c2d7679b7231492fa2836df27883046370 GIT binary patch literal 1348 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 N?SyUCMhK(Q7vMo+Dro%0rKC5d5HV+) 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
2R@7;-{ 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 literal 3541671 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

qFdC}V8c_tUJ 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

o+pJ^h-w@uhBeUB05 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

;QrLaM ztSkAp3C6I%5C^YM?qms$Enr!|*ACvaRLk(^3~sW9-!nQ=upR~^0VMMx+;aVf*3#%E_z>r7|u#qXK%*O{4wFf$d>6c3!6n718y4p z)NV}G4q-|SF>-*N0hV3QcNAPHP{qKYiN!SDmtaOa>cUu|!S4oi5A=v~g6t_dw}6tK zhXCF4$^w;~9hcF%D8Yiaqz9@tG}LZM)&CZ&U?{a|szVX|lfIHEs?yitQT{R(%{=GG zgUu(P;@glk=9R;aJX)Of{YM_Cc-xxJ!XDUfi$j&V=;n-g559j^ zuKQV8*J?QBbgS}nUtHu-5*gsl|IP88r!F&xH@<(!`Lky)^@Zo5H+F@j@pYVmbwtB< z3$I8Y&z)5X(7Z*931iYg5g|E|c$Bs{N<4-E_g;}=Kq{;tL*Qk|FJ7|PfBbH(_E(kN z_>Bw_A)dRk)4)m`9BAH2#Cztg)Qi{`CX0ZL{tQL&Z#k}h z26bOo&)Io1yX#)j`OAo#M_?FR8u({&B%rj(xR#N3rnebs0(D092WeG<-Xq)&n z#S=~o6FyzcC8m^<>2{8#MknR%LR_{QFtxT$4S$LqD(h`Wb;6>4jc_Ibw$z#n zW$kQ$C~p=qvlL^H=NxB|JtLt9pt0)#=jx#cE4TfADfY)nOX2t~;WjIs~d4luXV%G;xLE*eKx>ni{-QBX((I zi|cTM22+>;$^i&gXKaF?H~>$KDlqmofseU2c>S$asNEraYU#np2SciW#4$e;;jDy= z;F?!d&cj@bTiwx?)*$+j$@GpY{ z=5FU^n0IxczwbEpuj^pi;w9WP)U0=Cd@Q%;Qb%fUmr>{Yp8H|gZw2;S3T$ez6PTY4 zZ35e@Q7GFg0P0tf4GY7{*SOfdZErU8c(@cDnai7zS6iYCdG{nTkdK6%kuVWBDvalj zNQKMo$?~>KuuTj?t-j=M98{rXx4o>i+5dY%^Kr$!^-*z-Ki=H@faqJygZhq{OMQLh zhrT@QUZVEVY^uTzzUDj<2o$eAm^FR4IliV7}&WV?Y<>4nUcHCJ9U+DZH<_f+yEL;D2 z1WOg3#7Oo(yxy%`atvEL-MzIAs1*mZiif3$uB6=#o4yK62L^^dom`FSd zX;&Rs+E)}5+t2XGOqs~g7M96of+j2fzEKHEmo)MIb;YDcH%@l0pp-1ASb1NP}YU{_xbR6SjY!0*QOI}8H&6}nc8!EobhtH!J@ zfkvBYzk#^(aF{8sg@HXGL?J;k%y>!!B5b%di4O+=#Xath98JihAzCu@7e5($WwGrN zClbNleF0KyKn-B%{*a!AbRE+lAM00;L#n?Cyz7T>^jiFCT%L!Cw3?`SNb@LX}Q54s=iyaw%Yg8z7K4+(Bd2o+j;M2(`gxRe zmPc1ladh}v))N-((Fop*H$Tcx%TS0KxYSK(8>q&|6+H+wu-}%%;5`bLmnlE?^M)zV z0~D?acbZNYb8xmtl}ATS z5P?;v=paRx7eg$MZpeT%5CfMCL?{Fn8IuIs^8$qm=5u2y*+^c!IqRTU=Eyvl^yR&S zVHnd>JO-q~3Ni#`l%s*TVrFgH-oE|*UFNfVNnvn@l1^fk+o7)j3SR{ z?j!DSXxbZD~393Jx!I zt=;%Q4aru|@haN1>|cmat^xM>L|9OX(Y=vYn=G+R8!RZSeF3(?aga+YgdFd}WpE)9 zAD`i&IF3s-p~M&(+6k;9=BCBjgD9iG;vNj54LmbcfV0r$MqFe}k$IRZewV;ma>lrv zz@#I^&}Il$DL6VM{#j$bgc<;WZF# zbak+l6t_g6Js}JDUQV_IZT00sydYl~m*AuHebmGlrfR!rN0HgZZAGhL)lGvk5oimm z?ZmW&2Cv2>LX;I%oBeR<57AZ%YNZ6LjNh)VRpxr0v5P)zXz2u`HTbS&ph(>wpIn8D zOKc)tueWb6j-jaf($d$vvQ3dUQ{00caG@<_9_~6+qz{d(sgeUoU;S?tWicKMcyNl$ z0L8c^D%YE^au=tP_!Udluy=b?OU^8=K^>iiDh4OH0%M3S1cxUMMG93r@YA6b#a30Z zKSnJDq{=PExALLUSv>nI7!ru*U~w4iw~*tDBp4ZWOs@FG>5_cHH6Gs6++bA3!v5J^1KQ)EMg{~fsoD4loM$s`?MGTFAjJ%i}!0^_S$Ur`la>kPhlVFX~3Ec7c zRZM?*mYr_#Ur1t%xYvX8iNA6e>h&w-5bU=BHVJiTzZKYTtL4L2`a2J76jM1QZhgc0 z11;~(C3E-#`0B=d^{ZMZ*QeS2kNE|E(;M`czx|_0Pk-qmSws8n{$0qeUzSb3q@ru3 z#i~pO#V15uohwEyuZ}@!0D>k~x1Q+fv|x#zWPqWY2+4`WqmY(q$72{`bTVYqVL&RZ zAVc6~$gd}n70GS-I3bBUl2%L~ST%5{gFDTw@9yYs!CeDzQ zJ^v@h$;-fW-85{ReK2P~$@4lz^>T_%T*Gd?BGABAq%c|J7SjNjz*AH=Saircpcwve z!n7)GPSzSk&S3p5^*EpJ-?-Snr;QW&6W|~Sn9=NT&5^y@6*Wu5GOnu4ot92w3||7H zmfX=U6CJ!-q0!k|E$*)xK3T>ID=Tau)ncg2evr~9UXKlw9hroPg#dvRmB&pZ#2bdb z1k5vZ903a9!At>5%kx89AEQtvfx>eb^V@3lFtNDCqLT_N!;i0%xbuA<{0#3!!R*iY$U>O)=fu;Dftz2iWWj(yU=MPNO)MS2`rFUJetSfYI5JesO=BgcQ}zzi zhC3>sF%P@qm_KtVf=MtfUq-ZAubwb-N3J;U5pVDGZUtLAJe^Q3XnZe487hdhEoLM2R62z;c)GCWfd| zXpI}<%L^$cAuqvjS5pW{E1{;WE%Dn%4Zj`BZy}l;FwI?_%2BgA-onYB47}xuQ#G9T z%nb&j{0{|T@Z|86e0uG&HGk;GJTLlBLF-rd4|t=u{Y!8Di}nne@jfuduauO+`NaO# zX}(@JD@zX@z=*)un7fA=@dUa{RV#;k|K6YdkN5^vK|&4WcZEA%x>#ZL9haIw^hlO987V*uk~G zKG$lRRhYm%p22(WczTEXFelSpBT!0mt;pjnaOXVIZOLQ(j}PeaDRy(EZZzJyF*W*E zH<<1WkvjbZyz$`SjdOD?*vH{p6r*oI0Z+u^w}wvKM5fHa*=A7ukRNzgyhxgPN{}vr z1Z|dijIT$TYw*i4H2~kF$U-{^ub(qn{4?=LSt*{*h6&n>vBzTT?ZPm#6fOX^rYw^f znZbimLb2uYj`wJWK_bwCsd_wNDkdzDjw&h$P^@hif)6(1MM(=QRQl~2I6)X7s5)&t zF41%uShiPzVP*2zv|!Eb@MizwT_ zwyO#mSzt`-mO&gT6Pe;J^`u3I-31HNPFmBHseq!yUM#!s!H~PrD0|^%*=9kByAc_C z6{b}xp@mLH+kCy1@6GA)29%K1CnK%0e5hTckP?#05;jA?=x{8dvVS|hd2K5D3C+#Q zZtZrnW(wIYPk`-$<9FxeYP79&+b)}R%jLD^sG!nsOQmZmw$g8VxovM&Ud|q`ynpL> zl>0mbA>N7@?v4)}-AScerMj~Aw1r_JxtS>F!jPgA8o+kQ%ITgd`BM_4^ZQ9OPTI9I zIDlpyIc=s&zf})U`N64VPKxC%Q!Fb+bm&6_7xS|Ct@hi22yh*dW43L3eug>O_Z+zhG( zQewPK`q-@wWT=2ate_IA(H5un;#mha!^Eb5XWGdRhE<>y+o!cVo0HB@ zSI>{6l~7Yw;w(yejBkdCT;3ARq}p%Gq<75+b5Tv%tgL>G{w;jh>`-gApS zYWV$q5^_DphwTfk9XLboj2`NrZ~p8RtLFJX=SRQ&VQ+1Z{^$D;hygt(3^NJ3(pdGD z{iSgkT>YM!M;;om;e8mu!u!DvV5fq4H8H+)&u1S+Rxw27wt^DFh5}gb+ICVNq%FvU zDljA{FQk}+yadBtO(7($gqpHW48JX@ejUHngI|-rwa;Lt7UqiUC5zrY=2XPnza18D zPWmnh&K#YW=(~N9-m%Lcy7pg>NaG2w8OTE`;ko5@wAbHrW#pfGD*W^2=s-*MMZtxG zGBffmiN+;5ci&a+o+yc*-8p8K^dGj?3S@_3d zH3Uztz$~#xU+rtT_k@^ABj?8R!PsjFE&1`iy<4cU!FxLR*?|+<0vtptf@;6D^rS+7 zM7h%L;=yZbwEy#3af5nRyM%xPi`TxsAAJpHGeMi{BRjm^WJC*E6- zaIT5eUR?gCMaLgp!a*6BfjH`uW-JxK5&8@6Z#akk)v$VCRr93LAm zLyFA>55ojWYC%m|C(t+;Uo-5jex3fUJ^b`8(U;yB-Ug6?3aCu zHNht2lb`Ut)vv?Np8xaFLgOo5G^&65Cb_=CmW?-@a`(_>zhLC^KeXCt*}f^C2;};>8PJOh+#=>eXPI}9>janIBgf}`0dinlQMhf z(izL}TYLQ_AH`F#55Ys999|Z?^vg0maE6B0e0Nmuc=r$ErtIbcY24&ZT_U?DjVqI7 z=flmDn5N3*nfxo~kg|ScCkK7YaB|kFg!^7A(RTQ4k2%&`L8<5o&&er%B1ffL#SWzWm16wh=4s))1rN>&SZ zavzBV->kI6>v#PGrR#f>7+M&`8}#Vz^2K)KCGy6Wvc=>asmr^?GIkR%<9wKBMTmec zip1%7UN(u}%>Z4$5KJLvs}Q7ROBshqxe}kk? z4@{d&`(zpOZ&lv8G9MiX zTdpp$IDr1h%m)k|`PmGHmB)DuGYPI`0G^R-PsJu|Ps0RBDuFU;%1Z36l$j}{M~{LL zA2L;f0Y$NNRGI`(S+mt&yfaAjBf0<-j5ALz>D_xzox?mv(MuO+CH$*Erv79GV^?qY zW$=f`CgpdZ#v5gO`$IGQ{W3mvk5|Kxo`&X$eRlXy&bCoFYvsE4oGAlu$0M}U(JIk` zwU@m@&g`)h^r-=`h9k_iiZPT>-hv>oq{?>_VoCwR4GGE%DJCH=!Ejeo2uVwUw;VNP z)%V-1OJ&X|+O8C)fz53pXLcYB3363tW+^lgWdH2xAzkyv3`V_TS^a~3<_G_FSnZ!m z-`LOq78Z?ueMR-r^YEPOXTAMD{`I~qD$fXu*L|;FoUq|#!-r)0$!NOO>=PgJZ*NO3 z58=5(GniI}`#~z0aiCI-iNv)*`P;S%3hRhjhNw(VMmm`Qmb)H=VQv+$I76cHLW)Vq zy93SwG~s4paU>kVd>PZgH+2AO(f%nh_F_a;u104rvz~o_#Q4!;xL#3B5|QukgbxpgFp5bNP^7P7u+5A(qkqtPFh`} zB5qi8gq;&9F63^>IYuIkcCjamk3NY^G$RPZJL`H09!I35kg5pSxgMp|Q$-ot7F>sB z6_TUqwk3|H)zA)98w9gK`ezDxtu{H9l`U-{$w<1lL!A#l27@+qbY^P`8Wn&{^7cu5>88XL_0avWuY8XZ{Q~<-bXIMJ> z0uB}tZ*e8ii*Y_oFxe~4F#9-yIgVv-zUbHXZz(fq$&Wsf#cS|fK>5@&J-RMGeQ5I^D*m(VBLOW zJLUQEm+=wTTUfX#h8PwCi)?&!3&*$gG#J~6aXa@6d@5J~m7Wfdk#`x1S z-aH-zWA3ackD4*PH&_K_IaqcRR;^Ch0SLJek{k(W#*`@jab`PltbVhkQi*+h#nu=_W6l znXVEGeB+zD#>c+zH{{N<{vq@qY3}yq!9E$p?ONpHb+tdfFfz2$A|++oiy0N*D+%(g zVu;E$hZ2+6#4?>JHkDSVZiejTg%p#JmteT7DTJhzP*WDo4p8pWTIcc>tZM80!fEMzn@lH9uZ8|R>x9U8uOs^K(^eZ@d7SG4rGT$@djjL;I zhgbm8+xstSpS9fu?dr}rw#Tk+$F|5CrJ)&5EJ&jIwkTy{sVZVLtvCzBLkF2bjvW!u zV5kgpa5)=M&8Wxwv?{P5z)NJ<$7vhrkRm7c;{?qALKe=meg{lQ%f< zQZOu2jO^}&&~djkm~Yz>+JU%zyz_g)S^#cvA^=>IfsqlciH_|Q)KWxQ;i{qtmt(kX zGK{x=FbTR*u>mMn4&W`y3VRkInVxgHP=WAWY&1w!LV$Ikr$KeIr?Z#icNGroVV2JH zf;ZlR`{R7s9AJcb2f8hA!r3Ibf_Lkg9yij|#uElCc9DBP!|mZtm-eY({REM3ym&Hf zvix~}NN(5{ioPD6YjmR0<1CnT74HAef1yVH5Mg?8Bx*GOSs4278WMlCs#0JthV4C( zi_1+gwvwU_0V-ig$I8$e7Mr^QF)%0(Xk^0#Noqk&S&8wLGBbtr=ux6s<@hZ-sm0QP zG}!X1Peds+fL%P0*y$b|7;J+1w_HB~H)Va|z47yrTzuH-a$}c$aQ|*?ASsZ zOnmbc74MhKYsRmeFbfAU3UI}kx#r?WJdd3X2pNZ+>?})Uut?jB8KrcJD7E+~}$wESpdUbTOZ4Vb|Flcf&x49kR4qj)jSsOGWg~CxA-19#&1{s zQQ3XAH?;R|3GQs{3g<5Rc`NrE+1CVB1wfzkzvN8^=M6=lxb9s`D+{2XyXCt6v4daU zr$A!BLfr#1OF?agl?Rm&2rdYK9;;a98tza+xy>!9GR3CSh$#gKHzX)8q?m-fTMnEz zenP=?g*FT{n}sGB-xoi9@*3(+1QV`JHN{^1{?Ka<+g+F|D{`$l;@xnHV8Wx`?;jyk z1z5DH-g~|d9)6Ayxlbl2daU&lH25{}H{*P+K!z>IPqTTWcN~Fr+kx%007FO(@SVSs z(6*_0vM7&3X$04>p>P@Z4Du#1N>KMy8JoQT(-o-&K5c@rU&JZ=`q#^AII`=&Cchm& z+L7K#?pUDE0_<7FKIprm>7-@CIp2V9EkxrN|*9;MHUC%3jPVgyadu#h65mP6|BvgLX>odJ3_r` zC|0kR#n^8-e#>{l@b&dRS-OksCye23a=B0^ZT}>G`xYLI&XH+v)z%R1sVu)<%tfo` z!AXA$?hCL-{+qRQ;9$xfZ*~_%LMg`$wxsYz(pVHmds=KbvpdEEX*7eaUS-KzQ&!S^ zO4*r0dh{sKjLfCL*9nWIqprX^l{u^wSRSAbZb5pcOTl1r_nvRzc>;ojo_3dmMfqrN;7{%?^H-i!U zaNf9;3B1qylOGCv!S~C|15JO(^KqHK=81l9_3_=Z{O?{Uf#1c2*)ASZuur!`wPx zNYq(ufvj8-r!|#7CO{QZ=pI6hFR&>ZcFB+v(VNr5)WN@=R5#@%KCThz)*0(`7IPzC%di7%%_UQ=`w zQy(9hMLm8HT<;wbKb)^(e`e#&$zQ!mx=tCepHK-sXNlv`s*~FIf%0xC1z0TqwybDJ_PJ*f$K*UuX zWfenU=6t-ZhO~h{i-#?M{2ka%3+Q$VuOnM+9ja~`?anATrvLP%e%S1!^3f|9x)nJN zjU6?i+r=M*?j+4gFJiE4p7*25AnSo^O)!3o$LNqme?CFM94oz=$Eu){s~kj1ss1hr zo`k`h;Ee>^Vxr0aH{hes3nA87GRTMX`LBy)27y^k18(OTebeyQ5kpG>g!4vbW~_*t z_~`9&(y*(T1M+C}so=kU?|a|-FN$3bxYaF7i{3#Ve+wwueX~&gy-18!T$9}GHQ=7E zAgrGdV*P}}!_fo=!%jnl{ow!uX1@Z@{%cwCt_{6F?!NL{uO=}&DR~ft>VIiq!rQ+~ z&eQuRB)lpCJ*So9w8$!9KB-WK+IrY%M2pSYpVuPg z0nYpQL?=lts3|LHGo{Q-Aw7DOXyz2J(yCZGI1Rb;RemDB;nUo6z`5t^78i0D?jBsf z4HEsBf7`(N38vK?S{eGxzn*);%qK+lU$H9~x$PC6X*4mDHX6M0*Z;V}o;Th;qQSn? z2Ezl_sXX-dzW#}U=Pt?2uloRcDn2$po<6 z@igsq6Jn~skf6MfViNL_xtKypk*OXtDq#Z(L6%ZprjTO4)gDt>a#sMS5*F055W)6{ zs^hH;FMiBFq#(xlt=wf$PB^$v!b8Jyz@mE)4n5Zk_S`M=zk0{6dAaD~QMp@pL7kD; z{r#k_xb-*x z8-807ZLxA|)J2XfQ(pInilrD6FYoeo>FXjWzI6p(PP!L0^v`-SiPuU(FdoVkFW zg)H^Ihq@1WRu=o`MNd=o6G&Y)!(r@IvNG@xx!E0#ZQ5;8bu9_CN=EF_tY;anO z1CBG;Rp}R9vU=w~eEri7my+israXMj!GpUuxB_&zD2;H%mpRY3nnT^riUx;{EHTs; z#oL|tdE2Ji?%(l}*c4P19@r|14t)9|ffHNlw{9SHuFW5~j&yQ#hJ|15v2Z-d98wRH zS>VW%SmQZZXxw%1A3yhB=(oweX0>?7%izAQPudjY3MizLZ;^OnU_R3D>`kI{^@+G8?Pbz+?(#zhIcR z+rFW%;o+{d#KQmJ$)UdY>33gW=C|O(S9uPI7=xJYK?Hr={Zx$Jik>_5+smbX>-SUK z4je}dpjoS-FsN0rR>oThn4KSLP>#WVfr${~w@u8yJsd<6h^~j^jd*?#$>XE)0o^|n z$pQ9MzwiG4_1W9T^O<9RMDP^(^3=_G$#hR(pm5jw; z{ch>$bVWSva>d%*VzthA!W~bmvy})_)k|w})(>np>W4<=O`&&?CDCr*HcO zS@`jA$x8Fz{Ly#*Yq7?}^fy|ABjNi`8dgnKbHaUv61j2}R$_v` z_}~>mX+J@n!Y8-iCg%?;d{Tm818x)4insFSI0k9M_D|88{{FzsUVpI{4n_T9p4x@U zi`U9XINgWyWX;^}e;gz#|K~fiRa$=`h@!(Ugp>WDOoV@a>YChqlg#2vr@kM5DXoA% zdgXt<_x1|EEnq!avP~NIPZo`P^lbLzRAjLKQxmkhe`_J?+*DjfHc%FuA$HQmc8rGw zb3D(yrRJNy_gW%~!4hS-gP%`hhsn5&sXyY?Ik`|dRL{=J(w-}y`F`6|?`L8LePuIH zJwL%vtaC~xZs3kSb~#E^d;^E`aK~SR4E1Codcb9h-r=wQ{_EfOLls(i@OF%Sk;?Ng zlojjFiXj<6P&dddg893`zq_yezD!e%i-epM`ARK$i8D;lP&}h8HrFJu7l(Cf#^wtW zLPHJ@BD-a=K|6{=npR|^D7IWZ?rdw8k!Bnd)h&f7V7sNqOV&a&ax3c_puUEsGlvL^ z-^y{YwU`h$VxUg!#4#^z%c8h4qGFI`p;9AvCwi7tgR%M>-my2%PyWG#WpSy zndY}J`j^orBdfbuX&1ZB1W6@sl9p4HX!O=Cr;rjoiUc23J}+4(6ijbko67sL<|bw9 z=u>a`4e}OQ%f?Z4Q{rDR|K+!qjwc-N$7M%Rw@n#jJD7NVIF6vDWmo!bDR&ui`Jevd zTp3<_kW(Ew$;G-Or!)DBzw{FqmEV_jQg0@Gf;gU1ciO@*L8X#@eonW86s6Drwx%qT z2&&Pyaim?E8P~T=WEB4>7JG?+R+98+hAINVd#Rl2SNrWi#2dKuzKn(N9#1o-BuRQF z#9Q1*2EX<{|EOIZ$%A3DelKjOT0$LKKI3zR+{ zc;3W&Jd5D8vHkb|_5WeZ7lQ>#>6*Bz>m&}$1m=UmK`f-TaO_IuZ#T@o=d*pK{e*6Y zo#SVi1?u>19BddoY{am`coCiz$D?s?mcAE97ObQoY8Wj&Py0u|``1Ji^>1UZoQKPX ziuqvh`zV-)r;^@1l`G+Wsr|v1ZErt;n(x2~Yk{zq-@e&-t4JfRM`W-b<1M-y--sMJ zOR@B!AK0Imd`Rx|#T+>-^Rk=6r-NVmt}U;3AYTqf`{&OG)!En+$1Y@5OW>x*mQ?z7&)V_-9{8;<56oXVhsS3#j~jm+D(2crojC93{_#9McPM(_ z0o;x--{yugilvhYV7Y7CNqLY;<3SY|5|kHGOhR6Q;jX3-l2$@ZS#(B#a+lURm$&4M z8X$KS6iWxEA$M-Eeht5M=aoW&f#3ESB;?dSUHj~?=i5V*B6qyclRaOw;nIf&q;=bi z#lPY6gOSmf|LD&?K-yvmKl+bYJmj~2Kl0hNc<`~e%D}*L@x}Eogo5Qn^A%PnuK%td zX;#ErN0@IFLm9c|NSQ!ju^nH(ZBm0B$gzOd>L(z$#?WxnXpr7NWy8kB)_Q+=s@Iqv z3RQjrr|5zE#A`hgc=`nU3FrOL_pT#ba_+_wGW#|8^3+109(oo8i`%m!yS*iO(`6a5 zo&zHzV~;+`Gj3Dw>Ga6k$v6QmQ0z8PHmWiIwvkHUMU!B-Yharime*h*5aoNk!E11B z2UrheL-5w2gYLG>WftxR=+>@BfY65X0CRLKWG&)(6Juo&{QJF!q$1uHvF_w=sRiOj z-?T^!L=^z9hb2&>pU`$!cWHIrG!21xKL)MQ%2EiD24~# zx>PnFte9~J^Ng@SopqK_QG`)ID|XEI0*+VD&Fz?fYk8%3P-F=|T%J+QH4K(}^p+R= zJ@2kcz@VejY)94>6POg*C%$-!GX#f-zWMO)zWT-+Hyv;DMegJtcMHUhRi%c4z}E3w zYcDrT^jyjf;l?ODDVS*&Jpr$Mq2T<-Zh4koAq8XVhp;LPHEm*J`vUjSym{i}?=_g3^O<(p? z1jfPSqwgH?1n=`&jNjS^qEn`(2F}1jGv6Ndmv6v}X1BdkgBw1*goWzQ_z&NycwQ!r zzr@_}9}frZ^iTR1J~Y!OI`=Z8Gk@5(v@k!PQ8?RPa?Qk>6n`Qat$^S{lma3!d&tol*^W4k2M-_jxZhUa^&-598N^Rf)Y+=V`0C0wfr zcJR-93-k%P1_>DcrtXB#hXmK4hx(Us9A1-sqTzTu$|Nj>KVw*D$ssL*ITF)~@Wu#t zt|!wE7$nkSk=}u4x&=x{kkZO)nkrAkbo3yLO?l-u*a#~ay|u{029E_vz!XC86}Y>q zgcdmX$ia+2;X$s)7~P0FMGM9TWH81b?@LW(9d-!vEkJkK8sG&!1Go*U2iie4iQz91 zto^x)AA24=3%-lHf9%}Uo_XY2j`SMjRDxpz6&?*oGmsE9aBdjn9>NJ=E7^Alj=u#s z3c6WHFWVggv?F~qNegB_?HMQ*^>WgZBJn&IUglOKpM=ZC>v>&@#0Z{Il!H3-`~m!! z*WnSFJ%!;LV;0z!d_45!!Day(7ek{MwS(D03j|vz3r^B0jRCI`NYtVyOg8X%%#maM zt&jP)Q$uGgt%_WQ`CRk$C^!&Y4Stp5w>nAsWd3cdrM@(78CRJ(V57B9 zz82qR_?Mw+%#S!jld>2*>opWFI=twrX!!!`EgZV-T#2rFxm+53d18KK1Ro{=Z;zd{ zSYQVRPnwm7xmGcTsAB140$A?48$%3pD*?g{iOLHpCLu4ua92|ZNlSq@3^ird_uGON zq77MADNF;K+d=`&4u><`=c=5v5%KxZME1;6Uf(i)oAa0tZjiuwj0WG+nU{yvUzLI9 zj>wE60I&TBzE%1(?y8=sR2go8RmpF>=3?me=J1L;|0*(%EW9X?|8bUONH^oA^m{tg zp$yQOQQ~v05?3MD94QlcEw)YiE$UXM5W^C3^&sM;hf3cntYPf7h3K@~T0%jT_qIe( zBMGDZ`==yod=jYnD>0Bu1;a_K9fmtS`+Q84c_O}3BX24A7(bJDa)FKuWkf!OXTIkA zKyk=GTdBOG+u0po3*_BfwKa-wh1y4@zfMfn(Ro7Wfumv{pb98pfz*o4N5bG&ma*N8 zaaPkOExABsj=}9#63zJWXc?(Wfg=#h5k5sS&v7u`l1*YPcm^rO7#oWP!PbM>dXXoE z#N^_C;^^Ad5ZbL-{=L1cMpWe)5C+1#crTzVr%87rOeG0Avf@~ej4&Hd(^j#Ird_&h z2Yye^wC93m6#Zt!FJ(=$8z$aG7HM}8)31vPr2}n zi#yCQbHqbP1wE`n=>rKgz|vrrD39WWoybx+({`rQ%H{3v1>E$_UEF5Rz6xO<9Rs zDCMQK&gJFv(gIV_c9qaAT`gH+)-l60igoh{EYd?nprM$qhMBKeQNe%k0`(0N7P1bk zo+tCONA@ksTomc+{w}afckBwDGdArv?^*@EhTo3=_*XqU^VU%2#;?}%Ujs$VEoVg3 zD;!kqX|FK#tZJ2I5el!{-0QTtHAHph^tvYqEU6MZvHGbr%XB3eQj`}`OhVo*2fm+j zEFq{Wj1vNCL60OlSUDVF`@P16bD3QGRYz>tn*Gg>0`pajUxijZ**mf3zK1UR&A2>$ z%R?k7g%(C@<%xlQ|3*5**-jBF%@-@Dh_xWJhr37n9*Q)BL&BY~0oG2o&8AVe6A&t! zoq(m`#2rh=o;If+ZlR7I+}%BV zAzpEA8Uk_AHX35YY5dk=xGabGl1DPzNoet?fM35+xe^b%NaUwz5KmUh#WVy6#IlX}F%V-Wz@KvY zJTHy{{2ww$!JT2{le`_+4hz^|JESHujr+CS(=(F}$qYT!+k<&mc9Q-lav3(mgAjqz zS7ucKy!3pT6tfEb&%kEz%$RF5$z?duD()Tp1}(tmJBFZ@Wu;N7l5*n&ri(@0v4IVm zuMlte;F2FTPeUwzA0~UR_N@)*N6bA~Vu5a54i;!V5Xdy%nz%ss47Q}HI!m4wT{pfL zj}N);1l7)?ymWQ(d0bnTXSYNWDq$#ym0=TGY%X@B<0?44*GY)2gqpGvk5bCZ6w;$d zv1W$MrNDP3I;D?iqyuTl4wa`fh+0?T1~@zIWDGK9{_JY>5svs`KiMaC==VVKwNpf2 z^(u)z^l~`z{j*LVP!>ZAZhQW3&j#}UoH`O5_+cwoS-jYb^T9+)UGee`c0CF!+HcMR zQwoUNN`g+StjjV)6-keoKwwD)eKOS-!`wPxNK{@(F$sAIhP#?VNLmWCWldQm1t@p< zHf$S)Rt+ra+BwPtGF5^BMX_`sNszBH5v8EgOdHNi3;Exlz*o=T=^Oh8`!EyirH0=y zm!;43OKa@C#%q4wv!y~E(vv~+v}fe9moLin)jHa0qUO7w8_3K<1_U-$c!A^{Rp&}MCFAPlaP1I!Cl3+Tq*>bO$wdfBwro2 zW(N@)F^0x~e}P_##~361Yx3lOhnM~I(t;eB1a=LL{dwO#;b>Fm{#vxDHWxH77;H7a z<~8N9pOm51A#abo53>_GcskP^*=5NM%=|19vsoPLwgVfsKoaF^@i8K87$Vtg4gAvt z63)O!mJj*j-{Iqx-ZAt}n;qi8^7Y zyZuMbQrln530^{tR%i#N_HWG^)j9<&T{Qy+L#;NRKO4jj?90d^T+Y(Vp>8d?96gxA zvgO8t&4PV3KF9jvpG=9F1CUojkIt1G&v=4*jj~xYY(jc-vt_}_s-T-9Rxg;uyF2$| z&ev)%<*mLLv&YS{jz2yWeKNXT?v#foyV-JzK}_<$5bl@2_s*Al;kFB&d+s(Um&*|# zYn-h)Qsb<^6rzp^Vr$}UAg&q|MzdRN?n1=iq&%RB3=_4=F{}| zLOb z7?KxDClkPO*V7n=xm936U`SM6NHGa{Y3*VPO(@n$m{AEEPzbV=^73uiHca+e!3O=- z7JM|CW?w|nhUMp~OhhRdh{$LI-;~jP7c4}V{)kMrykC>xs46*r%_z6l5XJ;0!Iai&D84oX=7TqI3_{fqOGDGl} zGjJYu!A8f-t#g?!Av=f1)B>ieG|YM>sM}*_+KKMp6p{2_y74*3CZ00hjcFPy@XD+DfO5N%|tg#*Re&o#f!V}eKWThzeb7i1+facblP`;o(0+9Ou&Qp z@4)f40GhKD)LqGo-L;IlC$g0h_uw%9*363Gti|{V84}Z+4;E|GL!ZgOWOE0x3Yc5A z050P*QnqWHuU)H+&WOt#B&TvFZ>tXSmD(!lCy|`$W~iu)R^X2Yt?rJoktbsIGk)BU z3|m0677ADNW|+WM0l_SLuz+aIBF;{O|1~(G7#!z-7nA2;db3P#)|Tb$`0W;%QjbDT z<#$QYXYCf>WCkBDm=N7kdea!9BmypiB>*q2U1&w|*^uv%s1OvAtz5!UUk?t?703If zp%dsQv^xS$UXB3DE`uG{$}!qjW)(F|XBm|=+DYA+uH?jI#IoiG?wn3}>*& zwf(nCMo^*j_u_$oF0PaC&`@Uv1{%U*gUNA$!lu}8-XnG}L6TZfQ&wVkrOZqrZ9QBc z&qarJPOoNDJpr#f3d;38ud^C=c3KN2f2p zAecVZYmDPq3XluAor&ct&4_{Db}0YYxjL_T9c6J2HuedY-&NA4hZVqi>}HTAd;~ z(qB3g6Cq!Pp|Cx8=J%Lq9m;>*bJ{0d2We-rMn9pGd?$TeEMT^?)XIKBe&Lo%#nA*& zhzD`E%V2;3u08Day`O$t5pOwuOU`>l`4g^p3wT%zhO)~bz0wrR*uiYO1zg*fmr_b% zi+Qz1ymj0;1?VbVb}DSZfrmkJV<6*03XkCwvF5bvCsf5-*Mp5l5T1iCad6>tkfQ@K z86?FOTt;fd+Z=r%dk41K0%a3X*sm&uf<8bgPlBxJw}#{`Y;1Inac%A@dB`0fHz z=v8~~VW)7Y$#_^1Z|PikL_zN~H^TS1I;3skXnjI44|<_2))J?^EbBRq_2f?KB(;D( zS>Xcb*qoZpz}?_%UJJPJCKC9Fk$8Q99!PJ-P_B!&Wl;~b_|9pF+c*pN576tFXSbG1 z?VgE)GO!g&^S*2cj<*HOHY%Xi{afuRUPsIa!X^2BnU-soRy_L>8Jc}Z_^`kBJn4`2 zV@&tslXz!=zEvJ?$K)&Y)brq}#yd|wH5fLI?1sl)>*jLO|BK++;Mco zWyU4NFt_|PCq)7^WhEDIB^TSlFp8 zFSfd$Up4&z@3de1JH|CnuEL6%m^$&6gwA}1iHxk?oE~ogi^W#pCd5>MAwj0t zofv9foU^OuyWJK;+WzwKr^`Hp$goy;(?oytF6 z;R5F%jOKuuq)P&Z@rcX#7-jHp#R3TM>ekW}mSYTLg@PHb3PFK!50QCh;=88qlMZfO zJACao=1RMD@nN#J&kn!M)cGVl;KR>4&?qIcx!4;01k=kngIfbc1B)44@kg8%cmM}> zq-$=U#@k-@B*&sp&jrC|EHjWW{N=^f7?((Lk~1X9;*UEg%1*cr+LJq}RG)#@FhNVC zr!owdy+b2KDO><-o-8g0&?UIykh*8ISovz8D-Im<#gVTFZQl<5>UsVp2iJzURbje>oYR0PID z7lX(|7RtdJn0#nqLx^+;VIgd*^ zg>bM;I=Boub1fG;2+>8*ir-yO;>)YhOG2JPP<{msu&x)x`^bu%2|5v=%2d~9iW^xirchII-Iylq1^%hbpmq-Xc!r!(wC9*Okv~ld_f9@^-w*lVOS6Bvkbi1lQ@~3P(}5Q6d1WgC?M1L}Yvb(XV%UEDNxuIQt7udkesJ*+~ou^$4-{HZ6>BO&C^CGF_nNxLQ0~Z z#<0xI$jT=n*~tl}t@c1WQSzHC$r-<{SVGs08msnO$D(Y*&afUH5V3g6Vl9=p*iOx& zS^UY$c-tnInbj4@2Gj72cm`u@*i%G8pviCNPo>{>67Qs+fflIgx7{^wD02*ajSD$h z%P-^b0fZ5a@J2b_&aIBOlpy=DSwuEmG2p5=JMhAp+@d((nL@B`-?`g)?$BwC6E)2S z-7bi#`?noMulH6LCw*!Du2~$io-wO$TWZSXeKxq;Uo+8|21}0*cwvor>&yLC{2Tkt zBHrgkPlrp9_G5%~aaKD@%}YL8;;mujc><&R6raF85)n4VmhFWwqY`S$VsQZFj{awu z$mLBn;{`LT8F?z9N4mRgLsok}nC&b!Eu@y;_S)%1L!tKv@9^$k{NPp5?A+NRds@MW z>bxumU-hD?$7gHIzeO$YdZ!nTT>qja`S4qs()tEIj_$uyUOxIQbvEi$7!f?SO4C`Q zhTkd)d#qxaYq-mmuEdZDV7Y4-t2{`h@t_I}3Cas8CLu4ua92x+CR&rB1Zv5OPZLN{ zN=j>;%iH$b-uYnUt%gK;v$vMuHRR7NHmK82=<(ZdAJ&<>`JJA$n)k~5+}UAs<|!k3 z2Zl_8dr;gHSl86WTQ++!Xyf-MWa5u^i;iC_{-LKXlwG%cNSbS3i+l9B3ab>&?-A$7z=TJMz#c7IQG@G&m3e8&SfBK_jWD0bhKqNl-{$h| zWNy6$#uJfdZR=&1Nvw{y4YISV5JS>s$AMbxtm{A%6%Am$u)9U)8#q`Ut`Tp;Kn7MX zf{ehES&OlWz+ftv0Xt3#2W|fqjgQ?P>7(-7Mu)7OWE~6GIz-2orqXZuETI>gA^a`G z{4FKUv)H-VIECwaw=pPxWCV@l^|UPm3|B1JFsOI zFk2=mD`@j_YuuORxB&VG%8-cn#t|X`c=O?OT=fNkQxwPkR9|(xJ=A2lhO^E$JPbr2 zWzkpgR>5w49F;(&-DD_tc1dTa@U>(N*9anC6+D65HQ;iCiV`?ZbgPW?mjV zJNy=>G%Jr-&>n5VDUAbKRIv%$(=b7jT2NC~a=lZ^%oIX|Wo}y!YBrV0QKHFI3)<3c zk7i&u6yb^XR=?JL8SJ#66wxk3`mb8m4_{}sh3}!u6=%!fXfsl6yl~;brw$nZV>fwG zt#$3p$33~|Rd2I5pY^|j^DQj0e9Lun5`8@KI8(f*CP{nQNvYwtS%ovQ460HnJ+-+d zRl9kV2WjtmIrMc*6~{eP&`H;S6ayXUt;9Wo6U@!-6sPB|xJf9Z{_9*cvfb#14Mu1%n@+IcywpqHxdIZ0n3Cj3{NK3TG;B zh|1)&&7s7Q31GSFL737D2w4&^{4Fn}n1sA1Jzsz`}&|f8r>eP>chU)P#821TX|`)ha+Ip&uSXIQmp@OOhJpG{R{jCA#uJ9a@8W& zT2#+^qITPr8p4)hdypF>2Yk|`(t8(>H4L# zpO@9=Sf|`%06=i72AfY3ExCM%2zSL%a36imiBts5%k$YfazO=HS;4GbI}rCntQBc7 zcK}iMsGyX+aa5vrn77gbWe=vdq#V}|g(OTqkhN$&@R*^p=;`S6x%OpPVdg>a;AqpA zAC-^`I(J6QVg*)l%C*in+Pr^G+4S4dAmq#P!ue=8hc*+5`ZY;w6&pR!MUVW3y{AqL7 za{m?Y5^v^ixdD$NsIXgE(o#;wD&>NKg*B8!xmGcTC`d2y1|TiAY_X{{VoCwR4GGE% zDJCH=!Ejeo2uVu;b5HBas_(bOHe`e=hiRZwoA%TaNJIW^1V1*mm?%hmJ~WZtK8x^J zH<5KNrY?e2=a3N&oxK`F2P9az;#H#eT!L?v-al(eS_;;aG1J8AF@3{<-2axyZ{6h^ z`QjOBU#BaMvs>X*k5ah~i5|8xkt&>#Wr)h;WX_62bxW!qgkf$Kpl)JFR9;9i33+$m zC@nzacLT<{0G7KOnlF}1?fg<0-P&g_TKo&YsrT0!zm?`KPveuk_I#^ckI}ay66u8@ zy3TIR{ltA(#3q0aw*%X60miiLf~}J692h(0|0=Y-5u3%}!gvc|cL9Mmm`4sS5W^m3 z+EfB&;w*~+8Jx_UiOCz@6cUa2V0-pvd&HjbQY){m$GQep4N(w#f;xI?HxamS9vFKj z5DrOm;3YOyj0#{@4X%wG2lFefgn8$ni!l5(iUd!C$e;_RkUoe}hBaht8YuaALf$3n zcW=umighF@;=U=DY8L6furTy_%k80Y$Al1`uc-lm)& z<)-Kzpam);$+0$**~S7jPc~xY0V@vG;Q9&i4G4Y^E8SI}x2{zHcSMASF%|FSs2#=P zp$6XOT-JiQ?XFC36!0?pMp?F${`i(&P?dtqZUOZcWLH^X^CyyZV_an_ntbH7$i5X1 z7iP{7If8zz{LHPPVE(PacTPp`oy_Oz%(XoD_PmJ}cOl3cMC`>04Cd~h$D0$Y#Fc=S z;2f&TVpaS{iML0|4|d~3xIHVwCbrmkE8wDo@&KoKOjx_Vxw4u)vJ#KdT!dwATMwt1 z3tjCTC7PPmf=m@MwFJANh&+`O{fI6BMo}fcUC8uhFR?Oxwbv>^l>-@kY;*yb^A>r*AcQ{e=_b(=AV1Z$B*jt5)`o3ki+?d^;&=k; zb^^kB^Bp7QIIdI%^{)115{hv~nt8~ExjD|JXIaI%O@1(n*|Y}JzA-FY!$cO0__V19 zQj74)2pe#c*&KSh{VO;+8aU2=V~rq2H=p=J2)hU})zG;BAr^f+<75*h=X zf8$af#n}@c-mO8T{i%7KTMQe4{vurVFW@pyTjrO8g}-`UpygD+*7MY?7VlwT;j8f>6)w@WLQ8=}^Au6|6C5B7@%U!0}wzT+iLv#VOM6Nf)l^0S>LSBO5 zuBH$rZ5f2Pg{UcOEBv<7O0IToo2Ht*hE<^10fxICl{pS_C=_CiZ4YSw)UQ~HeiW2XRO=k~Wxud4w%Qri zY3+J4Kh?j!6lp%e_U76u7uw$9PY~(2KR@1ZONj!Ag3C$l9bXw1#UH{{t(NmSvj)IG zT91Q-IFa1`gx($hHp?^5F*RIv3@T5Z4d-c_qbl4cbX{JU>Ac#622ZM$$ptjo@H{Vy zm4Ff7hboCqP6Br-o>;2minfU%y|fNCP1Q@ZgHkcIDMqCjEw~O>#RYW|{GjcJAtR)5 znd>`#_$g$-jD`>k8+@C0w6fv4&V_Ypl_^t6fm*c{uB6=#0#CO?>d7Uu(gA8!r_MZ= zVnM1ITzU?~&SBY1Oscl9@{H$8AQJ}16#&omx9es>E6P49^wu=VQK`_wtUWp18PnYv z+k0GXB(v$@qLr$H!jpINdBQp%FX@vq5$dbW*ky0WyW>yxEm(`y^8Lr>-1IhLi^228 zFc79BNP|9$G1wGarbrxb1ZsAFHX?FEv^aIQ1PrCn5R4QSn`>!$gz|uPGfa@A(q4RZ z3Pj^IWRV1*++_;s;mvABySJIDO+aCg-Z1!e>Sv^*uK5U5Kdcnab7JN&-l3uFqzc)k zX(tDMSEgsa9LmbXZqL8=iP<}wk9tj#mx2Yhp|i78m=>KuhEg9cTgpt=t0|;}?r5J3!Z5cAEC>v?{IO{Tra-fHaik!L;cvO7DG5nS zfx>IbqS*n;UA_(5nwFdeWG)4k(kWdttqr6hd#=hvl!5^^`flI6;&-gGkd8)w*}OON zl-Q*wPm31DrU!zL>8=YvUJe!l&WCBHp_g0qgagh~ZF7(}S79Zl5=Km)k|eAiH;Jzt2MbNFWbMt$%UR3I?94+yLH&4ubv>J5q!XqrY@#DFZd7c%hG?ac ztOSit85>AzC9P+)TgOVC`UEpor1m(xm#I}siLsR=M?s)HypugST^VHQZl+4x#xm0J ztuB#WhbpEsC*za`Pi0laa2BnnBK5Ia5>UHdc|ch^(7E&NKp$)oGyY*uRN(e`>}Y0(Z@?YGr3YEc+c@f=_i zT5Ljt@oJ*j5FV0vj>6x zr>njVpIjG{n>q)SeCtcGu?oGiWavI*AHv$<-hlbk*z}ql`TVZ6pMCVcIkDe_%;I<} zjqi@Q89384$1F=|Hw)7pH8EZrp~NI+WilTyu%^W1+uRVDmz%Zwl zO0xrranh^}EfJ?Px2g%w0nOr5e!r5qr;vpRz1b_?;tjp-b5Wpg-=z;-^sNj*k_+{}H^2}rXc;^A$fv$+Lusz)~h#Nqq)5dsV*qvxJrEPl_vI-$wCaOna%Ur`< zr*!F%9y5W!lByFiOKB6#{hPAZ01ka1SBNby#86f)2@xBG%9DAc0*{)$x}Q+qQRqDr z(;Tg80{X4IjmFIb|C+&QQBRc_@4cQG-}{R)YM&$H+MGhO-}szx>Hne;Pb=srK%U-d zrY^#-#g>{qNf_i6fUgCJ?af|J#UHbNLRw;tgsDMuOi4@)zumM#`A)SSPw2OO!j(Sr zVHnxQIo-pgnG~IOCq>`v59|sT%i=9Vnb;Qh8wFFvpj8A%hp+ToSGS`pW5e9(iN9ga z?P93x-&PddD8_4@egZCLg(8&Z8bdrD#T9R%p<)G%HfLr2qFqK@|2F^Bc%`#*$1|1g zm<}-o&?-EO3K+IJ`_t>^b#CgFcB@M~A?2|d_-Tao zKSJiTZud8=FQ?B1GVMPUcL@gurEz6n6qUtW$fBzaPE}Q@tcs2y{8=~HN;sXhr&3kN9$FdAyC5uJT(H6ksz<)P&8{w!EdvtPkVO)Ja+fwvE^mo6Tj#zE z(hFXFE=0JCe0BfU$exExaTRPd_bC}%JSb*u6eC}^y(S%43oC6VsdHaeEFEGDMYZ*@NT$A%WF5x@^!vth$=CmF8qh(!g;7)98W>W5+?;rFJ`$4!?9&hEYPkYAQnPp_P zJI$R6XB~(tRDqJ9Q{iiaSp?V9+#a@%9Tq=_+r@FpxZe#hxpcKmPyd;;_O)0qCl%ycEs3n(Q+lx&(Z~pn%j$jjZ4ll))k}$Ir$X`rPMawfQMQLRnJQ#tfibOH263cJWQv1eN7&Y;L{^3*6;PDe>sRPiY~v!4X?_cy zmC+_6t40+dsl-jva*7h=bt~2^^~xf_N0onUAD7|lbQQM&yQVi^oyz`gbCa@dYqt!S z^%E>($#ww;z_t%6`w81xw@ue8xscT5=e6djpwe%nGVxl5te$^sOWBK&_AK~Lnco(( z60<=YmkZkjw)CW`^xI7on9rijF7H#MBqS|`24178Da#~+^7~1dK9(a*?xlFklyr~mK-Ra7BD+3X`dc4hv?^qPSkfoi4C`qVrdS4c`{_Ux^ zc%^Gr6dlc@lic&&{^qku-Qe>Kk#WFr9wraoa zs#}Sy0zFX5cEfge8@x)tb+6oZRg*@q0o8u%ge>-m;^T13LXv`f54Zob2c;FPv5EWa z&wF#F;|X07wd?oO}{Ocuefhx=z`l~FmC{f>41UBe(iD@ zDUG+3xxOBw$leFSa@~T5xd(A^IK%$^sRUw@lhlF zj}LgEy$^x7)Nj?7H#*ts_S|*E?=-I`0lpfLKG3K^yHS#3=C_8L(I`nTDeXJD?n<_c zLDEX7DJwCaQXX${4HLP%sb*1UN6KkdJ)Que40#4yuk<`bqg}{Ub-Z<5R#imMb|Gt- zLhNT=?#ZVfli{X!ru2(=C~8whK?sJNT@BHg57$_h%W_PW|9m7?C?H!&oPYuI1hONDL*$f`KnlX3 zTB?*7QcA!WDM-rsb@#om``wRoyI=SJz5i^V`gi}k?>XmpKJMw;x9|I6aKl+4usn2_ zWpJP*WU#Y&Vw^a%oVq1wq>aQypbH}G@<0qkRm#IEi&3x`crNOouB%%wRr3+*))~>) z6RID$K?q#F+Dj73ycNQ$<+pS0{N}9Sue?;OuDrh}-u{yOLa+JYV)+Hi>%8k9o?Q-i zix>$r7@Q1RFoeQ6C$L%}c;zVq22vh_q%mur071n_Tm-tK6OuC`t+ML2uLJsct0L3< zc2WHK)w+29g{Kz9Tjd*VUy{N$cV=_#{b0pARPeq6D9f>EdM?Y!>`~M$qYkL)ZsTg* z6d#b0sciUDGAchWu__2){MG6?ErUlqV@?R(=iUq>90GO!c|ciBHpUkEoN!+e_|2H9=QK9v8^U@ zsMwn_@cyX$%=x`}@pF$Xwej|H@#v|=F?q=%D}TWM%Z$3Uk2YuKCaadns3NsMy_}FM z9+T77!QLHH%xG8ZR__0EsZ2Y3@h+w`5JW!b_Dp_;9HK%@mp51EoL&cmpuw)9-j|*Q zIJ^Hjb-SlGw5R?tsB3jA?=NzAewhR`KkrW z|CSM!x44#{9beABq?mvEX8v}5uY7UN=lz>=qL&^!rQ$Q@WUzkw+2M~=;IrE6Kc2Ne z&+C2%3iZ;=6SoQoz9`gs%T60Bkq!nbQYmDxYngR9*6TL*r2wrLHwYG*Q95&Aj6iic zc1EVo8c?Y7*h_a9rCajZmN?yeyp9$nLcI_?;Z-MC@d; zW)@C*I_R8%oW9Nlby)jc1!E3IMk0|#S>qS3Fr?J3%J90r^>2&N#qtFRnT{_m7A#DK zxF}5hWLHVLR5TQ+aopw54dNlCb*ORBHXamh0_&TB@2ozTWYvv5D2n&Kvbe+VlndwW zPu-b)^i`{C<~NGv3-^i@Ub@w2QM|u=2cwfS?r1tFGeFqeCklfTT#?~L32>9NlyN2# ztG@R!@Gzbb4y^7SoLE01zbl>7{Uxf0ZY;X|CmdU|1}D}mj+4Z~z489}>^`Jm6q5P-vkgC^G6YjNpd$U;fTU}y8hIB{q=Ns^c&2sF(`u!15MyaR{L%Y@V}SCc(WKZLsJNm?*m z;;!B+g;*Zi>MCY+X&P{(niu#0-9i@b=J?U5jB#{^Uzd_M@7BOK#1mlIOE8XL;6s`) zKR6`SxjCc@lWobs+$|(?Gapo)m}hUufst)-OTHTPt{iNnlDkn^vt=3AdM2*Van{6% zW7q2Ln~u709~O3Bi# zYY6-Ck8-@#Z&UjPU1^(qkTEYLf*ap?xm^flqwAaZ|3!J<_M9^C$S8g9(dCYma>Epiyf>FwFiSR6>+{1cNR%vX#le)yz0SuMiHhf1SRtQH*J*w4;tIb@g7-w0-9o5QJIGpxZv)6O7$+O-6k_nL!|mV+EQ@Y% z(n5!lkipI}?&8Fu-N2bb1b*5`T%;(#qjH}MA__Wna7e%yfG+Bwu2;9Wof4E4YJCUX z&ebWZ1og04a1@$_uWwhk--y>8J~S)d`?HU{vy5{6f6MpsW%TXh?Qi+Q@+F*^U>O59 zq)tf85z3}^xO|hZD0of6BxJA?f6D8KaZ;nPyRy(2BLX9BBrXEo z+JowFh&{do_^9aVtVH&6`GLAHwK`oA7kA_n7xZ{(2ZK>MjnmopTkSwOKe9-^1B7c<<*$(P!%d;;0e=O77w^6ULl3IvKLVM zZ3jU;QxrccjK%dJchANH*NwzBQBf^&9xf4>eBRkL&)$g2a{1hL$=l zpl-r5=p+g6$%&&2lb{|p3r>pG!o-b{WlI>bBIWC31X+zXB0vy|`W0lb^q)R(Tqtge zV9a3xD~4VviGYC=Oxf7B;e(?QK_G1;E&^Q;VV4O4(IlZ5fmOb78j|7QtT_>2NX07) ziP@)aDTyvj2!z9zFQZEn3)}BF8=DcXvEiS}38GvP4pf>Ii!X#wjdjCFp57){m&3k+{%loKE3V7&C3I#W=Bc-0t^$XMPO&{Iq8d3d04YjTSVVDG!N@Q?IRT z;HFpQCEyC9$q6f?Riy0g++hW04Sv2iany=)=u0v$16mXl|7U5kKoXFT(zHJh{R5Sek+CVZ%v*IE{AnY)K6-6(VM8H5w{0S@rf|DX6OoBk#NL&QE z@FOn4wZv8g4JvhTNU#`q;T+n;M85X}N-EtGi8#722@pY-!AKGbGS+w*QgI{Ax~Ngx;kL5J4_RvaBlLIykAJ&Y5Fh7*kl0%;?05$KlY z%7ce?XJQXe14Jx6rZYkWef8QhlS_7iQ8QGXwYV%OE`|_ypg;qMWL2 z$Y&oK`I@DqaQtc!RfT56adky^Vh@!8wJ1$FJMLqS`zYn;TnIgDwH4cAqUVV>>{6|6 z=B7TH{+;s-*ePKn46oZ8ye@}xeE2Ist-36)tmfsV4dW%C8xo(zX;VF5uhGPfv5zxwRzcLeRp z$koxjgfvf&nNM&Iwkx z!G6=_mF$2StEYqqrS>j#34}IU~|8Fee`w=1f@w|Qx# z0ew}!?ofTnotGyTp;_@Ge`n6PQ^dww5rW{>n`ZESI$*Ya>B+f~&1Vo=bBG|+GV2+M zi$HgxR0h;}!mcv9B8M;>rbz0Rfm7d-N=Q@gV>`Btx%umlU0>kBcqVdnSjp-C0W&}& z+GflWQ}kqAR~Rh1(CSxGsKS%F&AkLXyXN=5oK92oTTf$ZI6wx}npvFm_DUUZ`xaMZ zBy`pM44IbGX4g<_p{*r)y7;RL`Qk?uf5Zy4Kn8sGbop!T!7tv-rWlrw?(Erf3*prfpduQcX?K*i>_CaNinb&5Ih2Fn21 zS{Mwm0rXK3WC-z_xoj6>}3~pxHM9{>yn3lNyU# z4&x0HESqtDsPhDoCfOo>#TX2g)#tpLZawsMi&UO#LdA_ltj=$vhJ#+Q6W^q+hH9Qr zj%H4w!@=U0XT@Bp+YWF?DthkgcEr4L&g*5p?0-0;ZY^+qTdHo$wlV(SJnIpKJZK>@$*EFi#YH2FyA{S;xI(2FwWw+@%=kt<-^5c&T(|58!Dvm&+*7EwEY z%?y{_+{<>dL93k$GfuL`=GT>iTo5$USfz+ac}9dWuXVXF_*RNiv_dOeoKndsQgmII ztx0I9Vm%Wd8QO~?;Idk`_eI@6U4GmVMzB_lpOa`~L1ZZ+1|p?7_4P6m{{$=6EdsO< zCPBhRVsIixuKd)a1${&=w^-dWRGZ#3vDVgXI|TFsl&VzXc*krb$Ka-ja6^Mpd~(+8zJ zVmqkcP2;%N9FRC^Tdmuqc7mzaZ9-RA_02jW^vm+2Q^~rG=;b#bN#QX(uICi?c_=o8 zQG;7=v9x&-)nMUy5|ZO)x}|8=)2c)lbp}M}S!$uz z?WGmG!Bmf6#6IH{aw^mcq4^}F*X4FKmh{r<(j zd@WhGxj>WLcp1QDKN|I_+YE0mk6O3?XoMKMmJx5Nvz_N+^3(bz zIVh_XM;BFsdeG(E_tjLta*g?cVBI&s!rRFW{^0PdWb(&y@@(x#^>KvMk^?9ZEt5JH&=Z43=$+ zh7*kl0%;?05$J*lyG#&>s+5Vl+rCitT>0BH>X0#z))a{Mk_<6UX8r;x|qLZOt z2CIy^EeCvP8QDlSmaQbJ|HuA)M^HoZIuR`r$Aey>800D`OOc#>b8M19iGz+l&|t1Xnt$@=j@w*@WMm>c?asB zoO7hfm{U4xow(M}fyr7=2x)HH%=WN(lrg_;ig!DH%bVw==YJt$r5oBYN>k}nxyNk@ zw=g4H`2gY8RnXCd*2J9)>@8(tm3Pc~0@pI)`2o+a8yLW&P0KShYP4#i&s*rCdII&3 z%am2OEpKQSi{P;RTx8+=h*Xpt+p!LIt;RAfhwbz^nJs=dIlsOA0_2=G zEi3}7)e_3Nft1G}wB`^&C~YJz0$mVcmk9zIEOYdi7N`qD#g)7m5RcI z!_TSPazT~hLEH#x?fF{75X|M&tq79!Yhj>{bl^o7&`dV3pc$Ov>3ghx?sik~lcsb{<%F*tV>3(7GX7PS*dEEU8K8 z*fZdU91>5l9W&vcUOJ4A>^W+U#I992*eLvoeUuq+ua_C?9&Y_?Pm=##sVAlSF-@&z zhuMB80WGfEMsYsr?Kbz*~ArjvY`aQ9X16POVEgwq^}ZZ1^}%5(_t+ zC&XrC1J{*#&2wHT`NZwhl8?R1z;3Le86J@I+uWTUPr zByVtM2sv+BMhL7{i|qvlr_PDNvBw~^YLt$Rp&s_kn$rwS{DWtpu9AcMF*(pH0~pix zAo<*LKgzUg6m*PUpz^;PORBcme&fb*CqeFL#Dg<2GNS)|p>cyeDxy8S(SqR$TNAS$ zoZ`UVf^B2?zszriVJ!2yJ<$KR7Ttp4a^>KbdoZ$>@xdH8FNW=F`knpFC`iobE9%l6 zWR;Zv`gbv8-V%1~>H<*)-KU#ojnUfCJZ!#I`R{2~h44jGI!~6$b|2 zJxFB7n~7CdlyAiIBjFi5)Ts6T+cuV{64Zk(gQ1dpern~(3*mhLg2+=UVkPjSg#S^$ zf((`^an`^gf;%1S944@0=#`QP7)XW71RRYB0%;?0k)kMh)jksh_EgHm%CFm{%j#~b z=2_hoFDZ$I5KqwMk^^pv^tyGw1NDUXftM3jmCY2Y6o?2K@rxH;@K6jo%;4k@LrAK7;V}5jiA+ZL>kFh)9ls&NBE8;IpKKHc!CUPWPqy%8IH#h;ot) zE?=xjiEL)22&ZIv^YG2c2PBE@2q|m)8_sXtoK|~rUntJ1IaF|1#)O;eR!(xkG^)fN z0tc>}QDfU9EoZ9Q=_$UWXITl(6527G<#hQ9_Kh9Q!B6{N)q}h8G6U@QMN4@}a_^sv ziW4|x=a)w~8-%vY!VZpblu>7=kV{hrN*Z9|j-P=sJE{8JT;m1dw|F914K3ese;?u= zZ^oU5WCeC~Li&VrSeMm~Y<2yxwhId3VevvE%_$QDh%#adfp#@z0i6Mx%urYaAOwSK z8rc$y65y(oiB)$V0}q`|I0)(nJ*$4^96CwDy*`dEOoDpYEI27z3lo!7mMvk#7a=Gl zXd^rVKk8SI!BA02-od~SLRL<2(840G1w&CQ1UWa5@)(5H93lv{%!aXoBGy0`5UUgY zk75j3W2krqByC}a5spiYU$^(b2AWDF5}sKDHKa<2unW5EzN`QeA!2Ei9$n&p!bq#r zUkh24X2l6XNY-x=d^I1jeOoaiaiKB9~2JdmKn?N{J?>Y71xpC<_#xj=sekVgAr`9eY_Uz%)m20 zdr^Mod^;?j4C(x$`iT3Gke#rG8gB_!0fy8Y*&+)ZS@v*u%fzaCnqkqcq6Bplo~cg3 zN*rC7BwN^JFp@;_LuIW+E@_BhF*wc-oTSJ!ez?l}Ona#q%oC?D9Z%LONLoJl~ej1wpc8SFd;p*4pHLTMv$5$Hbr#5`h*yV&T8VQ6XcaO#^@o^U0FD{Z0!XW%K# z{yn2f^ygDw)q2#5s+;2ZzSXtSu*-2SYI$OuO$K;xGw~6N)!OMfn3q4ht2iEaYj4Hg z(2C`WJzxg7num2jq!BDO;Dq2EbK&57wsW&;8%Kkc>M6G{IUBHn()CR-1Ww2 zT#_DyAzkZ}bEDjq30S+cUdCh1y%{|J;;@NlieDLuZr}tD3&KLc`6ogM znTrxx(Pm=Rg9!r@!xrHnsGC^7eXTa$zFR=!=)xq~!e;rUV83r0pOgZ?xX6Hr8`%{x z#Vso6J@EW9!Z?#nYU^M4s3Y(sK1v4ky6yFFQ~LVRaL2pWyt)m9 zZRB$d-;^3}IiQr;q}FZ!d}MksiRl?w>vfBJTrc7Wu0q2Hwr+7-?Lw>D#qu-me_TL6 zGjF`*4(N-puiIAB0c;Z8Cj+VPF~F#mqDOkq5{j((Z8)xUB`?ia%NN|G#@lKJT2L50 z-I~eB#w+a9a)gxD?D#BHLY>22~u(~DHy*7pdD-{so7qSfuP z(7%&B?*GIYBm+ER-4@}S__i)&o?t7h494V!^p$*ZlU~0qkr?}yg|a!lQ|Ae3_4C6e zxQbx_88Wg(7C0c1MVVN2hcGZPpb!p%x+%|c>Nbv^G@CQObzc&ygun>S`C&}4`hwJW zTlr;>4)4d?ZUZWqCkAJ=y{^JXB2x-FZ(3L+>;yWLgba3A!e}j!5n6MIAk;D&#tMp9 z16@F@PV#@y8bifPm9&K!MmR1piMll-)@`A_?jSyT9cR+vKZU@|Tw>GfHqy61NEiuM z>$X+8fd#?u41-p}E`biV1b|(**1*w-Adof^7lH1%r%~s(x$6mCvRDpS>syPPW!+}3 zCv-8u+X@XIRTa|(a*`c91JCA+w>_=i8>4PZUv54t--V-$w>_QaB3!N8)@r2f2|uX~ zlYueE+u|eJ&JG^g_1mtYoX8aQg%?q`!;iP-deGHIV^?pFR-WORH}y1V^`K6!9rvDbF~s}v}~2s@%Fl4)sxVrcxHe#7xY#Aq>eY4tae>ykt+&y z9qhgcL9iKu!&)>$Sc-^&A9EJ*Z{Xs;U#7-el2{=qesLgpalOtlB56NStMde2i27W# zys5cht*zN2VAd+Zv0bxUG;mWy^7dbbKpjE~D=bo>6aK~BXsK2ji9NqQ8*7;L1mrSF zFQyVCngs1&_+X@IGv9VsD^G~cK-YFPDYc+(1@g(ZqEwie?-3excexD>SBB(Pc{4j^{$++6W1p5qv#Yu{W> zEvr74ownt(&&>0SVwIZT z8jK}9sWFue9u{(+J}B)G+d=(q8pq(j7pZl-O2KoAslPwLB-P_g(VJ6hej8T>2lvr9 z1&g)O7}w0@97*9Z{7ug(oCrjdv=*+4Mtbh4S;P3jAC_unANG#UgssKi(j3;k1<%RjYffGU^{PG!4p`mmPQD5&Jl}{#~`%k z5J4zyBrXD75aCy>GeJrPZI_AlFx2gx4t3k86l3Pa=cdP7bc^4&CgZWFQKG>^fn{Ky z_qs(4=a+KE+rH6__FT4kUOdC z!0MAyOX=q_hRdyC5hrm1H|PCeafFF8WCl{7i_ECowkw#GWzuMMYh(tXeeZ|(C}Pzt z5?3DMBz*~DG&cLKgRNm@qVY4J)$O}YZy!jl+j+WR_gdLo;mxT>uu^n~8*H{SNNdbVoh)-}%7?vU2Tt6P(`4wey%KQl4%R$OKM zHjJx}@AHhh$i8r64&L_GW#ri07IsV z%dEP^oRVcrgz%UrVz_u#o8OXXEqBwgfH}}E!>z~7GU~Q?0TAJw6IfC7Qb`01r0P8F zgb$8J1c9`XxCnGXgk2^GL{-YfI$+)2L<~r~5MdW|d8N*8rT_H0MXkB7Y`h9{CouW% zB-d}vsuXJa#o{nN_Fk55&0qs4MB@C&sauBDd9Pc<@bV&)7cM$>0K)ZY>Ma`%MH-;` zS`TohrYQr*mw{xxny&t0u%75#Wq`dwG+7dZ#bgfo_zhjXK;J4+rHVCA)m>%TFywlYwN{b@9@45H_&t zO;b7m3@19!bvv9xeUJ!B^}0%7aDoK8brocqWGhARKS`J^W@6P7O9o!c2p9&f)(`J1 z39H*}Rt=Eg#LyUzUN8i# zH?81_z!LMG*{zZ=jcl%a7$*)5CrL`hwlzY)2>M~c;}Q%J=MX?t!jE?ctua(vSasc= z1{nsewr&$Sgh-N3gzK3#P^nc(4i_Pp??5d{r@{@_Ez)3Qb0IKJoF6zzkr96g0`mXF zy9R1TBrD)1DgAXZ1l>?N3I?aniNUe$9>z(p*die~te_vTHqo9LKxWUF>g)ZCtv>YT zc=!l0rX4Be6w&TIAuF7_b-;}O&PqMp)w~h@(FmC50diTr40$}Rj@c1h-BFcbMXF7_ zt;05BdsYqO_qPoL9*ti6imwN_MJXN~C)@0fcNuP)Qf9y&rl!$l)`;8Gu*b$8#Q$@g zHF2UDaCfw*#2GVa4|`g9abIlJsXfLd6??#|u~+#hLhNv{cgwR00T0zSNZs^zW|-I{p9CKe4Eoo|7FpoPjyDslE+>XXbSvQ?sN3@F zG75vm(|L9+#L)$cWb@3jRUs*5@HHHPSLNmfM(nXgRKzT%bp-8SXXU^jcsX-6>8m@ zZH|Gc5kVjxLb@6>@Lqg;)9z6bzO%U>8CC6pD$!G5gFfv^r0MPPiMu#7uJt_HC$>Bb zeWddJ?}HxD(Rw&<)C>S;G*O03FA-C0dg)~;X&K7`=`UpZtDb*N+(|%>m-naYSl=66 zWDE)X^uSnD&v(aypKv>7AlM&XBNfFZ4Y>N&=D3sxu(gsoR+~6@U(TwWWJ8<#Ld5k3 zyeA%b?2gBHOq_eW&KTZp37*@*Imq-Ijo%b&xmhwY%R2@VYM*c1)zi`Y5ZZWcBZNMl zvnk~0wH##t&2>^7`lNWrF7v^YGumzQ&O@0EwQUvi#}Kh@wt9^t<&ExYDTYz4fmABf znk7PheAeKg|1&(yvqum^Fz8MrTX~N{DKSovWWqsqydf-RK(w&x>H%ZnF^sf2KPu0@ z?eXgF={)=3GgOK}G)gF;CVKn5yuu`?He9ByS#VOcmMc!Y;TIs(G!jf@wQzSLqG~2L zB1Ez^{VFb@UhNg$aCn<176AyQ=|a+Bf^rnSj8X&)q^v)T6Bj;CG$IJ3jl@Nu3nJ_? zK_HqW6k{e87^YCLpdLLlri7)fH`x~r%*a^E)s zk^9ouZ2d@rmP~P!aNs$dtlPU{WM1k)H%8(GgXg?y86mJ*EnazwfPs|9AhfC^-~^$x zk+=wS2PeE?dK5Y-{^;l!mV z&dTICgnF))srC?yok1e(m?+b$YfH6oT^H4}y8PUma$22|=M-}<-mDn!cDg9Wd?7>+ z+xDL>`7lV7^Hf44cpMO7+<|4Ml3SGOIPhhCbi=6TdkT;@ZubNVsBxXb0PEZ|nPEMx z$6MML)xRib4|X3Y)|Z}V)ee#0OU7!s1KWWA`L_(N9?I>NRDldqZ?k+SDyw!cE@||{ zARcN~;(Whr0kSilw*$)_;7$=C5aFAsWSF#8O-+8!$Rd)>oyJbWe#-J5o zyIBRRbVOOHQGS8bLMa zG8joB;kv6R9RdT$iWr=v$cRHE0`sU}K?bKV9dAa77fRLyxi~sP5Hi@!W%I)aM-qPIYO?d9or63&C{Bc)&KeNZ1l9n&Kw zT#UQa?st}R{fOQ%xp4eTl#cR0bwLI(%>Hsrp z0(J^F(^hEc&Q#UJxVS7Lw>7aI{8`6L&%BX6ZnT4F9Ax5TXMjVueC>Cj-klBa3#z|M z(y_Rlg-zq{D7Hz-HStzjgi4^`OTP`1aXPEXzkwXX}3P`32F(n_Ut(mQMjD zi+~)Scfe}ha$Bc8k7@H-XKLNHq`RFg0!e5!b%Q%zX@YC0B&6NQRt{@!fdk6}gx2h0 zi({dJfaSioQ;u1-va|>XLEXx;KY7&)EzfQ(zIVn;b-blwY0diRVm@K^W3B%7Po5Nq zU7p0qi*YO#Q5WU%ANW|UmS;rtL=;Ro9l{ARSQy2sg%miE*;XkS&I$n|jt(UugB|WR z&F~9CYYq{F(njJU&;=28nII5VDHE$6ofvq*9I{PJRkxqIuyie@(r>iLf`c1<83Z-J0s9Cp;~RWBHZAZ*ji1R|;e1KoMP0=In2c%oNStps}?d>eErjQ2wOxG){ z0nVvxfR}W4-9VZS$H)NB<&%c`c>7iL<6jRK_@hb*JZXBMLgfPr@H2gZ0j^+w8Zr}| zRR+wg*!i07Cm#H5d4GaBzpWf3>t~lT*5?Vv!gl-rkCobzc|z~|?t$hB-4ZZ_Gyw!@ zLYErZ3f!gqg}LlZW@6P9#IT6RV!}aCxAbfccGI(se18IGtS791&IENqr)HElq|Gw? z@C)sBUa#NoEOG@yV6g;0%8!ZP*r;`D+J4=Hx(y!3aU({-#(2ws5O3N>3|a}hI69Ps z40hHZ#)(72iADs0w2`<7bU}n&CJ01T%Eancw`9IU-fCh~bq`Lw^e`4bAJ6kGH-{o{yo14=S~V@wO+?%VvJtGeP63l>_Roi95Kp zv}vxdgS8d9oP9(ouO|!Y0=JbNbG%(DPGg?%a1bL5H$O>DJ4#7N$LV##%EB_P(?j#5 zg-n0s9WerC%A`F=Spad&AWannTjQB64&>`yb2&~UgF{2F;`wFI8mAu*G! z`G{+C3|^W@-l@e9fggl}I96B$I^9$&jl`Z`-^mR@VxWcnv&pRzBwg7~_Y*9-h&f3w zrqD%`pdHK{7-`zfx80QvfdSMKNh0$_#jl{lrIG7NU@%`@l!7g9TnQ2+;^Zuq9t|QwnB;&=OI>pPMUw#dEA;BjA=dEv!U3tddwr zl!KH+ZjdCx4#$YVzNecF-iyj}i z?&(TcZI9T(fCp&By{0#DG0S+}AqCGVrvAEvNvg-0YTd?F!KrW75h1m1_sThp9!cRb ze2L8|OnU|g(IlhsqRUw~~zkT>F9NGEDqyT>@(^-z4hhVNjxCJy*wDo?Z9Q zw=+0FVcD!%%P7q*)bX~sbUzha6++PxnTxrlUbj~Wf_TO=5~ffCOLE|z%eGIL22#k1 zTDLd2`f$GF97cA6_gh*yM@NAg{=jUbOe%h2e_yh zdfo0QbUD@QwhLNAR$V%H7Vf6lbDofP={(kL#(0|!dg2b8 z0eSmMd*C*AWzkZdC+y+H@zrfR0fErW%cpJ$;qOdW{0V0z0#TJRu`q2CV(ic#goB`N zHLJZkU%9VJWXLX_BFd^;5B(0*F&7jf?80Vq>UMWx9>&^v%h*PlgW`4Glek|ohglf& zLczxCWe|+yoWKgEgTX;6g$#B`pdUUs8W9B2M&csS1rc_cAP`k46RT_8E+tRRRMD+} zy;x5KV^O1kUN&`$eme(rrFft7 zvg|#6@b&kW{h!O~k%Jtle~?qRzE(y{PTgj}ghVzubsJKg+D6GhJvz6rdA81(Ctxt` zMHzM50lOO6OGos&H64I=V$2iSQ(oqbw@%AWHeG{qppLfy>_ZuKJKlJ^GJRY=GM##s zcVu40-0?bd)v0a)8=7y#%&B#2AFpEovG$C*jj8JG8RM-Ea?}!36t|Ar!G?2-;ybvw z)M(&&@%d7O2c9R`=lh0Z8HXd)Eu6_(2g`8rm_?|ZA<90m5QH2sI2e%$2i{-x;EtN(Y0D5QGeN)*r@+iw!3l5d=DviGjQ| zhhq?7mk9z42Wh{w&M(e6-S4XkipL8 ziE-l4aH0`GAZ;Wr0^RdO4-n`MnVoa}6lI$xbVn{>w5@1+WLtv&39T8jtos?nfB7`h zISRGenT+~cAE)!?aBe+&IMZiq`G7g@7^vqdb4P?u;K*}8GV9<=_$VQ#f(CxKa!rjjxL&>+qW zzeje?HZ%+kWp!RD?iyzrJ+#92F{(6XUz&#X=5eFBd6*$mi?b9tD!n5$r%`d$m3h=kH?jeC#Kyf-;@8QR?El!_H5m1h@2!lDx$Mrv$5*^hXvDL)f$if9}zlgb9e>; z5~1L7HL^t(II^MzMkZE0Ixs9^a3LHtbyq03a%6?*=F=Cd^;^8fkYy|W(KF>g9L9-6 zHi%wEDS8Cmrdbz07)fH`!aw|P8^O=<-2t`@p)CUWB*|BtT!%o^uONeyn3gGDK~f3^ zvqA*1I69Ps40gR^D+uaoBXJSvf(W}N$Rg|zL{yS5A~a2`NN`p}@EDkq4nsJw41*Kv zM|nj(+iZCOC;v!(o=*Kt^@#{Vh-CB8Q)chf7Zw!5bXpXT;wmb=X_f&&RqA#d0^_6> zq33XtB1z$r#5dnzTqdAkp15RbJIO{V*mQV1W)alm=ui?e*v(~wKP;P#4Toux*dm?b zV+H+)!o#2ABd>~{_}G)Yznio_!~kCSPS^tVIs3QB3pf*cJB+4)lx4ISDpZp8n`)@Oc4u}x| ztyzPU`Vu1?dyMS+Z#*^wU>gG7e`{(#@~{c&a+6tjsjL`fj;}w96KmuyP6)d+-DYuS z`%BQR;0da&7K<)Q?gnRY>@f(fIYbaj8;Oh95aSXo=Y7^uj=+)+8J^U3O-(X3tWD@~f3XaU*qUyGqHL zHxmK0>6fb$X*V_Fx`C9<6U*_BVy6*9An33mu!3e894HAH?3!k`Xy9l>5J($|i$Hg9 z!gm0VLyHFpv_Y%WN4fgu`$nU8_;f*DTW&+$Nm20!@_mrPEQ_cmlpayJB^x@~c$4{% zRH)5VB^6@XHheSk0ZC#zLP9@|MT-JI3)Uc(V=W8&%x@c}f`?R`?s#OytXE_k?Ek8w zZ`jkwe-mj}n&mpn(6qiOU}Lc}JRHmPFu0vdoObNaiyM#I8`lo2!)c0c6U3Xt$?<5aiUhPX;3QUagh`WW4Y&= zQzjQEFqD&~EAKVaM8@QsLBOSN2tc?kAsi!HISIpUnQ?;D5Dv2MT$xyP_88bLBc315 zGxrg3t8{mvd40 z!X*-(*F#?m1*Bbwu=8BbdL(1%KU*)p5d&baZ@&<&Dv3XY2RY9#m;(hF49*6-6eZs` z4znqAq*BOW=fy^7RY_bY2*pG2`pZDxn#1wn6j>J<+)fQ>yD^S`5@+qrIo%r}0$|Xm z{YclmSXN9w^Z~T?h;0DtX91xPrs4&z!il)$RW(-oteb(Ct+YNU zzuZ!jHAW7Xl$H7cGs-a*@mjkkI0riQyp>4JDQE=2#EiKn>_Zgq<~O zaAM8kI7uY$z4kjUh;N87v$FZjxri3<2j&)5w~@YPPs^FgQ>W zGT7NXF-{yBPBbD2q>aQyib8m`AHaDyiDitlksUBtl=qnst5(Dnl*~CMI=JuqCs0Gc zP~DT%S|f}&V~{DzPv`W4W=%`Wn5O@-;;S{#GaIDq^)9Zv`uN-vTfdk#FG^s2l4kUT zkS;PwjGF=bn3Aw!61=@xHZTB&bFa<&1odD%;VnPZ#&fgFe%c#pTT# zf8ck-=_ez<+7q^T{#pqx7610-9}tXaPEt#75%)OahJ@b6SMB?NAY+(49RGI763#bBOT`fpCJ*gXC< zzb$ne8*f*1(DhrmPuRsm&{7Fqlm_8{CJ01T%EYP%9R^<4y8UshRG_R5xqSwH(g5|9{g6^MyFeg;rhDSD(RKa|$X5qi&^$IA(H ze7r4(&tBk3rDv1e6!T7T^X?1gpGZn#<1JO{cE*tcn|OO=An_|@`gprYXs5m6)6?1V z70K~--EZU^soKkM=&wG0J2~D`D(ZELIq?R|fYIj({cWAhE~KB!{MlumF?FotJe;7^ zS6qI}KTORN`Z^snHZ}IlfL^z1kwh)O_>S59HOcX|R5ek6FoVL)L$zMMeED}jD)WSg zeSTY}F>_HOE4P_g^>xp{v@1m6#gWv?vc3+sOrVQtg8iV&#rnnBrI}K-M$oKN5&@bxOvP1V6oOmHb83gehA_xUzV{pQrSwA3Aij)WEYqy=FeIiw~!rN#4cKx*cc%D+X zN0+y|7jBt(YJPik9(Q(#&TZXpLmjbhi;w)5&)*oMZkHHPMxzV&|CNjXXL_D6n(eaz zrn50KrWJi1tiN?$fAht~izAG;gj?iTbZhoQZ@lu7)NO42b}YkZj?1u^o>Mpxh$iWE z!p+2@8puvu80WR_qB;G!S`ZkG3DMHcy43OZx`4`jviiO^&og1NY}Txsb^s^Mpd~(+8zJVmqkcP2;%N>_uwbu2S%vVixPG@o%g7-+Uy6$M85krx20qWhaOxX)Rn8t05xd;dv60gTdR#RuFb| zOZzcLty`X@zMMl~8Q4LW*FSLa1L<|JODp)deM*dCRX-4jYp4{F|7p5HVZW;2MK|bh znabJalMBhZy}_xR3p0gohk>dyxayu(4?;glSL!6hLvVQtizLy{2eW)zcj~1F%$NGo z=`R#tk{oaA3#uzVbyeszZTN=S&wN3$Zo68avHkjI$gK8$De;9giy~N z1Jjk(6eBCzOssm;VPLk5xLK{8Hf`s*w#6zfvg$UDE~ZJgaQMag$u}{hZlj-fIPJH7 z3zHfV1cIrIG8mlVGf&?6FXH`R@z={147qSt2&|x41_w$)2D{zPs8R`zMg)Phk+=wS zL4=(SVjz-5I+imhcnr*N4sBxMb^FA{oOyzv8-f|nGieJm@MN&0zc~N#zn&g%AFUrD zSiYJug>@=i7bW3DBZ7eEFwB9146ay@e}gtpC2+&|sO~PGe)QU`oF_!T zucpK_-I2%Cxc1Gj`{v)1dBVf~d51A`I1IM?WaHY$)9beX=th6=NO3VaPgvvj*wujX zqZqQ~Z+;gQz2ASk9@3KuE1H2(*KheZFO2d&#%MIdFdqHkuS$PTr=Fw^V{Jm|l>v3U zHN9Y=v{?V(wVUa6Fg#lv8(nzs*IY=Cx5wypmn>2j;Ukq*>$dxSypGfq#Xo(cwtg!@ z$3;}k-}s*Lb>6?Q3BQhbT>kd)hDxP!pSdWJWhE1F3#pY@k!pY^-x=Q0RJa!z0c%`!Ok6vN>7!0TWH zAJU#W5s0dki8VysE{CsMn%Vx4x2Zn1D%TTU5gyg$d+nC>`faQXEEXec_Ub%QQz!xi zpMC5!MvEIUoU$IzDE=}n5cgSP*@X98JIFqWq{XHCZ-HX2D&b?9yn>{!1gEe zLuCLn#q&$`^UV1TVDh|s2FlmVdJdTVU**;PG`dJX3GSzsr?n2V;Dlvysh(z&LS!;3P?sLV`drl~D$Rqmp>R5OUr$jSzv=Z1F=70Rt)9 zJ&Y5FhLa=-I6)w7BrXD75Mh@I0?{NrD%?!0`o_<|b5RF%Q?ENfJ4GkLjH3&apdB^~ zPKr*28LZoc!;}KFJR|;;f>FPM47U2o|LL!biJL9akxC(hUB9|b$HoAT_t%)SK3INv z6TiH}pQ5ib;9q6+Wq%wQGRNV@AYRZQDCZBP=TrZ9fsWY`T)7>H8Mn}V2-AR`WHh}) zU-Ns!riJ!U@dIU*8Q-CMIMdCx7`IPHK0B8w3go1Jkp#eoXrl7TX$T}AgZ-v~TKbPk zWHc8JU26Sf(<0l0zwZrl57S}QF)t(vo7}(E>;XZV?t$xOpV;cqsu0UPf*&+)Z z+3{v#)fL6Ch%tb05Y$b01|5wq#L-2SpdL2sKGz13Fx?ns9SpVzyRcs|216x>7((H! z5LiL83{E{*8ysVd^1}y5BZ5HMNL-{&O(H=I_*QsmP^p7Mg2ljV8S$>4rPtz=psdiU zcik$$CEM?~WcZI0wEP8<605Z%oYhzxgA-dPIF1_uSD__CAeeJQV8zj)BxJC&{xD8z zwEH+#i6D_S5*LB);Dql0J}P>8L~kC9g}p(ajzy1DRW}yAhC6C(n(-(f*Wgi6Jsaue zlQvJFUZ@4DYNi^ERJmRPv%}V{#5PfJ=r7MMe^W7eBquX<{JskE(k1Jx& z6cpjO=4rHbsn{O$PWTq0(~&wXjoC}o$<>Ci=9Fp3b~`kz%FoJ$099-(0W%1&)ENN? z{f}%K*@6ok9i9|2vFgraSgco3B7P)1Q-?%6TgB0ZNwS5*2O~*q;bJbqvL%f8A_Rp5 zZG=bQ2U8hkuyCFQH%S+Y8ABkP6#^@0mcgm>ZE%b+%8v~kjR*p1BXJSvf(W}z5QruT z#h8h;N8R4O3n%IvCjBX+3-=JxE=1S`T?QjbEL^|if>;pURtip%Bp3vNAXb#Y;1G5x zl58;e&8*Dbm_=X(%`!Mp5;EBJtXlymsHcs@MW8!4;eF#rMJFSAb2=8bL7!$(eeq?< z)` zh1;7x)gt#jQLn+OcnrN^qlsuyY5M!}_lRv@(?_I#=}3HG&kyes_C-9Mso_8w@H%T; zKirrWHAB^dYm^^n=%Mfn_W3%F65`wlHMZJjo7U-|Cr=ED)*Wo9@s?m3VCX0#TV#PF z%N`0T6RWNZhQ;QZjPHkS*?z^RQ&OFh_v|HpqDf4XY+;wdND@iT+&UP3Wn3B}SPYJf z5+^A#(gg$ogy(fjl)>PrG+P!7A?HoY2!YjVL6^EHp(JFm^B9Cyjf@BogwjUhBG85N zaS5&^wjyXyse?m;#lQ>a&?e@p*L6+_%1MH%MW1_~36r4iG0;&ek?7eTeZm?EV==&- zh=yzytF~WvpkdR2ecspXq~FZI7dB6Z zKF*pf^f5YS=@``^QY9vVBgnvrMY5fObcr+Pa;V<=(gn4aHLA|4oRh0!lfbAM2>)Wp z_7{*I*~2=11uR8R_M0bgQT+XX_AP%4E6)`5F3yRnlngGGzxJ+W`7w-`VEt?rV^8g8 zkpZ=CslOL$-Oks&z;7&my{FhRLt?)43+I27`1csGul)w1t|MYXpSNdXe zhFb~002Ry=gG0aitMkjR#8HG+R4`auZ{)=FJ%JTRhmw%N4i}yuJ~$c?1ky(0BG85H zxCBF@6&@N?>fn%IG4NVOTn=qwwpq0;PHFhxFKhJ2$JDwFbzDaHm;b{*e(8OPB|!vU z5G%@Ha2BV3Fu#X`1ib)WIOhab&@6)kB_V^I*BOM?93lv%jl@Nud+v$wbB-x`q~O?? zrUtLh6I6tlz%TyumwurxftX0&c60ypXe8*qE=_t~2Iv#1q7~k_&t;xJSq)Tt^5_4f z@@FZt#JdSCfA7ob6l2*$$D9Fee)~vZv^AOCieC#&k^IhSFIp|X_rLys{=E)^BIlbq zUEII>o}@S>xf64^45Yp{MxQ4bWg;2%lht{GStl2qV#rJWdq4Hlif>Q!iJyE4ZCf?W? zFlycI@#>H|-u8~}lb`t=S1{g2$3E^2UHogWC?53JK0lfSS2GtSvZBhws{4$AiMbx( zAgG&I2h+z}QEsBQe+w;X_TEQQlUw0oe(Nt_218&G-TFb__R3#=DK$?hOe!4$6*qF1 zUwNZs!(xOO?ai!gGfZH`(V-+{utNYYeE0Taa5N$aq>aQypbH}GGC?4!QYO|gb*s;B z`O0n&tqfwQ>xOU~bh*eFZ&$A4c8$2cE!W`~R;Z|Ft93*JLU|Mh5!4p`)bTBwj5;E9Xvy2mmh7*kl0%;?05$IY!%Hwmn z)8`3(SmZZ_S~z2V`&39#ZR4lE`tMzXRHANGkg&jfv5_xQLQOo>R9`>mH^x47n;9+V zyk3@x)fT(>hi`h}l^CvuC-cPjzOo$3hKHUI2h2d1*Bvki>q7cG;j|0fR+hi>&42E* zwx`1$UHyXMUdC{A{y+1;$eWv=q^BKfieHzHMKxG>p49N;YEgqCFejGW==c;wS%9K`CqoX3XJr z%dC%HrV@^YI-}ABH$^1F2SWgU5Dwy4VG-zbQ>`=-dwzW<|zyH77O@+>JUE$O>>xj%| zQBZ_6Q1g)#9wVIeoWhAfG)ZgWW@1qd6rLv`IT*YRqzJRAM$1A@shnG?b<49wViGFY zEL+g!g<7}8rB&tMT>fE@+r?UKLuf^L>E}*A4YN_YLLOEl9ikS`@ms!V30rZx!L7Mz z`}M?>SsMbN8=V2PM)+~VHRp<-r$%hn2tzs?WsP&L|EYDmM|67KZo$*H=B*r#h`;N< z_{9&Vi>s~C_Cw!T-d;O7bRLBXPVY=tVoUW|@nvGwD-R6J@I1y&bt03*a)`^Q zTkm}}G8+@B@6&|ipvyV$s|n6()!AC{j^BT>T<55B02kV{DF_W=zhVrAO7W>p6&aOh z!5yPDoO1#zXqLe#b6#u{=uhe)r4d0OZ6q!NT@cCUe^a6F5bR`82ZscYff>#r@?Xvy z-Se4kaY{u--6qh*0Ld24;dph+KlkQ0kM()pV)fVP2kY`eXdz-W+MJtKe-T)%7C-05 zQMYjP{8CQc_KmK~b6GbVpZ@qSTt_`9q?BJ+`}U7LT9#s%JGCB12F_*O^8fVD{_Klo z-9{%0;p}p_xz&2>i+g?Ot%Wh243UA<=OPbWx4lNhqWF%_`?mWT?ogp)c43Gi6Zo90kwjEOE2^m$?My$@reEidY`0L~R`kg6W`h4Q_<%H?$M2F3Q zUbnsd%XqykT^}*a%i=e`>JPp(S@cO}47Y0krXSS4Qe+SCwCOYA672LJj?T!-w3)7T zn_p=rXFZ{3_I~@fK6wY#Q+`S_9bjkfpZzmcU7EONeiGss2jmcJFUoy-<->_UL8VNr z`jLczheQ$%g1URI-!{>?jg>OH%&A+0!e!Z-Mgr@%cUvOGAAaK}e^MFs2pZvZ#25^f z;y?eEnf6-T3y=%voWKg2WpJP*WUxa3e)!;ML=Z?DiHkrNMA&75Kvbnntd4bi2X?(w zozL~#;oy$P)OtQMV9ux8lh;!Q zrVLCOm@+VBV3-W>FfbV?lp!;TOc{t~p#6Fop3U;9=R#GM0h1-wLx_9mWUD0ex6Xz+ zpdcU6_GEg>zwmsAtM+BUK7g|P?W*osFeP?7=nJ#EQ3?$#Nap>8yHDS$HvgL zsSNv(M4y;?bxDp)uRKvNtx4&;WdH+KjMPCfrkK&5vRkX0447S!4A@~lD7UA(o%ggqp{L# z`UB5THQfW(%^tDY$f!Ih_Xq}EY-EcpaAe1uiB(q=!=keC(emsuk#|Z^Rw<4yss#0* z%V4O4;gBH}H{y%jfPz85ma1`QABeE72{-$#811{#nAb#xFD66gp%;0g(4Nbx zDcD$vps|26aSv@j)6Ge&a|VoZ2k=KM&bOgWBw|P>F@|mTy|SGB|100>yuX17;S4em zFY7U97-taJWTHz3;$_eUWkA_|s!#iAIx5I{DqsFS9GT&ue58kBek(x`LPIdn3!X&7NT-GaoU2xl*D3%BcIX`fc zqKz;K0wKT99%e8&gk6f{^Y0A4^QL8lz-qOGa&92yF$k?WL=Z|FiHkrNMA&75Kr~6{ z>`bg~bsM>&lFoohvNd~%Vb;i2rd|FKj+-tU+aF*giG?dy(H;D683_*o?EHXylEfc^ zK+`W*Cs782qmp>R5OUtMj1X9@7Ml(R2TDQ)JC8wVRY|}JLTMv$5$Fz1c;EO@(Me}- z@}G%LyJ1tdxIv$0QC&w_vbB)D0@DSpvuu8BouMa%ku%W!Vj9_@3I2>TaOsTg?V2;Y z4TnBII)@IOkUabKq%}|YETpI?v}J*)8(J`2Yl@A5X;wb(4Gdbt^_W@=>PYq+Xi%#Y z*x6(N4?Po|Sq8KrD%X+0E=tO^*pf3iQ+?nJ82~jXvm9re{HMbPde-4$Nm+7Z38`t# zGQ29vC;*0NYi;z^7oI z7#x*m%k~#Ow6N9${Wv;0O2}Z>uWq49*rkocMW9<2OnLCI?zotpc8iTVh+kuL-ua@e zTgmwf=}_MGN@ZCwq`7=g6NvM<9$calRE;}Pew1-7%BdKpc)nLkpnYAzmam<tNR$CTRqp@iEUB0n0n}u5zt|rNvz)|uSc@Kt1>HFkV zP6lp2_xW#Mep+buC)j)RNcEf9IZ)kY=8Mq=-0{ZS>5}N)(X~d_NSTFBSHI%(f9W2o zwfK}*vuJpPGAf|2KTItrGb};AJ#lFvxRV?iC)_&dui1h*{u6?W=sBd_$QD`P$nIPn ztNeYfx|bOiF>DbIg1QOM%v-+k)wkb?0*#Kh6h^lz0WjKpwBGC(A+UmG8Jrs3;200axJp>IEgDWVA_%07 z#6_SBBJ46jAgWR(R>!)17IytqUH*m7zI7LM8yjy$3&|$g{3xT0vOjW$F2Cb4!-qd9 zA~1tkQ3ea=l)zSq!4GGJzzUjWaE_>M;m-M`d%ss)Gv#<2nI{}$XgL=|U%%_h>Z?BK zok<4hTmQ~%_Cv~eJDMl>%BMa=niB3SJ!#Mny7ly7Qd2WO<TjLZbuH&cHzP|t_aw72N3 z=S5+l=P^oMa5N$aw9JOFf+7~Y3y9T8{tsGXsCcQ8wlKp8$0a85xX^A zvkqO1kZj=`mhOU^qKW3=UzZ5Q87i3V{_g%iuss$Y2+)HE=W{ z2&9d~MWB0r=p^jwdifdi`|nfgHms_)vMMnNOd05xfu}z4EyXhRT(-xz6yNLTQifK} zy*vXZB*LM_sjW{2ZuC*g)%noVv(0}q&Ujni2y^{77CCeMSUefs4~B*CY{#3zsLs5u z#4^=1t1*RH#HT}^5rUP5?o|&BlPiNqkkgYl7sdTl-Ch^v_#{*eF|0MhCpVo|*TL?K zrokJM=1C(W0*AML%+Qb`niVsKK*O)b8=s;KNoA=9)fh1_V>w?#e;F}rm4J*8kRKyk z8x0L9B6(L4LjZmd4&qp05$JSNtuzvQetjo51c`wb_Rr-hoFFLa^kNEK)Cmy5%z=@n z%{*~Q80gv%7$+`D)pNe6_!V@xGy+3udUe4NaNe}A2&`6%7lH^FNO=rGt4c4XVq>U> zJ+tPlfepOG?}3z8`*zRjMFT`>)># zp@k)iF18lqK?>6Go}NYW@hhI=7^G{52Q6<}Sc!C4B|%D*iL(wkx!GAAWzE+vvCeb;`JyxbV%}6`Gcg~Nb@XF3h&ncWpIwQhe%a(~nA_}q-7sg3g zmmr07c{AM)ebWcNlvCp^&lb%|s3`;sGdL=-iS%?u1Q=2+BiE^hlF12nCj<1))1QmP>)pG=yA8e1$=AfR@wmwx+`X(PhoqOspXH?c z#iivpzh;#=-Z~`Xj*RX4j2|HR`(S-11}I#@r8 zrk~o`YI%2juOZ+M2ine46P3=E`^-g&tmrba>YD`vGrT5)J}4)p-ck^hSV6N44wQrpc3wdfT62gXlr|C0}7x9gNM+`9peo$jdrArTcXHnD<*#N6=*) z%?g^cq+Zap6G$P9?}a6%En%3PFCGk{595bG4G z-qMS-agbq(g4{xj`~pmD=|!z=Dh$j#xFGP~kIkSJgPSh`PLgKk z+6e@Lsf;oh9F-&+3?cdN2Tuf6&@6)kB_V@d-`E0XBUnK{U>Zc&1tl1qR(NPg65cPK ziB&)MFz{MNyef^n(-cbTXR1%6YhiOl_HjIU{MWM4bcQn@OoBz@HQ{8Sya);|1W=Hrjrt*dr07j|-2NAmDV|Wwk;0F%wZYj$H3wh}QaAnm7$7z(mu6%iS#e-+ zP}zio?06xFaxt<+7E7#%2r#5tMm$}IhHnaBbh=Z5vPyAuQ6;Ebe+*9Q^_{$mcizO` zRg>hVnUrQ%$@*L|Zlf?07!0h27=B`P)wobC6Op0=91{bf=M0)d0IkW7o zJ}I6}2DFJp!i&+y@-ZhbiFhpQ%qMf!@bUgXx|EDrA{6Kc4zzV{GMzO#DC}_|cd!x_ zHBnAS20RXV(am%bj z14ko*K-x%L1iDxUBmBz*foPIYjG0(N)NRt2l1Z|6IrTgfCIrGRgOMZ_uB(?pUw05k z38p=V>$){yguffR)Prt}@8C9*fLY^P z5+Tk!jkEUSlx4XeL|pq~Sut_`$edAQ8`<|Wg|El;GqtH0vv+$%Y+}EhGe9rr;HTL0 zGBDcU7OuWkaY^w@^z7)yis%m8l#hcujjdB|oeg<1D|%y-=0`n6)x<{QV_y66p>Vcy zmfgrE$=0tuSN<aJl(VKgNi1aBTfc$~hKfp}$`BG80V4!f934tR2D@;XfRiF4OoBk#NL&QE zAi^#a1fnWsV&&KERfrnc^-_h#BrPe{L%9DV<~1wLVyHWC+s?!!+!_*;xyIpezew~gqIy{RsbJe=-p z=7ac{=iDR}%m4*j8;whDoX8=yPg7_1o*b2-oubXfrpKa?6~k1oA-AP6i;de_{#hoD zuQ;^~mw}r)RJ;5-Jn-DrN4>XQZrV4^lf-e`qoCmb&))lmTDN8SLHnFK_tv>L7jvq- zef?qzdQ@2nUnvzYg4+F**`-O^4(K%mjTp!dCPC4M3wet#qspSKhE}hCz{UqThC;f1 z2-il7U>-aMln4OLjZK7iG(GF^Z^KKn zL)I5a$;0}8S!3_;y}uRvSsr-j_eL+>LxmKsKkgBP|H2jczFR-J2m?SrYM8hC&sk*i z=j~lGs&a?@JKnOI-NeTR5E5dsj((Cn=DSUV(dPAhBiAS&gB$O1gePiju59@9jtj%U zBIw(A;+f4Zk%VY1ZMyqy=eGE>QbSRV$@Nt50Qv77V%%?SE^$r;e>>p>9}lNG5}Ngl z0nk+;xHLJQS`a`2YB%i@8$6y70QDp`1hFu}p^*eo*BZGN%-gwC!-!XreuW^r7~!Co z{JYNdl6iYK&6j-PlFo%JxsLzNA#R_y-ve(kff7a>WB7A5MZpADF;cK2NG#zna}Y*b zi~y=9u_1`Pc%z;jxa))sr$zaHt6|+5VXXLubpk?pZ~p&rwfilWDW#3?dFScVzwO+}oA<#sNjfMuq<)AI#~6NH6@u%zPGt)MNI>CL zKW`r%&j^5e5*vb87~#-J0;p?^TnEnE@g1>#%Y3X=zd~aq0i%_?ZMxsiFPv}<|GPp0 zv3_m6A826S4j=n>>*9$Eyt|Hh5+G{EaO$cMTrPV8YO05ElG$+L839mFVnYxcR#RZ{ z`W6?lX6`;%E!gp~;}7>aDDX|ZYJ1t=bKcGue=hU)6S!AT!Fv`8cy~6n$OmFnJlFErQDrl6Z6`VMi1PbZV7`(EKA|Lelx!HN8OdK# zV*pSG;fc+qLlCoH=wn3X$lu+o3}Irh>Ge(G8Ui86w=Zk#5>B8{m4l;h57+9&x2|Z> zWtExVbLvtH<|=1)ep1t%0JGUg%@a`5oDa7ke9t#G`nQD&cL zGXSS*DqIC56If3^zjo@fHMS`8_=EgE8bvh)S3?WJRGB6@kM(3*)!eQu&q|BIfwp1mEbFTB^B(72l0owunPZadw1Ylp%!zFF5n z9ld8V@fa=E*Ay87Xw|mjwYW%G4GLUeCqbON@FzLh;BR5vZg`V$GJO)l^Q!UHKdq#l z*d>$^u9oc1+s*rTQ#Ja>oShb~rTROm8|nOc`w>;@+9~)(RJnW7sp&TGsgz)Aj{0;t zau5)cfC(oB8wRTOQBCubOT8>0NBUP|`@TW?^LC+h{=7Aa$ryhc_7P9mc=j?CIKO!- zH|(%iq5v)K)1S8q-1~nNU3|Y?+)5evBHm>QJ=x2ZVu?|?B3O1Z>N^9e{dW!k{`>98JbR=>-#9HamjE z5)RYlVVq<(oOnh6)RWi{#KH)NMiM|>YvkI0-qIk|$5H^J2uKC(TpKmLpLZ#tgmAUw z)_MC>jm^c#GS+d|Ja2FGx`aw~3`vm4GX`L+<{1~kWwRqlEa7nCd5aP*#GvO9t>u2Z zpd4jdC>S<|~zujH?Xcl^%B4J~T<*=O+T zH7lJB^LEKA>HgI7mTeukwktemr$9Mfr}Aza=Iw;t@85>|?UEP7enng~dR%8;bPtCY zuTPRYf8Od7-Ye*?VcvQimY*!g3mTUm|I($jBefpg{CPY41bN@O+CP`=%lu04H1s(f zamShMn=<^xb_oVtYvkH*AMEBcmaz_M zTHo4Spi&EF*`WFsyq+-tx+(;h#r_y1fCSX+Vh~1Ki~y=9u_1_s5e|(cfVyUL;THr5 z@e@RzGR}1kCt)hDCX-pTei&Wt4 zC00!_Z!ht(y|kKtaqosYy^-u)M+B^?09I4IY=t}B{0~U3K-#O{;O(WrA=6<036q-J z*hS*EeJVC?o>UOKF5W#^`+4)6OOUUCL! z-bGPkhi^Dcz|FQ^FjzGbugxw_0EUwBHMa>TQxZI{8cQJV=ko8fBr~oO0({j(1_D5p z!*nn_u8A59kg5t1Txwc|2SH*9he;>KNoK=I)r6b?s3)-@h=majjU<3p4HvADt9{-c zvVZ$l3d)+!DibHkLoNBUu|W8ByWj9$-vc#nU*EfHmn46EhLCes@D!>#7$L4n6%3HB z3c+QwBSE7-jj~=@=*mF27C5qXLUS{m(XEZ z(cSZfM9b>r$M0^a1g9O}p3}^~04JU|yS?qSxzAG?z{3&E;1VZ!7#keT{WfxqGm4QB z7l-gfjjdFM7}soe2_=NeA#hXtU-5(ym5bpS>u9_05+bfPJa7Kdp_ACaMfE7KmrOc5%j|Hcw)neX9Pe!i4ECo2H)eckp%f%YvgL5x3~5y$}I)}{R)kD zCIUh$`F5C-@YZa8;YP0X3kXxM?bvyZHf;!Qt*#+#*TK6<@b`;7`{DP2P*q6;*Dm|K z1py?WcGEtw!Q&YLP)}k*5WBkJZvY?Dpk3AEPb+t`cfFV&uDBQVLc`Cs_cFY& zKiw;0Pw>5uZ&^$DEP*&z1sd+vsZZ_K>1S->6TejL!ot(4fPV>-w~%N}rQt{$Tw|;o zu@slqDDb6m9D9B1&dP>+=HhEWOC!Ca(o*7eUcG{6gm0gnuX%dECfP1m!hG#z?`=-HpU}0p zUYZ5(puqHQ-$M@aNw+>E5a*!)_bLPLX?x!tsaG|^%MIM)5~%_CS|H=1^?2>R@1!Ef ze~6nO*LnL=q{l^MEo|>s!V_6~da6IWIqf=O|5v%*#)}`NjvX%K?)mEGj_sZi^~w^i zOy>#ZFBHk6IKa;b#MVQvo^H5QNAB=5pVJp%=XZy9Z@BTcx5yIBL|=5J4Yd;gm&F(ZA18G1gB`|~NKOC{Webt1*8 zZf|Rtx3Va2qs7nFTljX^?r6_|o!EG~mID9R@7L|CX{}5O&$KvDT&EkV>+$=)zuEkW z(-jw)9~Jmzcis-4TbIb?ZdJ%9vL(DNG5ai0%Fotm`Bd4I4hRI(`0pIS@DwB%aBYu* zgp0vfB*BDE7|oT=Mi}lP$eXuc-P~W>?7~8zQcH%zvtg~sK$%JS`L+Eb0be(E>e?;% zZqkXtdE?Dn!F+!J%7O4?mrEHb*%9#U@-Rkn`#AB804UPVlGqT$UcUXm&Sm=Q@N!(% zXSdHUAGq}-7hwVJ96@A#8+LL9$iLs7yvA7p4J+qaO!EN6ylvL%bik|s+qq0%eXNZa zl*rxY*EhXtzV`^go9|%iogeS5b8A^A%%ftYg97vKfqF{ftrPy#?Vo!B@AvG7jqv@a zw;S<;#?%TdIWOe;I$^6Y#?bl-w5${K`%*(K?(|9n$>Xts?6E3aYORcwIKVe*t zNQd69Yd;f#pPjFFx@RH#C3Y50vwg6x#q3x5erN_xNqlQNTdK~EhH2?TPCKdj^WpC z05FZDS4Q2>>KfBYobC`Q-E{&Z)Y5#5v=#QD1t7GG@fZtl%}8D-3;^mNJh8cS2x9gN zeT=9a`MZ0SAxsQ5y}n6Y{d3t6^mqV;Wnb3VC5RBHDhEg197azL5**V6!CiI_4u&&?80dDAg1#6kHORdn+98YLwY0!~<}u zrovS~GJ*Bv^J}LrTVsndkE6(|8hTweirPm z6W-23)*HBAkE&!!xR)$6cYS;61?>U7EtF*aFud0sWbVAZtI>1K>HCro>46yEtPN^+ z-X5&^nM^!}0QEIRh5%Z%t#})`Xe83tNe~A&?*tU#P>f7L?!0CBUkovK85Fb1o;hwL z$=y?0gjDVQyQ>7iR1M=~mLy@cfMB3%A5l>->e`V*p5KU{Kv6i5#GSXF^0R7+g2m~z z0K_b9))?NZeY7cht8o>T<=IeWzYwQ8Z};wl_l`JD0Is2L0o$T=IsE~H78K0X>*VOk~~g5Z&AXd zDRacFr$EE{cD-arWJ-&3#k^fC-O7P)DtsrNw|KKXGdpPBZqKZl7h6updE0Rx!oM8L zUl88BZCYLX1qR|E1>AX?7SlIe;AOL`?+e14x5J0v#iE=;Ae}=I2iD-u+r|88apY+O z-FbW3@>a-B1IKWz?|fv)5a1mexz2qb>~`qdYj(EDa{Llbru{<3 z$*b81BQ!hdkZ@AyP;B$T>slk%D)Y8!AFOBrX%l)tmtus2S~47t(FaTB?OTU+a1)MZ zU8;jO8~Lx{ek&+z&z#`0*dK!gkbu&s2|S(=0QDp`1hE%y%NCfcwVhUD3ZnfKxZe*R z=ujXO*hhhePxt%K1vV786b11A&aG>_E?uy_C*a<%V+Rlc6aErZ zJXfVO9So0aq6Pz`szL;pnwH@~kXXWD;Xas<6T<6BYzSgughL|_|h8<#J# ztsB?f2Y9`%4xpBgR&+@C!LdDiTU^|sZ;*=`w68a7tZy5xJ$abq0S@uMi1n>BK@b7W*t<;` z0;p?^T;m%!gHPR)$r~+|%G~dO#2&28E>4n%-u}khzuihCmI^G7N|G7GUAjC7AIZb0 z%W^P6T8shGRUx?QS5N>6DBPoFy}{uc0Z~t4Lq@$T0x{@|_ApR2T#`Ks5;TLaNHTl< z(`%#A~yQ69Bzrciyr@&M%y_pYUtQNghkDt#A;+<=@!^}1b>f1ZmA&m)&3!NKgbUWoPP+pm zKT+w`Sn!@+fi#pb-rY`LPE-&IG%3JMr~s{{fcueSNg|qp@{?&`Sc&Bm?a4euLoFNQ zWnr7mr(WRIW-+%%JuOjnT)(tA-z!`vq}=@U9mUaFKo z180`ip70OqH!md-wjcc4?MA+vwVQRMZmM~~MO1jl-+l+#Z2yUYN1KEvP5H1l(#SPV zaRzshWLC#i8O^s|5L`9+oxMAoT|x=rYRPa^jYKnbA8aakzE^Z3F}@{%5MX9qs)G^Y znuIbyx+(;h&5j_kgu}9ZFocpkoFp~`u_)d~@Q8SVV8FF{*M#^9B2O9Tx`vZ5Z)P(& z2O+p>2({V8NeG|nNjRC(;(66bnD?BwkLjwc;!IKy0c6&tIv61>#sI0RYzZ!#9YJCV zhe;>KNoK=|X9Pe!i4ECo#5dLfp7S+AX^Sg`K9^?F>}j@H`4W_(S&{RR8RWtSezdvj zHgRdVEw9Ns0HfMb=FXzv#s^FKRS`LVEfSunv1C_vkD$6;RoEqx5Ur*i_PF4+?W))ZyC)!3E`}#}`N5BV?|a{? zZ5Z6#)#|DyK_br>fLzUP!Ax-Nj?A~a1dxEj3va#+2#;q3Ks|{KK`er81OrjDhXL32 zC`h;%d_|JkES_*pJBhh10o!&0XGp=WpJ4l@lUVF4MvA zv={@Ft0|HYT*b(2dI}%`HFFR~TZ{mzC$S-jeGS$!`;M%`)gSr#2j9oM345gqP|v=* z&G`4|!w-KEw=2uWHI(I!@rzL);caDZSGB7@hwnAQE}FJ3L<79t{Mnm-VtAj{yfOAt z6sZ0GiQc+q55md4U?te^(VvsD`!EI<>)=W?VaE?@sr(b#We<94WH_42Geur z2m0A{_J99>zTW(}_D)gr>69yt@=83tX{g&8u6N~+{P%vE+oh9$`)TvZFMR(Wtd{lQ z_x0Kl1OXa1C7QHq%VtNASi)ht ztuRh98%{hU0P0C>2x5nH!;?776yWh4Vdgk|;O36w*Ao`YNHK3~+HuWk`fwZZ><2${ z|65UjHh{h zQeSpFMH$b&Gv{JwIi#(Vu6LI|Z#IN%T4m&3{clU;^A+Y3yEs`MYWw~=;R`7$A$+F= z{5k~N1tZ<<-Ou0t_}6OpTeKxWy)KNa1wYm?xGM+7l6*~N?>Tj;1+&Wwz{4js%?S{j9W96@9Hz^|IBD0q-Y^E&1uQ_v$t?I_h0Efic5n0qT6 z?`o9U_j6Z&dpN`IMwm zhedqQc)!o!3(I=DFs>!+z6GRVKD+(7>Nhha+)H}dc+c!b@ACHS%}u@%0Pi(@?XE`8 zHD^B`mY8prw;mI3xHQAX%j*-o8V*=bZY8{tiv$YO*GW5d(1w898F>nVqiQTaF2meq zpvKDDK9?cDvG?yb2@to162gDqANUXI%pXxv@U!M6*4DUAEZ$G$VHM1^v{Mi=s279b zaZTQ77$Cca=hy35Iyb|~01skzg0OlIE|8s0{>iI9Q~iCgPHBTS6gWtMf9N;T z*A60x;1{nz?YDPN)I5K2bLafVJKl%GY6=jX_Hw0Ih17VmuaRrqd0@m9NoK3-L)P0P z`_~Cirpi9U307-jgu~=WIN4ps;k;sLwsbbQ7$j4diT|U&{z1aXr~#fnH^P8fm+D}I zv={?4RZ}J*xNLR=i6tB+ofs#X4JV!v0QDp`1hFu}p^*eo*BZHY=56IKeGW^}*-T~> zF>2`6bDK4tRVJ~7_?e@51q>jA!cH=WY<_if^9RP)4Pq6$Ck&c(sSZX+i!nfY!33Ah zjv%pw!-?lDN;t8NYFJf}3SVPYJ%54OwBF^KS*Aw1!~@)y4M3-!-s_XAMn0)y&ccv_4B%GDHH1XnRKT?K|`eAy>FpE(Gl zEk*#8CF2T>@6&{S)ROUg4X!Pjx3u|3>0$V@4wc(AA+=hU z>0o$Ti~+jzdE3(HC1b|d#~HOynXOZmG(CxbU#kKQv*fi(6Mc78fDU3mzx!=VJ57s} z7NY$yydON!O$x-Vvq`1^oreN>i#hFIPtU2oXF2U~-oMY4BDO2>1Wi?ep0l!=cyjhy zgz%Ig{ z#-0Fn_rUF>o= zR71e}?T?)UtXmQef=lHx9So0a^*l$PC8-k15&$hjUIQun^cjxeRq?JxcyGN zW_UlkJ}3aE;{yxp+1r7odEu8)x;JgTE)VkaEIR(s^GuTU2HLLm5nuAOyf=55 zz{|Ov$ekCqTZKb4b01OsS#AvM^rrexGB|E79WS@{#UyPnB)wiQmNpytuY;uyoSE{( z^JcZ)2pyprT&5(Cy#K^F!ON5Iq`BW27gnPTih^sL6}lqj4v_5 z^I6HwcR2tV6n2t11bEK~0JARD!3b$F21qTK2`-x*L1GDq>GCj6G8;}jBLM12YzSgu zghL|Nh4{+0FX%nDhB;ol~Pr}KR_VIVtF;cPl zq*S>W6k{EC8^W1m1i#8h0yDx|bT+?2Lzl?lB>)PAmzQ&u_;`qG-y(>JfM)u}y z37{6x9K-XWXCvv^`KqU$Vyh;blco94YaH?JiD#%u^V<0gYmbs%f&x3YE^6qy;H^E&t2@t5jAhU=7&dfIVdoD`c97^oUT8@a}5!Qd;B%<8CA zhTy6R*+(|Jgc8EllHF}q;!gWuNlGGl=yjP6hQ~GOl>yRKA-GgI7#;+PB^>l=0#D77 zI0=Ay5*vb8)L|odL_9$-;MyJq2^WJ;*KiW%&1@#;AOyQ+vr8x;TrGL#zu?@gz?OCu&`$gW+j01}Imvn`BFH?T*Z+rvMUA)8%2DWHy|5MgY{4*bu}H z>4qoge4z6!j&bqUx0~_JXnkgfksW`y&tC!e8q(4pyst`0H&>^cxJz4#xJCt1pF7=d zcD(mh?YiIWau?Ut!oqpp3iO}5)&9GszZt%!2fuC{w!Q4eC-eYY2+HO zIfFCrqNuS1XaWwG6ElhB(Y_aAvkMD>N=!#ISwm?Kg$z_WQr{8()0QAe@E?Pt>|h z2gB2143Mrl!KJ2Ucn~C(a5&+-MfxyPfgkcAe||xw9WMO!w}1SfeeS&?)bJP#1v~}# zW^?t=P!+{hukHN#Klo?9Z+pYDNC93H^#X&^=DlA}wZ85?t$A(Vul(iPkN&Fd4$sR_ zAb$_kvD^9h`g>UFnKpj3H2sEy=%4!PZGzJzV0cep+Y{t`u_@^^o$>8QoByfDD)jd1 zKYZ`+{0p_F?o!R$(Z?ORgZelM@P;>ktTe@h7a=Jos6e-TeA>;%6mrRiXJT8sh8Gp$HMa1|r7=_!B& z)XYH`Z7~9T$Sz3iJ^?zgvp^26U0_S*dx-V+#~Am`GQ zL#_I1XSRfKb9_e-ja)R6&5{g`o#oG)&GV6`#ns4R|MO#U*^5wdGGeuoGS&C?Vhfjq6|fZxCl0N%st=R@V@uJ5Yyb{IRfF1#fF$uP5 z!PxithCJTMV}q}-z;Bjh2nOpW@r_(a2b(3C*D)WNf*vVqNBP6FMGFO&1m@lf$GaM3 z_Wj(Iq0^jeDtJhj39Kg)U$4v7*rLqiEZ4iJrr@fioq~j^GEH(G>&dp-+mxhIhedqQ zxcv$FAll`@v^-R<&!4Y;yXgH=?!Ws7fA`I53LI|YHL&}nio zJg&*gjRDd%FSvAwo8i?1?tiI^1pKf6iBB=j_p-D5lh}Jzzb2U1Bzu8eY4goLMqT>) zz5o6FU&kFQEEHH@fwcKi!>@xa$@`mM`&M;*`}jt>g!%Qv5L&gDE5#C{NtH&fBkkWx z$wdprexNuBJ*g$jGVI^||Gdv-)m5#vj@eMz&r=xSQ|nFTXEEp`u( zt_s1W%E9m;NG#zn)x$W+Y&h|Z0H`OiA&7+$4vi#$y4J|G#=P}r)nlz$(^+NWCtzj{ zOh@?>tDpaA?|-{pGH+?~D?k4C{w8u(jNsd;Yt4Df;MP?kxOUPi(^CKms1wgylyKfg zrzuY^Ed679e|&1F^=|XiU;p%1t3a-L`#DdQw_iuEk@@CVsZZPg>z}^+Tf_aNb3>*crp@)sQ{y5*n$ z2X6n(vz)gbx(&+XEAU%Cx6k)Qx7YXP_x`27Qbpr4Pne+q8RO?Rtk>E9((>kqe{9fV z^;PJ<_dZsE%MZLf^mvgpq#BO(osSF|0=z>b*Ma+BY1&Kl%CUBQ#(AH6 zLp=#(a6E1!eCy_)$3V@N?1ODKf8)>bx14nXA*(8->0o$Ti~+jzeK0~3sz3}+(H;g| zYvej`-ac0576U-h0)EV&FzV0S`wf2^Nc+bF&TrE^y#^RGQyp(Nf8($HZ-020xAy&( z5TQzGIvAc7V}Pb=$|MArnwH@~kXXWDdVMoaG8;}jBLM12YzSh*Dhk+hsuC2gP~a6S zz^}OX7t=avouu)7Uh`f4SUOP)e4@OOHWUa2&P0Jz{k+U;KkWeW?=g&@Ty|XhKjr;H zR*KlJ#M70AyRrv)D9}>@0(s-6gj)wbgEw-u?}H7y^9i|UTQ3-_8i_aW(ab6nCjffM za8!*qT>rnyl!B?sI61G<72)};;OVxmIv63Yi5d)$stOTYHamjE5)QMAK^S#S$O)i& z5*vb87~#-J0%+B+JKD(AK5vKp(}cV;sW4czx8hZ=(7+{5LbzJ;c#YuK?OukL{M_MF zo$hHgNj-#9wJy`a@VHk0b1{T?H7&z)_`I$6mXi>&sdd0HGa%2-=d4TNbRLe9^k_KbYbDK1VSygjTY+=D-*)SnM`nClT-SQulj44>T&wjjp^{{uq2({6wDJCLVcMsV zU97iYPrKl?pZ9!CG}O96Z#1MCj%Ws#ILTwa+e8>`?zfR^oKXyJ+ye+t)L61BLyT)S zyMz+LwX|(Be#t%jcznQ<5;+VgyhhavabS^1H8{=85mDOf&CR|m|hJx zFWx_~EFJs5aW#~_pz@=Iq@!iJv_!Y#hY-8&+YQ;y>{&1cZ^!?kICI34z6vb3Mtuu9 z%k`~yBTqdwIq`jVmEJy(c}5Tk&Dgt583L$lja=i5V(_VZGI^t=Qkh#!on5>HgjzBj zRojYp-+i#RRmRczApa7c@7DD`?g`V3-*sf27$Ggj0{TeToDgrbpUpm)B2cMA(H@$r z8YW}CYeM`4k*AFFBFXIabI819sO+I8^cV4z&P+1xQey5bh)G~Ttxj*_IgXsk`U7%gPoiQ|1Kyk_<$oCX&&+9*Yknhsbd(U({^s?+0xxyV_ zmu~OpYxP3N3^LIwC7fW1hIqCuB_sRoj0HPtB4z34l?Kl;rvC#I@s4lE7Ov;bZ`GRS2#zt-_8Vv4q1^ z591`W;iP6soCH8Ui48$4(%A?e5l;{dxVA?@!o}drU8}Kg>}h~t*KBqPC4{SK;iwwP z3rc@|+XYjVadalBc$nN~U8;jyxPcjfsw!K8-)2XUSi)i1yhSA8P)}k*5Ianm;Yl18 zD1a+BTEq81U^2Jb4s&Zr;6i~x0e7C!GoiRR$NfY%`amDgqiJ)s%_s3B6lhie?}t3T zDcV6l_`L8@ac1vExG#u!8!VKJla&>?zVfGFnX>i$|LU)oad8$3G%N7#_v`kv4Y%ax zWChT@(--JC2?cf(_>ntrc?Z4EQ+w$X50RN7+zD>Qlh&6$u?7icE&F+5d+poQ5 zS=Z{FK-9P?(Uh~1Ykae0aO!(9(?-jw_QC$1cfXa&XZv6+Qle$g2mn<|)4}kx7z3nh zPH?Gd8J;uR2P4!|uQWpdb*+)>?B{LM{dUp3{idtoW<$WJQko8ir^Of`Ou@H!QY4|- z$aME$c+O?sj&-1)Yo6(>YI1;@?gR#JshIy=hq|*x?mVs9q5#Tn8%9v`$!* z1MkdXhbq7zz%79Aq*(1}Ya4)U`;NF8x#;mn+{Vwjcj|aksm!iq^!!-<9T%au^UB1@ z0IDUs>x3^vu7vO%o$hq50)l#~Mpv6_2I6Lul;#IVzFzp>+%|#}Lmi$m{-oKp;H8Qw zN#@#C)30@P;5Y!FL0O!Y8M@-)Fo z)xNCt#t6+^Y8?~#1HAY?kcF|XrbVez}#Emcvqv$J|P}}Q#BQ?0+I==C!b$Cb=ewQlzE)xdKc9cTn#M< zQ)QauJl2zKRdc(tJS#2YgT}|Z=s_H-2Gepj_vgI#%em{33HOp-Hr_LP(Yw4odvlYo z1i*XE35~0{-Fcg;;oY1u@djxb$DK9BUAfM`6K{q9TD7fscevzNoMj-%!(I;Q>m5euQA4Y9G;) z<^*KXyqsGaCxGkrskkTk7|?=CM!b)fh$-qR*x;?2tlZd7B9Ld5<=Fs_Vyuk4yrG6J z{dw!j(vZZX2!ANBrviu1+dUHoJQP?#fta@|h}eySz-%v9ip5V;5sh3=%S&q=GcB8* z*16LNqYzZqWJL>kl>{y^!a*&0(=ud}&F%p>sZw$gKsGyq#1anE2#4vg@AL7~hMre;#{Hu1x89wJXYH>wfIp|x%e=07<(+uX@_u`Ew~3xFB$_V8zW=^; z0+QoD$bI5@vs!Ni71SLEh6gWC!jtBH8@a|A#o#WIz>zRIZ4e%^4+b8aU7Q4jS~482 z;l9W~*-0h{WeD(|5ddags)G^IVhm8Orr;vDijnCmFgyqnOE}CNgwYlwfa*zX2x4J` zLn8^Gt~GMC&)eJCOlA}@YUtIIuJtPf*~JJ4wPZM4nOjb=iDP#_ct1ww(&3cRTGt)~@vfTjMlG_WP^ zMXYb72|}}I#@=np5I|jP(`%#A~yQ6M$S#!bwhx zlbW$O`^;O>hmd*FDarZOZe2T$r-B(Fu8A59kgf{BWwRqlEa5QK!#K%oIH{VD69Dxj zHUzP&8-8#6tn6*aYVLb+CtTBBcA7u*n7irPTh0*Q-Sfr*7+1i9ZTVE z+&$L`;}W%7?H+N@-n`u54+T!D0Ii%o?zgK5+Vh_DGVZsxn_=ogD9pJe4`YL)NlWaF zG;)nooRKl_qNuS(WlbN9k!51PnX!wLrx$zkQQTr)PlDJm(7kKv4q2<6XPVa;lwin zpq|8rAa+PMJc&an5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0__SAppBanO{|Sv2k+mG zdoq4a0KNrmR+)^E>cHMrlg&4|W=ZCd7G?rSdoBtOW*9uES*&00E>*X*w957Gr>NHANDFs~DM0PXQ#LW)8w=ixEKeBsK)G zVWB`M5DJ6>p+G1Q3S71V=lVTRm#wN={Z<`~!B8L+2n9lcSF8Y`_r^_$CYc(!j=O)W zcPahojz#;oU$?nfGCl1);lwinK$X&TFgz{B0A2b%7@-MOAcm)C4+E|>a=pBHTX_vI zRLfGj5({cX<%sc~3NXm^)y`}Q&i6N8-uu*a4B8P9t3LesB0_(}vtIO8dqRitg*Sn~u z;Ht`uNxR>;@@t)a>-sSDt zo11(k!1!jp65HN1ym!Po1jNJ}uEKEf>T8M&aWC6e5RF_klIiOtyejkBW`GtW*RsaC z8wsla;B8TW*9_FGG8xkyNj$#2KP>g0J|!|jo+V+aRIKO{167mN4Fm9uYe+W)>JB7v zO;$H$H3b(Vz8J|@VQK-0XBT7VvoE|=tM@h~VQ}bmRN2EB3WNfoKqwFjgaV#5mD4nnYNHoJrp!qt-Da1Cp02Fgw{hXC&x0btgpIv61> z#sKLB6I?bsg2WOI`brcY&j^5e5*vb87~#-J0;p?^TrqE}N)o)Pl%|8>X)y-q(&ueU zqk#zpLV-{q6nG5^#Qzt0w5z;5TBb;J?h1^bWzN0Ks4o-<1$rt#J;{SR6zHS?4ZOoq z-Ed*}i|rB&xYo!uew8nSuShc6t$q4Eh1r&&TTGo@yl;U}ONPU>`R1(3#URREx~u{q zfK)Ei!SJ*g1C*;Nk`P?Qh^Bc0YUUt}wip3aPhvw53nLsFNdR@Nkt_CZt4b2Qs+6XK z;b}1j=+ftHOQV4a1ww&PAQT7%LV-{q6bJ=EfwdHfpO>wrq|38)5oZA4GpHd-2nCiY zKnPPeTo|5Wy95JO!{$~a*Kzj2ND3-iK-wgaVf#`3Av{-0hNEgM-ah-cQV$`uS(oZy zgt#VZFhII01eeW@AhCqQ!u?wzCxq9N*bv0R2!}=zK&yryCNy##XWqV*g7hl{*~JJ4 zwPZM|b}!y8^EOF6gw$qTs)G^Yn)Rn}9w#Fq-ey01-qw3#q_?jZ)D8;;LV-{q6u4jo z#y9`->3}+x!ri#>M%~NCxB6c6E^p7?+~ffW1zwT@alc*VYWBP*#r;;fMB|5a#dD&e zo-ZWo)l=$44BnoviH5pU1IB^S;2(}?2A4R=!`PT>?zfR^oKcL7&d!Hj8G>E2*(H<^ zu9ggkYhCuikd<&S>rx$zkQQTrbX5p0n|-`lC!lbTnzs*+X9Pe!i47U0+1Lmc_Od+; zxVA?@!o}dzHJpTb6Y~}#O>*G5tuefwF#xLOTY}4GKZ|*b5?40-4dAmf{MqSV_O2K4 z113%{!(T=|p>^$TabLJ6oRy8MkuEh+7gixny@cWS@{Boqh*LV-{q6bJ=E zf%8!y*0*b1i?jxb#qko>w;#wnBQ%I+?A@je0o1iduJIESgHPR)dD{4~D|3sfvx}F2 zP)mlxwfP37%EchcUAn9SAb?aZ)4}kx7z326DUuLe#RzUiMVE4(X6<3WNfoKqwFj zoQ(p6N*XsMnu>1ZI?nzrD$aW}v&zItK+GK2mTj^w`?ttUIGA;*4n|0eF+jR11eeWz zF8g4z2iH((hM+0e>Rl7!Cx|>{oa-7+8-$ggh#=TCn_WT);Zr>cCpj%nJd1hz>*y2n9lcP#_ct1ww(dRUp0x>S&i{d$dfEC=>_ z*|;gu)KVi??B7<^BzRRRO$Wo%VhoVJ+eC1wX&D{_i6tDS{X)h`X2XeR1VBBB4M8l7 zaA+g})U`&gJ?HIb$UBqDEe3$B>8vtw5)d;-^G0Fp-)l212r<3Qi zMJoZZ6Z-~iH!^ZJ`%MMJ*6qjQwilt|WW?uscG6Jt+d@c|EiX6Tnk9YFe;43Wf#U2@g!MaI&BNx)a zW=ZCC%txl6M~d3K)ITNi{L6oW(!UMB%o#v!f1;T zK=mXx1hFu}p^*eo*BZH2nYV5+0O(f;vWpQ8YRPc87V~z)5GiZyDkcB|NY$L-$y_P~ zh_F!LLKVObBP4hi4S|=sD=Pnxfq^Y z2TnXA08}p1!SJ*g1C*;Nk`P?Q$aEDL9t4Rc9A*x}Xp0d*^&~a~v0N@v#I^dLiy_3@?2u9{;jnDp)_Y?R+t&+fhlK*6KqwFjT(AP;oB#QA zKpjirZrpgI?q%a!eJ^^Kw`Xr|@|O-c^~F7+zUhd$&NfxtZ&$fAJ?}}Ueo6N1ZL#?H zjCoep^MypcI!(QZ!F%F)vqEo#Ha5c%%@jLC`u+~^t~GLvGm63I?0ndjxy97k#Y;e_ zCBxyGu9ICbxr`%V0Gf5F4sPWhfV$>(+8iWVk~|jfgCUY|uv^e8o3`D?@V!Wo&$T@Y z5-tW`z0x=KG(fOxHoJrp!nKlr5f0a0*u32mI@aWPx=;d0Kur^gagsI0iDv{rJ&6rL z?COTU0en`5KReya-t{7Wz%}h<_{+#Aw6%I$S0cOy&&qJC?q$@AIQ1e1@46R!?@H6& z5z7O5Ui^Kk;(fq@4Fy7hP#_ct1ww%{Qy|v2Yg~}D28qS-64tjL$UGx7h-U2FrVIhp zwMMRS(ahk>yC`aGr82je89RQ{GGTOli4mUbY2oqgh3$iF2o0-pFg&w z&j^5e5*xC4+>vXkG?O4-)i4?NC`ix@zJBwTs_fzfKrb1Ns`Fcw7^$86aJAf~($w01{9O=WVq&2C-h*ln#j14R^D%vbPtC3zSd98Fqcv!an}oZ^g(&d!Hj8G@^ZP@7$xgmATF zII2eC?XnM+gc#&@U24IM5Z5G>0n$|=xNLR=i6tDSjVZ=SX2VI%k~j%~dJ-FgSfsNN zJR+VT7;tTmf`p5~m%CPDPxJe?sLQu5^A>3d2UQN!!SJ*g1EgxcCAieI3=e|D5)RAe zEg}hrdJ-ElgpYNACoB}W3C=d#S0--=C5DJ6>p+G3`Oo1!H zK;xzapsqD?9cTX*)v7x_!#0jM2?(`hI9z*S`(PD07+RdgKA6-YA8rWss27gmDK0t& zJWGvSXEbm1lD$R;f6UtrLx?<0234E`!N12eNx)Cr#hb^37zzsoLV-{q6bJ=u1@J}_ z77CoL0`WaiN4qrJqh*Rjp+G1Q3WNd|q5z@J#!ZQ)mKwRvXdg^(zp2^S2Rr^g*yDvE z{L?ts9wVG%BUjAZs*VJ&Dy8XQcv_4B$~&$_5`wE3nf6T?9t4Rc9A*x}Xp0d*^&~a~ zu~Qwx^EiY87oh-cJ{(^^7g25$843&vQ0Nc}T&@C)()HEO&JyOfZB6kV`9B3+uAOv} zdMC+_V`usEWDgz5#O z4$t^wL0AQEAxDiJQo_`W!Gp^=IK5ew?fiecj|m9>*ku#~Jw{ZH{M}}*BYiIWN$n~~ zCxmX)_Ti}8Pp>O4iG*1FD%4rU`{jF1U24JX@&fSiNo{TtAT~Q@gIL0$M{f+`V#;Bf zB#ch!@ErDlD)D_HpUZ>4B8P9t3LesB0_(}vtIO8dqRitg*Sn~u;Ht`uNxR>;@@t)a>-sSDto11(k0B-&#G(KVO z<*8%h4cZMCufC?p5LfK2AR4)7B%2m4jB`Df;KJ*4XSI`twIv)?<15--gz|;}pSa{H z<6KV*Pu1Rkw)SHCGhWeUl@v}{-3V8uF1_HU+kmWY@?vqGWInQ^Iof-)Nx+2DHG3<# z^e!JOh+`-a3WNfoKqwFjgaVcV1c$v`DV7)(M={>WHSRnxVv8j6_0()62O-!sn_WT) z;cCfnxQ6u}17#GQUw(ZGZPp+G1Q3cLmd;{S_0+Ev~jEmI_N6~HPn zEEEU@LV-{q6bJ>DC_o5OH(VH=V!H$bt~GMSK3G*rf>)K&bTB+E#sC!;Ht&!VTxwc| zC-!fLUy%_dvK%BQx?;P(P4oDh9XSXwuIX0@+vZ|~gL zLV-{q6xdUN_<7l$f-Q${mxo4VC=d$x3J@TTn-VS?_5mBYjr$EyhQ~Egg8|Z2A-L*SPyh+2h5KOD-WbGsWm7sJV1z@x(hLE#Y9ETXk?T0~ z_N^3T>mW{&hh8!qRl65&mwB5+LPBa)O4GscxK{sDID~jLEyDvT#S#wFL}Hv|jd4=5 zdT)%-%%#>*BM)CF5DJ6>p}?6dFuwVpPnFcM6z;~2H^^Q#zSZ}lcX@mE<|Yq7DDaXL zi2Lm-SF`6mDekw*CBkRSv$CEqBO~CRp0A09x>EzD2|_@j8C>Ed4`YL)x!*>v zaYivRIy)bLeg@oZ>ji_Z+3XTZ2vK)Nafm(4!jtP@bP zi$NG|F#@Qb#D*XiMmRK*0P0#JSNptuW51%@VgS&u(D>FsK&U0d;o1wEw_8HTsvHc@ z8O>Xivzp;=0H2lN&rbKUcfE)oFmZYr{xb3jZLQwcm1w+)oluu&smHtev(a@RKaL`#xBuGPf82Vjt|8Ol+${aMiD%01{BRN6ohZ;qip1h4q@Z5&mW6wM;TqbPxVi}k0ikl44u;1yQG)@}RUx?4vUx?V?XKH+p&A`^R1vZK0<|s0-6Hd?zdX9 zmN9ApEyVD`I6tiCJ!yqIfZsp`u~u({93aD-OY$%_IGXZdv!an}oZ^g(&d!Hj8G@^Z zP@7$xgmATFII2eC?XnM+gc#&@U24IM5Z5G>0n$|=xNLR=i6tDSjVZ=SX2VI%k~j%~ zdJ-FgSfsNNJR+VT7;tTmf`p5~m%CPDz&#!-;1EKs|{K8D{KQ2YA9lfy+>UE~Ct-G86~}LV-{q6bJ=Eflwe62n9lc7p?%I zzs608CMg=ZjTx;ZteXy#M1g|Qk>0o$Ti~%Yx zEG|aEDB+-{Wq8hI|5i#N)KjlCLjZNHkt^nHRY`(ZmC|%DJT1lmUG%&iUq3C)1|}3Z z4+UuRVa(g}xD-*v9tzMN*noxtXQlw79(}d5^Q#lL)0(_q{db^gCM7q=Q~Mu z96L+9HyZ+KXXGgeWL5jI1lzy-BB6}%Tu+e%o|=6jr6&N~7M?+Br0`MwOLPUH7mPYQ zXB-9D4M|ATFj{-szaq z0RekJmH0l9&*i~ik;6CS@lGBae1!$R*ds$QST~7ps?e+a8=}(f`q9uO>!RV$+p_t zl%!IJMSRfsco#j0W7S|@^r;B+)H}dc+c!b@ACHS%}u@%05|^=8lN!t^3*Z$ z2JME6S6@?Ph%5G15RF_kl1&R2#l=3?8$6H%S0Oflwe62n9lc zP~bHyKxp1xt`tj*CY>6&jN!0--=C5DFYc z0YVma!-e4~wo5SJ+Qju4koqRy1Q7rORU|2PSg}7k|E&bZD1w>{-$+Y9PH7WPP?;Fv zFmnuP;qff?Z=YR3PcZli2UT;1$C(X)h!GBrB!Ifs$QApyRV4{tRZ7#r@U$2Mq|Xk5 zOHIr0jQ5I!=lU%P9?uAXdJ-Fg*sxIGLKVQY4+{lCflwe62n9lcP~buph@Y1o?ZR!3 zmMId20+xaz)Mmf?zgL4&7Sw9xZf(52%j;} z%6h(#s8^?{7cqEyz9t&#P7RnQ2mys=aEX&V^bHQ|U$mLemD33!gVfpiuq#8bYc{)t z62jGz;c%_XJ{YnR4rX1dgAvkV43Mr0!DX`}NG##7Y#$7fghM@v4M8l7aA+g})U`&g z@lMF#(>0ugc@y&%B29AOxveq0o-qKb=39cxWp+G1Q z3S6=RvA$j7>ZLVEERGkkzLj}KXb{cVyGl&Dnhu7?HBo~B(p4e2)U*r_g2WOIcyFDz4^P#qy)i=d%BFNx@}*Av z-uPMB+m6-T_u@{NIK2#iz2}71wYL-Y6{$mkP#_ct1zHps7p*PO<6x*`8t%s3bDc0Q zQM=Xd5%=uP%N_nu;6*7A_uEx2XU}`mOS#_?l!j2n4$*vrqe)9_Ry1;rQ=BEj+xf67 zLvYm)YVWIvlMt?!3`f;Syt+rx$z5Z5G>0n$|=xNP=u(kGy%jVZ=S zX2VI%k~j%~dJ-FgSfsNNJR+VT7;tTmf`p5~m%CPDz&#!-;1EKs|{KLF|xjcoK(DAQT7%LV-{q6bJ=Eflwe62n9lcP#_ct z1=S4rX1dgAvkV43Mr0!DX|b z%RZRw!8KHxA!y3Ade?;b2_jD!=emZ|24UqVA_#WPW|vSx_*75ANluFs&tl#_yMmrz z@DmQI<_wR0y_#<)pa}~FLV-{q6bJ=Efl%OV6^QSFI@+b#9xYQO3I#%eP#_ez5CsTz zHf~BZwbaNJ`?pm!30_r7)4}kx7z3p5HW6HET80NfVhM+7zmRc~*>K_+0Z>n3Ll6ri z92!Xgb*+&r=519;f>)K&bTB+E#sKA+RwN;~ijmp$6hH!M<{*r=7y(pIVnYx+y?%!0 zaR>!2MS=0Ye<|fgouNP|5DHwh0*vbQ)y`}Q<2L%8b}kypW=X_xy}SH*vl*c3f@tKh z|M{`F>|Y`fCnHvGAD)_hA*Ck(v=(YBxEd*ZRR0oPLFfge4$t^wL0AQEYjR9M$e>;f zhQ~9fw2>8LkpR-K z!WeG<^W}RRg4e7|budC)d-$X_Hwp1JJ7$Ae!l6fR4B}$SVVWe2PU-L*_JAt!eIlRB zgTEq&Z^+}FJT~|W3w*IhhG4L665q&$bg)^Hc^&hSDd>@+cKqmB3k8=1=H3d&yBcNo zeQN16=b8#0(q#hc$=0jO*4U!V<1E*^sHWhm$T0;8Q)QauJl2zKwYMorr4Ebupz-l8 zdJxB|!L%w{Nyg>rif6c&^s@1u*^A!g?b(}~d?f&G{wFj(VeaLrW8w|k4HvJzrWhe< zz*i4j@iuX7HZ&03K05_TsZhIhtpIuhWnz5i_O#fX?CNf@1$ zXN(iqWOc&;>0G9x={6v%o3ffB35(ZAJGB6WdNCLt*Xq4ZNf83GUroS_1I zhBZY=p+G1Q3cOqe2(8)6m12p}q(URtxbwi^ERy7P%(T>*uWEA;f?c!OC6o}ZmJEk$ z_R={ac4~oflIy^UX9R#*m+D}Iv={@Ft0}k$u3}`?f&dawGY4U`#R#B!5*vb87~#-J z0;p?^TrqE}N)o)Pl%|8>X)y-q(&ueUqk#zpLV-{q6nG5^#Qzt0w5z;5TBb`+M3>$` z)E^3j0-=Df0QrzWgaT)$01XulM|H!6;V-sJFyLAvSL}mTl_YpoDNP5%(_#!zabfeG zIl-l-Wq1%ImT-vuTSLQ1nE1IvF;6gO?3o3xXAHol&s(p_@P`7Sz&R*@pUsAa0--=C zaNY`F#Tga~gaR!J#LvrGR9XeIU4^AH33uiX`cR;s0t9M%U!~YCajU>SU?bOY_HRiF zDq6@pmE)QR0KH^5s>b5&^ZU0VAtALYrRiXJToW}IAYB!LOHIr0AV@6XFl|#ZPBI%# zs#fid5t_NwIwo?$6BWVm6eJj^+K1w8D_JWV!&|lb zpTZ%;)~}!d5>U(LZM`=Jv3$}l}38rlj44>TqJzPJS*$@ zLZV)sre4J0?fIH$s5>=a90(2m;fQ969U^^yX9(~Pja=i5V$eA|A9iJ4ErZ`?7dHW- zmJEk$x=wb%*WdN%B~@4~9s>!EQmXY}$4k!}lUVKG*gr zNVph$^-AB^(*VJ)+3XTZ2vqY#4Yud~3myu6sU3**H7hZ#BW#ejOcy+H`7_Ch>@ulfWkAHi< zCK~GP+FL{ZfP?~}fTjRzgE1BggaV;JC@?5+w(Hv-*N1wLf;06Z2Jeel-^x6rsTq5> zDMJ8t4Z<{Vjh~npe0di|jjgaD*fpD7LJ8q|T6jErVf$beIT%u$(LNZV9`(X8JjF%F zK-DlA8@Y}%Z%GO&S}0yo;sii18IG#4c>By-k&uvDmC|%DJg$iv43Mr0!KJ2Ucn~C( zaKL-(ynT48R_%=us#i9ptCBBu;`heS%HDRY=Drtq!o=xi@_XZ_w649Kva!e=3WNfo zKq%0lz_@5_KpqJ~9rJKE?w;#}af#Zkc8|DcZ(i>3hXOB3fw)F0MwJ%5X2&#jo=aS1i^r7dlV#G48Gj8 z8XLcVn;_COPw-sTiQ#E621wO>OK{oj2og&;O!Y8MG8;}jBLM12YzSh9bip+G1Q3WNfoKq%0z00G*#Dbd8*$aS3kTU4C)Xl9j(lYp2xur1qU zUG{I0nQ$=cQXPzt7Gr>PRR}Jd{ap6JWDl;P(hNaUuGPCH#7_`;$~f0GoHht6KM_H& zYc{)t62hl?5>9ejoOl-V_SqHm1cRS&P&H?G?CaHhI{{5tC=d#S0--=C5DJ6>XRAPb z57f~v&Gu-SB2g$13WNfoz=bG4sIzfXqN$}uuGqh=s!8ywQko8ir^Of`eYc6=QqwX# z2og&;O#6k5lgx$_&j^5e5*vb87~#-J0;p?^TrqE}N)o)Pl%|8>X)y*U&$J>5!BvdR zrl$ZBP%{T%w8aRZdJ-Fg*y;5%JdZ;ta3KnOINtX!q}(Vo6bJ=Efy-8aQNFg?xtT9v z+)lq^a8;H=`a0=qL(}giypgA3>VgQ4s{L5J_Ae2LlM$}9kMX*FA*ClktQM^Q*|bi( z*--sUbR}Fb7xBfLWL7V1%?71C*;NxCpLd zWY&TJ5>PV-VYI~vpn4J;f>;>g&`1KPYmHnnZ>vfYysDI@gW+j02I$h~ZA+tp2?aud zP#_d|4GP5n7kRX+yggc`NYqOK>O~y9p+G3``V^qo*YfZw`W3eQqFR2Ox5H80aA9;? zY?olbwMMR!?1OQ+7c9LH`cX@U!?oDI-7rMT)5KLw00fY#Im45=R0t3-!a+qaJOv2` zTx;Yy$-I5`n>o@8p&zwmI9!W)d#ZWsUYY=e0--=C5DJ6>p+G1Q3WNfoz={gQ&&yU6 zvre_GyU)YR=TSyf5eh6&fDof@1Tj4O?So-+tC8zC`(X6E1*A>#7=C?J{vkY9ONOIr zEZ#o*U{VhuwONMDRjy{w zds5tQl}j{!NLM^38tVB%qFz0vUc}(-`I=~`J2hY&2o3(>h-Pq!lRWaq+&xZ;O$iLR zrgAaD3a)WR>5c^Wv_UwpEC&JR+AM8C$l?27VCk|C24ccNmC|%DJT1lm>8cQ1YFdT| zL1GDq>GCj6G8;}jBLM12Y{)20MIZ)!E(m#=Y>$G3kHJ|anZ17A%tmq$f?c!OC6o}Z zmJEk$FKpg!2_36)Fg%b_Ea7mnd5h#L8~z6HSsDK9bT50?i}(Q(rTO+# z@ESZT8&@M;YN9TzLYjIJgLmBvzIUZ*?}!Kp1ww&PAQT7%LV-}=lnTW9b`AB@8YC9S zOIY82AoGmSAeymvn=%AY*BZITPfQFxd#7sn%{99+x0pJ+cnJu#WH?-VVf$beIT%`; z(LNZV9`(X8JjIm4K-DnAW?cA!LPl7@b)0!iJ89FbGI0VhFL`*mz*938XPSw~ZM7nUC=|E^1zy1Ywq0g!hwh2&c~5#F_uDIirVt8qF3H2#;Aqkk3p<}{ z_)IxYaYjacPiER^sZ@sGsv(QbE>1$YS~46}Bk|5Rf>bUBQLY0gHA~_o08}p1!SJ{y zoD5K|rbt3?6(iGCV0aKDmT;Ik2&0}Q0T4j-BsK)GsKZ9^h!Mflwe6 z2n9lcP#_ct1ww&PAQT7%LV-}AT>%2LaZ{p+wUO&M`?sh#@6pUE6DI*Nb4#sKN65L`Cf~vf%2=Ms@CWv{9Au<*bu~q zg#w|#|KHx*>qwF`YkJu|KWDz-;IPl`w}Tc&u*HHv55NIN+|``K5f&?bOOOD?6e$jP z1x9dzr9=z}f)a%WF&8k>$OTG!2_rTE-UBHRSlSa6;gykL{!>}$`BQBMWK@Kk*=uI6 zdq#R$Wn~5f!9Xw&3vc==A;G}CF%awa-exTF4F-aNduBjM-rwzPw%*M;e|*AvyKK+i zB-}Pw!l=oSB5iiu?>8e)PLB|k<8S6Xzlq?TRjF$%b5xuU%9p2q!$eb)UoG{7!BGjj zb&#zIJ~fg0m*|@7LBdD>(OSbrr+i#nDdGKwjwAHt4M%Sbgx^q-J=SOp)TB{cDYJuc zkLbdWavCdw9z7~Y{iz%4Lcf>&(U@bQ8n^sPnX~H8x64za7G(R@no229w0WUtwsfQmsvKT`jrIlVbsYAWObaqu`skBWr60Ka&BkHCGh9V(imH$HJSqn15 zVdbJJw!2Y`HVG$2O?*YyZNPRn>ugq7T1SUUWLRx0o>rOV)$o`>9D{-TVnFXJ-N-f= z2nK?IJ7+-1zr0;pZ85q^?Zlcp4+`cgNZ!XRTb-wU?lO{{aBfN&-CPBCH)Rw}DQ}$< zzMF)F(H;?uig~#T#id6SBcByPRYu3jByku~n*!`-wuHk15f1fCvk9h6sbhV>e=)IB z<+_pSW+i7QoSRZcH&?-Z$tQ7fOb}y5iFJE4gGHte6vDa7xuPl0*YaB-Rw2PaFc1s` z1D`1ayiTv=tp69eLXL|g2KGnS_kWr0zl2d0$SB~z4F-aNSHpn3no6RO&xwJ@bvqq9 zn-X2@bYeySw#sICT5v0KTm_w#%1^)BB&f>hIGH34OTSRL$Y@-&L@=laDVyMn2!~D( zOqoysMV&FcNMTMeiO8uj7 z1poRBnnA+qv~^prO#v>?*UkK@PnsdYKrj#t1Ov}!V1Ds`zT+ql83k;(It-f^>QORp zQAfcyaYxqH3?2r-z-wY4?zd-|&5`${xZgTcH2;$BXs$Fg@`)s)YD%Mk!5#UW=*T;D z*fdOJ(oaWRG(z`_|Nd@}MCWoT_D*Tp^IrexlY49Q7` zpc-fz1q|-U=R`-|slz5rf`MQl7zhS}fnXpQxE%&AxWDatZ&2)Sj~B;l+20C<)jJ>A z1k#79nN^cPDfU>EuzC*627bz>tc#kOFJI(mCCGMZV_y}c zP%v<*EGiUDQ;ZG8$Y(`RxnUIzP9}*1udU~FHzgkiX7h0rc4Fa- z5_{kHHDzdR*DNez2Lsn&AYCKq^<$2_MP9$U*Pg+=X+3|LVvu^m+Q4s==qTW6gE(372nK?IVBjtp5VG!UN^}+2i530ZDw~4VrLw3{G(Dmi`Q0W# z<%U%>^RFt2^QB*?Tx2vZS|S+KgOpA1MTA2q2&PTx#5&8mok8k3WllGlnV;ahQFJ#7 zqkp?o7|a}V(GtPH2C57w+WMZtOum^+Fs;gurfp&! zn3%c0zdzX9yx$2{2P4@D-@5!}>hdPkl#0KfGMbwFYDpywnk5{W)IiZm{Y!Ms;yB@_ zJX+YwN1Bxq-q+|@oQU8}#-nd5extS}h=Oxmc%?D?`4%# zX4N01>LJKPIJo7bsLP*kD^H1puRjZQRMY9-16lHYBEQ%}zp%p(_V{Fv9baL=7kgwA2J2$}omhlJHbJ&|Y)2NS zM~K?-yQ30TSmu~(TPZ%(AhYi05>H#KCE+Pt1}L5ETX~f^E2-Q7jG@C%rOI1sn@pRX_Z;t=~mH084TPg1A3!*MOwi?Fc1v9P6mXsj7O?r?8qhemJLUHL4#mG-s zP?gbV&J$M4^e7h@jf<8D2K69i6MPZj&5?SO^IQf`MQl7zhS}fnXpQ2nJrv zz+c!~-@L@%%PuxW`-?@2K*7Lg$$(IGz4MVxFs%yxluoS6^ufdu@;g5BOAQ8o$|$O$ zrro}|wxj$iDoVqU`RDe{$3=yrX^OF-82PLSs(J}#kgz(j4_2*B0roRn!eN03hkB;j z1kbm_KQF5laySR)fYRYTM2eT;iU`hePO&LX1KALvOx=ogk5W1L`t595; zQvWC%!M}_?bDpr;OolMpl6q~5dwITKJ0utg27-ZL;EoxXU;J;U0vVW!4#Vb!dX#i+ zuSNwo+>x~nOgo^1f!kvs?zd-|lacqNS8=~RcM<%Kc~dg-i6o;cO{0Lp9r>K-$UAk| zv`uW?3RV=u6eoN54UW`ZZyPIzvtUX@o<72f>s!eTpQe=2%~f#s!=h=)kUkheg+nnf zSE0D{h+^ckBB;vfIGH34r}e?`6b|(uWfOc&-iRG~K`?E~GZHc^1<&VjA?AJg8HICG z%IM}QxVtH%Xv!;Fw|k*tmkvd9JL{Hg&L?~Z@J$IHJ3UH1jRJmP;fxYK8TpDbw6>G$ z;ud*R68qcZ=@|K(IF999Cui(655=GOUi0imZNWe=5DWwZp9cf6zdgr1r*nXmFkZ|4 zRw%IE`N$@iHl-75{*6h&D|f1bZA%mbpL0P~M!%sxSVyMWgrcg# z3aeKw_%9}Qs$BaV=81a2x|J%rDKW_TBrbATE^4Bt9MiuweuT&iPl=1eyj+E1)fD4e zG4eSVRAqFWOcIABALSyWaZwcm7Yyn_$|m@pU3lO4P05FW*?b&@otV>6V(%NjrVOp^ znuSH|U?3O>27-YO2H1(-l*qtrbQt!?eZss&9hQ3wcw}v@*r5*wUKImzzdg%zj=U$m zmiw*1G(?rVO_=ok9!PJbjg?KzTJ7=FMR9#Anc-X&ipo8j4Z0}>_l=_K-4M7A>4PN$ z2E3e?o3P^26mwOKd{zWi8678+#No6)7_MTEMv$@zzKC$BXPQkgZAvHBd}~(ld=3|4 z;{CS?k`_8RFLR8xC5nN|`Cd?!(O%#(`-UfO{rHc_%9}Qs$BaV=7weYFCsWMrHpQ_g8PzB;v$FTq9w6z zk7lq%7<%F0a;|8~^VRj|ARt15fnXpQ2nK?IU?3Q{X$InZpe{B&`-?@2K*2yT5DWwZ zcfx>>XJ=EQtE5h>=-*b^6tpgtMTMg25yi;wHVG;>tfIlmBym{!g~~-n z1Yblrbb?^oluoQu*X>^|0VRoUl3N=9ANEtip{}@ z^Z&9~98Av<8rqsPYAa=SkjEps@S~i@s)R?6%29vn#ya))vehE2q%y1isLg`e2zGAy zDC+X(+sacS;p@*r9o4kIf7Qs#O<0?_7(9GmTbqJO8J*Q&k~oa0O#xmlxy^g3us|Nj zlJ67w#UA>F9e%LKCwuJp3Jbp2BbzW-7xVALA{?>_vdv>VvN%0L)Q;aBm9WAx$6VV= z@u>!xbw8JQ+F~sUPvJ5^>15x^tITl;GLNgx_bQteR)vnm$&f0`B*!V8?5njcK`MEa zfL}B|-$h@9aaLzJE7}@N*OzC!;$AXJ=6mKS_$Kbi+M2=7WWa096-BQY`}EMU@Fwo2 z$*b=v%;ep)?P!v{H;X3Lfr**>`y`%~d2b_jv0IHSPAICv%i=q;P^{+6-e#;L#ZeGk zs`7PptLG-HRlr4QyPL_-r_!u^Mb~Y>b~hEyD`5{gA6DBEq>{&+zx@aa27-ZLAQ%V+ zf`MSbV?Y=zZ&y|uDbIg1)`@kY{;j3ADk1Ng=e?kizne0OrW|jb3s?$J&ZCKH27*yB zFISu`0Up0XIJpO zt;p_t1xvT#qG(p_5(b*miFKVm*xTse?sm!?t|m6KBB<&!Xa)(Z=-(DNT!?vkf6X$Y z@Ya3n+|1D5a0kmoIJgsqqABrrhofgflQA<8j9ktY&1Sw5qs!cL9uf=$1HnKr5DWwZ z!9Xw&47@4^=3h>3yQcVi*~R8(f3Zj}2&6CY4cB1cx(o>6JDU>COz8u5VqK-K{sv?_tH$sQB!_Cq*#Q$|shkER{6ZjHG4t z0OzKZ(alwGU-C&@JQ2iILtfds-3#@)bSN6AG)Wv5o|KEsF&8Zn4C+D3CitFR_zd8i z527-ZL zAQ-q^24a7Ej=4$a04ZU-mi?_zU}saJ#Kmg76KnpBN%75H6xTQUw+WJ#z7yvzPl~2T z6eFK=K~+Y-p*~ngrrCs|s={KdS1tH2CU&Y^`yA$pdO`nIs_3S~Am@{~$YHstiJEdu z|JL{sA}>58E)Mf@6^d0;jBCZn=Uh;g(Qz_K9F}~Pi;TuaRSaA(s0S&V;CpuAed9MJ z9|mUgaTIo9PDhEoZ~U4vw6<#&7O{hYU?3O>209p+f7$A=ypV|ujHAP_NA45mE$Xn` zTfif0YsC(IFz~7vi2LnXrgP*y>9yQ%1*RdY+-=Gxm{x_}NGI03#1*{UMR9#Anc-X& zqLk51DY*M#(bPmtIiwGk3>ffoUT(sQOH<5MG4fdvRAqFWOcICF`e3+w|hZVMt}Lb1z$MSgOpA14G9K23{EhY>z{NfnXpQ2nH^|fDogzDbbZqCsuzS>?QqMGIl#YQ(MWDf`ywh zilz+d-x5_g6!UTwic60uMm{Tos*HX^eXx#9vk5K4rqrtz{1+2DRjz#wbHkD)p0Ha+ zl#7`|PU})eH$TC5$tQ8K1mV0Xv2KrMu*sMi2u3dFil#hYupJT%1Ovf9Fc1v17?74h z=!1c)GZ5bcb+IYfUo27t3I>9KU?3Q{69$AlJDU<+C3Rv&|F+7epmnJ%DilqRC`Nv_ zNl>|A6%9@%iNn$_R4y_a7cCJC>OsmT_#(og69m(ybYjK2tuiTST`G$TMbjgSQC?}Q zAcAT&vRR&Hkg(b)gwY-mjOszkCisQ~1NX;(++WI(aWJsE^L5J$O~~iVfKs}@+d108 zOqN)eVeRtM<|xRlIN1KYe>6Q9dD>i+GnqBN+0XKu2u!IM`YEHS$*-1r!k}5g zkx2~{oz%ZX*DU;m$)hFuSFyj|w_eBExE1@#I&z+x?}h(8o;U7z_jh!9Xw&3MXljXIs{lP#N9a1qe4~6iq2_ofE!G3CcyzgNv332F1Kwh2qj9ic!vH zg(av~BbyS;AYrvp2%|kB7}bN6P4Gp8LnjEPP3gpnbz5ap(7IF>6^f=u6r+1zw>^c1 zO)wA)1Ovgq=fFVxU*yGRd4I7;5hxh={1{+!9uf@P8w0U!?`_5+-V-L{GheJ~IV1Ovf9Fc1s`1HnKr5Dc7?f%tpbIoYgY?W@{Q1_Qys3mFjn%YBtq zyQCS4K42%-W%{>b39U-Vol3fFCc?o@8AVmpv}4|XYxxMFi+Q;U#ic36hGOKiBB;vf zIGH34OPf-;$Y@+t#lQuFdXTaSzKC$>1i`c_-oV*1gC&$X-DGA;v4@{BimH4x z?T~ewEKwo!CgC&uTVnmAaLQqogkHXG>$T+|LbPJ}C_{pQU?3O>2JVo7`NjWsGM9m= z=rC+vAVa7R8TI`U2(HeDuy6~!>c$sUEqTz9>lSo4ZfB9=Qp{vU_#(og69m(ybYk_d+xM|< zA$?gVoR>L9+Y-gVUAKEdRYt#|bxWdW6Fvj@ri7239wnbf0Y9*CMhTycd_@^r+sSps z{`O?*4jj|L`PolLJ|{Yo9a>vQ{4fayuF1fapMKXYJz@s~!9Xx@#|*^&_8gO!&H+-w zxbh3^*=iFCq?mHIDVt#0luoSvK3FBQW-=JK9iOSKWJ*rc%cgjVu+$+{Io-h@pyc!qVWhB9W|8iiuu zK9xmkE5^? z6E;e?M_f^c)^^3ZB6Khi3_O#8>D>^|^a=A=*6max15?pq*dzA|>>jTvBWt^6 zT@gDNxHtoGzdZ}(BkxJC<$fzL4Nv2nK?I zJ7GY`v)=j0CYUy*6D#_+RVD?kOJz}^XnI63@_Ubh$_=Y%Zm16?Yr$KphUVYMwmlqi0cXm*t~p{Q4`3{*vbs+F|Dy3p@se;k#tde@HC zBGlu~0*bo)`L^|Dz)kdm|piZp0^Ppg^f^7Fwo005CaM_-M#a2bh2qj9ijmKXpem!|WRf_Hs7(R(Gh4!8fe43srr8A3rgUP(x~(!P zXk99c3PsZ+ijluM1eF_B(cI9wC7qC9AQ%V+f`MRQw~POayx1z(Uo27t3I;wu2IhVC z=T~@CeAf)by1nb^`<#;(im!J*vI(Y5>BNdYSd~dZ>rz=%D4HHojPAV;CKTZkq-a*< zG0>DwtXQ{ICIziaWl^DMdPFf=O>F+lj-YbGDw_HAIdQ)HAwapvXk4^JFsKJ9o8TJ~ z3dvM_lOXyjomiLYgNY@S zdo-KOOo@S?GK#9GX~(?())Ey$ZxSXP;wp4fwGPI{WazUZxR=p!GD#dx?1LG&;9d_> zHo+GW4xJ#FR^?mMc4A#--F~oy{279F6XD>djG`(ZO*>@WCd)?%UChf>C@xK@e-w`3 zUq*lVx~`&GP=16?rzE`nlhvhMpWTY%*$0ME!g-lvv@KB#+;zJbRAuxVTDK&6 zHsLdXZ%X*s=~41&6z~HJXO!^C$XAr1wVhm7>~Bw|?!Yk}oS*%4T6-~x+O|U?OgKME^Rv-*ig~iy3b(wW5me8t% zRWI0-82BlpsEV3)%(^uSh0rdQMTMeiim{;>`K$;kH>{$;$s}=D`pL>gM&qI?)!G!- zjOFH01wU2E`^IldJ`Bv}<0$OJgpCq=-}p6UXl>UlEMf-(ubP38H>FoiTokuqVBWND z#$P-jCnB8c*Aq^Aj83u{`IMZus3+xh4yTc|og=^VVqBZ;^HvjRH^#uQ`|YW9%BhYW ze%fJkn#ss}(zWjZ=c-Mh7O+)^$nWo9S`~UDomle{SMVC0k8)->R|VHHx+w*BH)Rx6 z5!3oSl@rFNDakAZt72ZRLUCz|xhh6JD}t(wj+05^a9SS>SFuMUNZABmL^#wl%_f*O zr4y@v-NyTG6QnQeg!3}TXj`Hfxa)Q=sLJRsU$@{3hkB5*3BDo0Krj#t1Ovf(H)Rw} z8PdNcs&FXgZRs>ZU{f7Er9hqhmifT%|YQcXou~X&R=P)-c%WZs|n^HzM zSHXSBCvlO(a?z4lw?{MBA`HE7a5+~r<@ti`kYFGf2nK?IU?3O>2JWAM_#UW>&EfuH zks?qq5DWwZ!N8p`AmrKEl;|p{6D#_+RW=2!OJz}^XnI63^1Drf$_=Y%a5708mVTjf zk2}Ae2A$V+r;qn;^pI!S?6+b2u!KC`{kpl$*-1r!k}5gkx2~{oz%ZX*DU;m$)hFuSFjy3p@sf0U}9=UAx5Ex%Ictork9CAWD`6&Atg<$ScF41LAH5pM;50?h}!YHqY_qF=9p_+DL&O8v+m~- zPg|@d;VE1OD4pzEd6hXXLFRF_`CetS!m7}*I2lr9ndCU7lYOH6}FSKLcR$$ZZo1>eLSSz9ysnGEI^>ocJ}8%Ce)aSINy@TOUqCa=Dy z$R^Ec+nYrROPt-Hnfv=Bo|SoTBX+TSvy-Qhx3vm7WptcO5{D7BDZqYaOE@eL;ZV;sn_$|MPOMnBRVD?kOJz}^XnI63@>hqT za>FW`8(O!d6A}yr1HnKr5De^g@qdvQTLt@zMT$Vdz~{%nywCpp3Xh8KmjT&*8|(Id zr|+}PT&BvWW4-f{O(uudp%W|mU{xYB=c|VE8QvaXQI*KtvV@b>d~HXTzNun6-{%tN z8-+01BZAQ?tdHfIECHSaviMYgy3rJu4OKSgE0Sq4F^BJ_IeL=}W=+|IO}IdniEwaJ zM$we`yTj28HW@Pm!N}!Y(Uj+FdD>zX5)1?b!9Xw&3EDVaRPL*o5(7VF6jf2vj_HFLg+geT%A!KiG{x9Z zjC@uEl^a&k;AE0G_&rxNRjJmdxcZqb;TCY=q@HOu!L%yhnzj?`GVAt(B~<3YlwuD* zWfWEUXxbs`HdW`AoXQ-dtxEl)a0K5n`pegCy*4F$dA<(%x8xWS3`&GP=16 z?rzE`nlhvhMpWTY%*$0ME!g-lvv@KB#@=80z+6$_~ksMah+|aruowEs_0en-!$4-xuPosbz zSU97EPe#6?46W_tx?+EOGIa-z>EQhArz4*e9mx)@ts{Pz1Ou;^0lk&d=H2wIq!W1r z1HnKr@KOe1fBRAf@lWRfDPg>l{p}l}zvk`w z%IGg&x8MthdXTco><&aoFmOiQxK=i;0~o*Q+3#zcR$SO^|en{_RePv`kOpVhO8U+{C(_G9jCg zU?3O>27-ZL;Kmu4UpQ|(%Si7U48-?9U5xep#Ue$ZU?3O>27-Y*VL-^U-ucKTm^P&o zEBd!pCIziaWl^DMdPFhudyj(34XbEwq7OzQyPa^TXPQkgZAvFrtlKJ+g4U(7s8BRL zq8Q!#y6q`6Y=VK?VL)ytmB=I*=w?8=EyFMvxH$%tjQrh>_qXYK{y$DwY1uVP<-G+m zBOL_!#?9mXf|mbx^UM5K^LjR>{mmZs=9jmM<)%s-^A*W7P5ISQPgot4-~`#4;8PQ+ ze~GTSZYoLOkw;7PuVzt7cweJqaUz1d^Hwx1Y1Fm^QE>b!A0r4q%4w`zA3Z8Z{iz%4 zLcf>&QL28PW1$+i{7RX#>d&`h{-1aE`&XN%>eE^)Camp@&Enzv+S(K_TsjmDtHC63 z@K+d`s#I%JTvtnO`!1^){edj`K9OJSpgu#-Ha^Ycpvo^u3Dz>{(3_PsK(N~a1 zQ*3v$&Sr(B_^(FtEG$)Gu@IQJSQN@dQ|h&?u>3rByT3fHk7lSa2nK?IU?3O>27-al zlL4XZ@^)pl#pq(F6Kn1~D444t+x^sLBs<~Ulrp-x3hr*oD4KGxb*^D4Ksk>lsu>7I z#k^dF;?g6EQO;(CC8$;-n+>NKB&;?HVYEjCqk53C3BHJM=mf#EDVrz=%D4HHojQrIh zsNArM1}BrmVR?Ql7a5IvNz4gsY z{JrdAQ?$QWq!$Fz7x;#2FmPQ4gz%kBiDsrWw>q)BK3H;nU(&x7ODOkfHt43rz)u-P zRn)X&`nQ&-5PFmF(!g{Tic3?B4aLZ3MNpN|aWY99PV9pjxZqw7QZ~UC5e}Uom{x_q zH*{io>(=*u$-4bu3HdWLZ;^z0+>}vN<)dkbtlMPy2%(F4xeCRlDfN%S5&X;OFJHIy z+LZ9+`C6W~ScL=w!9Xw&4BR0D^NauOWG(|!(P7xUP>+)NrG6BA6L(~7&ER1W47?@= z;(mLU*&KOKdKLHEa~E-Qf5#a4M3S?tQ3oVBV`m#0`JCuT@(i`f?ps^8LNJP9ijzGG zjk)f6JF(^!r9|ZEBb>OtmCW#IN*Uc;1$RFznwAXdgAr6X6!UTwic60uMm{Tos*H}4 zN#ejgYFj>JbQ9s=ri`K~+lh0r6rh|(6V(g^BNwZvP&7TF80BmZgX{&>;YgkZMKg1rIA5km zxyWc-v_vqd2PvE2dv@V7fX4`Bo*;be^eFi>3i#o~V!QI;laa3|Lu)&^uK6Z*vj5o~ zV}E;0>B#5AaV+OLIb$&t3g#sxi`nS6T z7fXMK^QOGAKG;sExV{?9AYrxeq+DFS4<>}IXPQkgtqNBQBo)_O))kUBcByP<%U%>IGH34C$8ISZ3?iT*%A(m zvkUJVzbW}JFq@B~uoDYsl-T>muPH-oyJle#I~WKCf`MS5gMoR|+F^Mi6B!sshhdN0 zC(K*aVY#<}N7mMg9r|G4RWT6v+p|pP$a~Ujx!(#*LlkQ+*`v_l=;D%QMJLw0#FdDR z&PO>joU4Ls8QqkEyPGnKs)%Wa^udw=176O{O;~Yhin%IAJ}ZK%jE<8@;;=NPl#7hU zMNN_^1%rB!vI)M3aOecVv?-lf{p*(Z-xjE9CWArdbd#AW1&fV><=7=d)-92RLoqK` zp}6#jV&t;27gS~Rm#27-ZLAQ%V+f`MQl7zhS}fnXpQ2nJ4J zKyd18N_63OV)ggIDxKx7gxrqL)P6K~0m4lgMN?i`AFM)$!o>~s!GwI=iBmMINoSxb zomjDMt4s=7m&&3-(e#L7w3^u5As19`SVeO~>y~svf`MQl7zhS}fnXpQxK9S+d!Q~h zZ~Kcyia^0YFc1s`19!rJkY~N~kxejdN+(wI!KzFOT9?YALecbyVs!6)Frf&SAVsq( zkAbFiV#T_xGAU?XDvJt5(<6$}YGR{*+rwMf1Ovf9Fc1s`1Hr((FrXyr?{+r-`qr%J z$9^oC!8SoA#lhC@{qA_=>7VjujPj4)OjUmKizyXfzkD<``PEWS7&J>bGO2;0llqtF znuVV*d9+0TY8Iu0_cb~eCn6k7&kQCKR7y7;I zk5cvX91GRBQB@G}{3 z^S`3#6=Rb~lB+DG94RD(Fy&46ChUH9Tez$6z2B z2nK?IU?3O>21*PFit=`4wUH`etj0UBF4VuZ)K(>|cF3j_a(7ck(UkJmIpOQ?)|#kh zAQ%<%aute8k0?eyD}t(wj+05^FrqdE*w1VUhXo=W>X~K}OqJU_JSVeO~>y~svf`MQl7zhS}f!!|tFY;omV1Kbl5hxf427-ZLAQ%V+f`MTS z2*~x$M>fHtBK8jjS*CCSVa^4TUZDQ27-ZLAQ%V+f`MQl7zhSFLk8mSWfz}vNMNK>A{kN8n5W1L`t595;Vr(cz zJ}ZK%jE<8@;;_6SR=LP%TvWxt1%rB!vI)M3aOecVv?|}4wiD|z>-K{slsVmGW=gS# zpE8Q7d^GKlb(<_vA@nBUGyGd({iAToVU>hlzHaNa$*-D@uu2?o>^UpK@k6H>Heju7bOp zGK!`Q>4OnfI27}86^cubC`LXjf~t%@->ef>C-!g6Q*f^bDVyMn2!~D(OqpiJndP4B(p*K6ZMPd>RG(z`_|Nd@}MCWoT_D z*A@HQlc_s!Ob6#@KOOm;=ty>GZ5{E$Bp3(=f`MQl7zhS}f#)$0``hR7^o01O$v-vm*J27FS#NIc4 zO&MC-H4BT_!9Xw&34$BLf$iO%{41450Vcwz+%e@6WvbI+2&<6vrih;P_ zo@F{m-jiO-{Z?QaqE;OuzrTZNRp^a$V$Dlj!E1Cr%9-I@6bSgY$*J#KodeE_y^Uayj1%sxtb^*Dd(Mp&q1cf^SGL5DWwZ z!N83$pl8fOc|8jW27-ZLAQ%V+f`MQl7zhT&G9bWrHYK_;>BPEB|CWs1j?dIRGNoYQ zri`K~L;ANw6%NI`T!rG&BZ`sFil8c^-%uZ{Bhzd`QBA2=E%+}ccB)+a94>vy%3nlq zZb}*5Tm|nLe_Lf!(7IF>6^f=u6eGXeB&gi5 zie~;TCvm>?3zdtE#zjj6gL;s%3BHJM=mf#EDVPW3SqQI1fzP8vI)K+!9Xw&3O-mfu8RO2yqTA5BeuwbT;^%@U4GYM|(({w2C*;U`QUEz!T4 zMJeHZjgG~M2nW-1gw~4RsBH11E6 zZ3$AzqXhh-@%b+LB8;;-%URLZV7k6M;}!RkQ8M2%N5MC7N7mL1ekKEM{#O*eV(imH z$HJSqn7T=jh(QeR-iiCMnzCPM} zDIS|3iP2S+3{=H-H;RFeRaA7{25fh;&Sn)vOnSBF2?m0JU?3O>1}@2f5UjjiS#2@8^6JEzI}ZxxDoEbPEL)xJt~NX2+>|o9 zxeD%X$|#yr-a03ImlBkVoCg;z5e$lXxeCRlM--!+%?e9UtwuH_m_fp7qYy@WL@=rc zDVyMn2!~D(OqzHWO8y;U2y4+#c>fnXpQI2Qx)f05^6 zvWc^AT7*F`5DWwZ!9Xw&3i<4i{qL?+&YV!kQ_sEVM0A4DNm1wu%gWFc1s`1HnKr5DWwZ z!9Xw&44jjJ_K-NOov#9r42? z7zhS}fnXpQ2nK?I=P?lb+voA+TPJ_`Jfp8=e=E>Y?|ftvOq*niU8GRbeq6V#(5URNPir zmsz*sg-teihIOlkGG^Txg<{|oJSwlutAd}ZB0GVPe<+(<}K=Z6MhET$l9KfM$zjEF2=}v(rdZj3d}(iYcAQN(BSCel4eCG*1W`(h>gxiIWwHAf@>Mwl!CjPGK#8* zX@~T|k^uu=&dW_$acPRVDn>plf~t&;lS$&RG^Uh`jK)Pxk|_m)dXTaSzKC$>1i`c^ zomlL9+Y-efue3v~y`VZA$zc`E%hxR^!l53dY=Un{Fc1s`1HnKr z5DWwZ!9Xw&3hGAl0O6*LqA5fA zw?q{V#k^dF;?g6Ek}AFLzOY(h~j`KDgA;J=vIsdDXem>ZTa_`8FFOBo%l zJ#s#YiyW4Vmc+U}n!y%f=!L_w1`-zw=gLKSzF<2f7zhS}fnXpQ2nK?I`)44&2kK&T zxW8DW2owwi1HnKra3>51d3H7>x=QNAivDetO+o8YSyU*R9#M?^Zj+#L!zvn_OcDpb zcZH@Uf;-XlnASrJgWomT+WJ14SqG zFVQs%KVkA{iT>3rN(t|4bSzFpIGCOzv{w8^ZA%aZ$FK4+g7Bl9#>(~4qjJ=ry0I?Q zPxzx${XEA)HE#KpGH2DFZ!1rUgpofBvwQi+?_V{Zs&2ws20YL_d|z9ef@K+<)nJl1 zjHpckUM;!Jd#bQN9>|jK6Zyp+`h^{Su*WBR?Dz@`zStw1FjyD!@5CY;vI(-yV>_}q zJwnuu-yM~(!ZOEP+e-1N2AOp~mw4J@EeTKIGC=8M-^#1ZaS1YytIhW+n-x}tj>XB4 zD$69tDV^-AwJkv^d6a-(G(O)&Uxaa1XE`g{8cf%hXT0KGGD_xq<|z0k?#SAj!Ovtc zzgV9M?b$H;Y>!)Th=n)J!ZdmHJw-NYPTSrrIX!nL_ zk7kpZxeE{*#qwu(lvRoT?M@*mb6jO>Rti5|&J|6@a!s&6goA6LXjUK$G^G>krR#Re zteFf3s}iDryW44*6+u;>K{H5LMgJBSLV|%{AQ%V+UJC;cuceTvBNzwoV*1gC$hv!IWYTKV=kE z`Dof9>oysMLTH!DqC(L$rT$Skg1;M9(Lkk1;;<|vH>HTK z<|??mDWho0kUkhug+nnfSE0D{h+^ckBB;vf^UXS8by^<`PvKAxQZ~UC5e}Uom^P&o ztAE|TAGK~NML4)AqiD)2Teo|mVwVm@b3^Nvbj~Jx2JlS@A3HrtK8*r?VBw4sJ{kFn zGPJgn>x%vD$p_Cp^}PdUb2)niS(!8;#IFUwzM_vL37T6(fdTgNNC3OwZ$ zXLrEB3-7u4%gkFZ{*P2VS{=sRtkQfRz60_i#gPo8k>Dp|%gLT=M|M4jPlUBLu8aY_ zPZsVp?Pri3_vmMk6{f*JFc1u!lYze7_BkU4)&&@t_Jc9E7hpO0YgE1X zH?wE1m_a-01vVYbksh4KX)q8B1Or1Ec(?p_@t4aB`{nQC zmA|w)SQ~}#aSr%?!~f|&qRsbgMyAYgdX`Kjtgy^|RsK3`FL=%-W8t~N@=a<1GEaG0 zu%76c-LfL{RKwfo7S1O{#^P$8YF=cIUnghI{o0P+u{Qx%4stNDPbJun@-fJ~On8l4 zg_{v`#;X;EGS31glk4o#{_&W`?s0uBSQ8x{)>g4zn@>d<)I#^<)XwC_dJT22Q4bRJFI$spePZ;;i`3h^gc%16Q`O$ls z7S8?J9zS?tg6KIM+?WnZ$Tzil$vr-KYIiCY_L0oLO=Z@P)b&d_R8N^P(Dw`4qi@1t zmhJQAa1Ix%>d%Gs)pM|vPdb{iD)OQ7pUPhz-u~15TU))4!}%7uJmU_ni|25j(B}IJ z7a5C-9dkO%TCt2)e=1sM(rr{wJ+2teo@C}+7VZlB*?_`m;Gq*D9Wueb6q|La4&O|9%c{<|-x39=Bo|JEM+H#^DY0D3 zVv#{NsjmjWSX@?NDStEYX7@F;733TJ^tXR@sQU~5|NUn7pZ&0VunOP&j_yC_`S73Y z>_(9O@^?EMN(}87`tkuD#tyyP{q6sJV=>)`g;bsFOGE$g%>sXfHAN(T$>ldRh}}E9?%LFvrKC-Its(i;0sj60il)-8X;#-yG_HHAA&0$8!71 zcba9Oc>D5Q=DX(O-3kny?}_>5wA>`~z~ZvGTV;#IWwPMjybNTE6~@8cdwUzr7#o)b zG+QhKOO)O8HB@hnvEx^O#bSLcuH`YkG))w`d90>kv6!MP<*zKr^zi0yItwI_2qv#KbxPPTkB`w`Z@oP@{fP{yQ3kV zr;kHm{SWWvr|#2Gem1}R=HJ@=W3ig<3{O@#KEh|K>HaZA%tMaV)6jDNu&3~XmG4+j zRudLCvDMIg@1E`q@cT1|s@U>*NE zIb}};Rjj6z|6z$ZF>#ax&X+3G2;X@;iP@fA5wllHVsxJOQoyNCbxKmMnWd+Pt^ HfBXLdz8X?> diff --git a/examples/hdl4se_riscv/de2/de2_riscv_v4.v b/examples/hdl4se_riscv/de2/de2_riscv_v4.v new file mode 100644 index 0000000..6377923 --- /dev/null +++ b/examples/hdl4se_riscv/de2/de2_riscv_v4.v @@ -0,0 +1,517 @@ + +//======================================================= +// This code is generated by Terasic System Builder +//======================================================= +`define USECLOCK50 + +module de2_riscv_v4( + + //////////// CLOCK ////////// + CLOCK_50, + CLOCK2_50, + CLOCK3_50, + + //////////// Sma ////////// + SMA_CLKIN, + SMA_CLKOUT, + + //////////// LED ////////// + LEDG, + LEDR, + + //////////// KEY ////////// + KEY, + + //////////// EX_IO ////////// + EX_IO, + + //////////// SW ////////// + SW, + + //////////// SEG7 ////////// + HEX0, + HEX1, + HEX2, + HEX3, + HEX4, + HEX5, + HEX6, + HEX7, + + //////////// LCD ////////// + LCD_BLON, + LCD_DATA, + LCD_EN, + LCD_ON, + LCD_RS, + LCD_RW, + + //////////// RS232 ////////// + UART_CTS, + UART_RTS, + UART_RXD, + UART_TXD, + + //////////// PS2 for Keyboard and Mouse ////////// + PS2_CLK, + PS2_CLK2, + PS2_DAT, + PS2_DAT2, + + //////////// SDCARD ////////// + SD_CLK, + SD_CMD, + SD_DAT, + SD_WP_N, + + //////////// VGA ////////// + VGA_B, + VGA_BLANK_N, + VGA_CLK, + VGA_G, + VGA_HS, + VGA_R, + VGA_SYNC_N, + VGA_VS, + + //////////// Audio ////////// + AUD_ADCDAT, + AUD_ADCLRCK, + AUD_BCLK, + AUD_DACDAT, + AUD_DACLRCK, + AUD_XCK, + + //////////// I2C for EEPROM ////////// + EEP_I2C_SCLK, + EEP_I2C_SDAT, + + //////////// I2C for Audio Tv-Decoder ////////// + I2C_SCLK, + I2C_SDAT, + + //////////// Ethernet 0 ////////// + ENET0_GTX_CLK, + ENET0_INT_N, + ENET0_LINK100, + ENET0_MDC, + ENET0_MDIO, + ENET0_RST_N, + ENET0_RX_CLK, + ENET0_RX_COL, + ENET0_RX_CRS, + ENET0_RX_DATA, + ENET0_RX_DV, + ENET0_RX_ER, + ENET0_TX_CLK, + ENET0_TX_DATA, + ENET0_TX_EN, + ENET0_TX_ER, + ENETCLK_25, + + //////////// Ethernet 1 ////////// + ENET1_GTX_CLK, + ENET1_INT_N, + ENET1_LINK100, + ENET1_MDC, + ENET1_MDIO, + ENET1_RST_N, + ENET1_RX_CLK, + ENET1_RX_COL, + ENET1_RX_CRS, + ENET1_RX_DATA, + ENET1_RX_DV, + ENET1_RX_ER, + ENET1_TX_CLK, + ENET1_TX_DATA, + ENET1_TX_EN, + ENET1_TX_ER, + + //////////// TV Decoder ////////// + TD_CLK27, + TD_DATA, + TD_HS, + TD_RESET_N, + TD_VS, + + //////////// USB 2.0 OTG (Cypress CY7C67200) ////////// + OTG_ADDR, + OTG_CS_N, + OTG_DATA, + OTG_INT, + OTG_RD_N, + OTG_RST_N, + OTG_WE_N, + + //////////// IR Receiver ////////// + IRDA_RXD, + + //////////// SDRAM ////////// + DRAM_ADDR, + DRAM_BA, + DRAM_CAS_N, + DRAM_CKE, + DRAM_CLK, + DRAM_CS_N, + DRAM_DQ, + DRAM_DQM, + DRAM_RAS_N, + DRAM_WE_N, + + //////////// SRAM ////////// + SRAM_ADDR, + SRAM_CE_N, + SRAM_DQ, + SRAM_LB_N, + SRAM_OE_N, + SRAM_UB_N, + SRAM_WE_N, + + //////////// Flash ////////// + FL_ADDR, + FL_CE_N, + FL_DQ, + FL_OE_N, + FL_RST_N, + FL_RY, + FL_WE_N, + FL_WP_N, + + //////////// GPIO, GPIO connect to GPIO Default ////////// + GPIO +); + +//======================================================= +// PARAMETER declarations +//======================================================= + + +//======================================================= +// PORT declarations +//======================================================= + +//////////// CLOCK ////////// +input CLOCK_50; +input CLOCK2_50; +input CLOCK3_50; + +//////////// Sma ////////// +input SMA_CLKIN; +output SMA_CLKOUT; + +//////////// LED ////////// +output [8:0] LEDG; +output [17:0] LEDR; + +//////////// KEY ////////// +input [3:0] KEY; + +//////////// EX_IO ////////// +inout [6:0] EX_IO; + +//////////// SW ////////// +input [17:0] SW; + +//////////// SEG7 ////////// +output [6:0] HEX0; +output [6:0] HEX1; +output [6:0] HEX2; +output [6:0] HEX3; +output [6:0] HEX4; +output [6:0] HEX5; +output [6:0] HEX6; +output [6:0] HEX7; + +//////////// LCD ////////// +output LCD_BLON; +inout [7:0] LCD_DATA; +output LCD_EN; +output LCD_ON; +output LCD_RS; +output LCD_RW; + +//////////// RS232 ////////// +input UART_CTS; +output UART_RTS; +input UART_RXD; +output UART_TXD; + +//////////// PS2 for Keyboard and Mouse ////////// +inout PS2_CLK; +inout PS2_CLK2; +inout PS2_DAT; +inout PS2_DAT2; + +//////////// SDCARD ////////// +output SD_CLK; +inout SD_CMD; +inout [3:0] SD_DAT; +input SD_WP_N; + +//////////// VGA ////////// +output [7:0] VGA_B; +output VGA_BLANK_N; +output VGA_CLK; +output [7:0] VGA_G; +output VGA_HS; +output [7:0] VGA_R; +output VGA_SYNC_N; +output VGA_VS; + +//////////// Audio ////////// +input AUD_ADCDAT; +inout AUD_ADCLRCK; +inout AUD_BCLK; +output AUD_DACDAT; +inout AUD_DACLRCK; +output AUD_XCK; + +//////////// I2C for EEPROM ////////// +output EEP_I2C_SCLK; +inout EEP_I2C_SDAT; + +//////////// I2C for Audio Tv-Decoder ////////// +output I2C_SCLK; +inout I2C_SDAT; + +//////////// Ethernet 0 ////////// +output ENET0_GTX_CLK; +input ENET0_INT_N; +input ENET0_LINK100; +output ENET0_MDC; +inout ENET0_MDIO; +output ENET0_RST_N; +input ENET0_RX_CLK; +input ENET0_RX_COL; +input ENET0_RX_CRS; +input [3:0] ENET0_RX_DATA; +input ENET0_RX_DV; +input ENET0_RX_ER; +input ENET0_TX_CLK; +output [3:0] ENET0_TX_DATA; +output ENET0_TX_EN; +output ENET0_TX_ER; +input ENETCLK_25; + +//////////// Ethernet 1 ////////// +output ENET1_GTX_CLK; +input ENET1_INT_N; +input ENET1_LINK100; +output ENET1_MDC; +inout ENET1_MDIO; +output ENET1_RST_N; +input ENET1_RX_CLK; +input ENET1_RX_COL; +input ENET1_RX_CRS; +input [3:0] ENET1_RX_DATA; +input ENET1_RX_DV; +input ENET1_RX_ER; +input ENET1_TX_CLK; +output [3:0] ENET1_TX_DATA; +output ENET1_TX_EN; +output ENET1_TX_ER; + +//////////// TV Decoder ////////// +input TD_CLK27; +input [7:0] TD_DATA; +input TD_HS; +output TD_RESET_N; +input TD_VS; + +//////////// USB 2.0 OTG (Cypress CY7C67200) ////////// +output [1:0] OTG_ADDR; +output OTG_CS_N; +inout [15:0] OTG_DATA; +input OTG_INT; +output OTG_RD_N; +output OTG_RST_N; +output OTG_WE_N; + +//////////// IR Receiver ////////// +input IRDA_RXD; + +//////////// 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 [31:0] DRAM_DQ; +output [3:0] DRAM_DQM; +output DRAM_RAS_N; +output DRAM_WE_N; + +//////////// SRAM ////////// +output [19:0] SRAM_ADDR; +output SRAM_CE_N; +inout [15:0] SRAM_DQ; +output SRAM_LB_N; +output SRAM_OE_N; +output SRAM_UB_N; +output SRAM_WE_N; + +//////////// Flash ////////// +output [22:0] FL_ADDR; +output FL_CE_N; +inout [7:0] FL_DQ; +output FL_OE_N; +output FL_RST_N; +input FL_RY; +output FL_WE_N; +output FL_WP_N; + +//////////// GPIO, GPIO connect to GPIO Default ////////// +inout [35:0] GPIO; + + + + wire uart_tx; + wire uart_rx; + assign GPIO[5] = uart_tx; + assign GPIO[7] = 1'bz; + assign uart_rx = GPIO[7]; + + assign LEDR[0] = uart_tx; + assign LEDR[1] = uart_rx; + +`ifdef USECLOCK50 + wire wClk = CLOCK_50; +`else + wire clk100MHz, clk75MHz, clklocked; + clk100M clk100(.refclk(CLOCK_50), + .rst(~KEY[3]), + .outclk_0(clk100MHz), + .outclk_1(clk75MHz), + .locked(clklocked)); + + wire wClk = clk100MHz; +`endif + wire nwReset = KEY[3]; + + wire wWrite, wRead; + wire [31:0] bWriteAddr, bWriteData, bReadAddr, bReadData, bReadDataRam, bReadDataKey, bReadDataUart; + wire [3:0] bWriteMask; + + assign bReadDataKey = {18'b0, KEY, SW}; + + reg readcmd; + reg [31:0] readaddr; + + always @(posedge wClk) begin + if (!nwReset) begin + readcmd <= 1'b0; + readaddr <= 32'b0; + end else begin + readcmd <= wRead; + readaddr <= bReadAddr; + end + end + + assign bReadData = + ((readaddr & 32'hffffff00) == 32'hF0000000) ? bReadDataKey : ( + ((readaddr & 32'hff000000) == 32'h00000000) ? bReadDataRam : ( + ((readaddr & 32'hffffff00) == 32'hF0000100) ? bReadDataUart : (32'hffffffff) + ) + ); + + wire [29:0] ramaddr; + assign ramaddr = wWrite?bWriteAddr[31:2]:bReadAddr[31:2]; + + wire [4:0] regno; + wire [3:0] regena; + wire [31:0] regwrdata; + wire regwren; + wire [31:0] regrddata; + wire [4:0] regno2; + wire [3:0] regena2; + wire [31:0] regwrdata2; + wire regwren2; + wire [31:0] regrddata2; + + uart_ctrl uart_ctrl( + .wClk(wClk), + .nwReset(nwReset), + .wRead(((bReadAddr & 32'hffffff00) == 32'hf0000100)?wRead:1'b0), + .bReadAddr(bReadAddr), + .wWrite(((bWriteAddr & 32'hffffff00) == 32'hf0000100)?wWrite:1'b0), + .bWriteAddr(bWriteAddr), + .bWriteData(bWriteData), + .bReadData(bReadDataUart), + .uart_tx(uart_tx), + .uart_rx(uart_rx), + .dataready(LEDR[2]), + .sendready(LEDR[3]), + .sendfull(LEDR[4]), + .recvempty(LEDR[5]) + ); + ram16kB ram(ramaddr, ~bWriteMask, wClk, bWriteData, ((bWriteAddr & 32'hff000000) == 0)?wWrite:1'b0, bReadDataRam); + riscv_core core(wClk, nwReset, wWrite, bWriteAddr, bWriteData, bWriteMask, wRead, bReadAddr, bReadData + ); + + + +//======================================================= +// Structural coding +//======================================================= + + + reg [6:0] led0; + reg [6:0] led1; + reg [6:0] led2; + reg [6:0] led3; + reg [6:0] led4; + reg [6:0] led5; + reg [6:0] led6; + reg [6:0] led7; + assign HEX0 = ~led0; + assign HEX1 = ~led1; + assign HEX2 = ~led2; + assign HEX3 = ~led3; + assign HEX4 = ~led4; + assign HEX5 = ~led5; + assign HEX6 = ~led6; + assign HEX7 = ~led7; + + + + always @(posedge wClk) begin + if (!nwReset) begin + led0 <= 8'h3f; + led1 <= 8'h3f; + led2 <= 8'h3f; + led3 <= 8'h3f; + led4 <= 8'h3f; + led5 <= 8'h3f; + end else begin + if (SW[17]) begin + led0 <= 8'h06; + led1 <= 8'h06; + led2 <= 8'h06; + led3 <= 8'h07; + led4 <= 8'h07; + led5 <= 8'h07; + end + else if (SW[16]) begin + led0 <= 8'h3f; + led1 <= 8'h06; + led2 <= 8'h5b; + led3 <= 8'h4f; + led4 <= 8'h66; + led5 <= 8'h6d; + end + else if (wWrite && ((bWriteAddr & 32'hffffff00) == 32'hf0000000)) begin + if (bWriteAddr[7:0] == 8'h10) begin + led0 <= bWriteData[6:0]; + led1 <= bWriteData[14:8]; + led2 <= bWriteData[22:16]; + led3 <= bWriteData[30:24]; + end else if (bWriteAddr[7:0] == 8'h14) begin + led4 <= bWriteData[6:0]; + led5 <= bWriteData[14:8]; + end + end + end + end + +endmodule diff --git a/examples/hdl4se_riscv/de2/de2_riscv_v4_assignment_defaults.qdf b/examples/hdl4se_riscv/de2/de2_riscv_v4_assignment_defaults.qdf new file mode 100644 index 0000000..68a5d81 --- /dev/null +++ b/examples/hdl4se_riscv/de2/de2_riscv_v4_assignment_defaults.qdf @@ -0,0 +1,692 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 1991-2013 Altera Corporation +# Your use of Altera Corporation's design tools, logic functions +# and other software and tools, and its AMPP partner logic +# functions, and any output files from any of the foregoing +# (including device programming or simulation files), and any +# associated documentation or information are expressly subject +# to the terms and conditions of the Altera Program License +# Subscription Agreement, Altera MegaCore Function License +# Agreement, or other applicable license agreement, including, +# without limitation, that your use is for the sole purpose of +# programming logic devices manufactured by Altera and sold by +# Altera or its authorized distributors. Please refer to the +# applicable agreement for further details. +# +# -------------------------------------------------------------------------- # +# +# Quartus II 64-Bit +# Version 13.1.0 Build 162 10/23/2013 SJ Full Version +# Date created = 19:58:27 September 01, 2021 +# +# -------------------------------------------------------------------------- # +# +# Note: +# +# 1) Do not modify this file. This file was generated +# automatically by the Quartus II software and is used +# to preserve global assignments across Quartus II versions. +# +# -------------------------------------------------------------------------- # + +set_global_assignment -name PROJECT_SHOW_ENTITY_NAME On +set_global_assignment -name PROJECT_USE_SIMPLIFIED_NAMES Off +set_global_assignment -name VER_COMPATIBLE_DB_DIR export_db +set_global_assignment -name AUTO_EXPORT_VER_COMPATIBLE_DB Off +set_global_assignment -name SMART_RECOMPILE Off +set_global_assignment -name FLOW_DISABLE_ASSEMBLER Off +set_global_assignment -name FLOW_ENABLE_POWER_ANALYZER Off +set_global_assignment -name FLOW_ENABLE_HC_COMPARE Off +set_global_assignment -name HC_OUTPUT_DIR hc_output +set_global_assignment -name SAVE_MIGRATION_INFO_DURING_COMPILATION Off +set_global_assignment -name FLOW_ENABLE_IO_ASSIGNMENT_ANALYSIS Off +set_global_assignment -name RUN_FULL_COMPILE_ON_DEVICE_CHANGE On +set_global_assignment -name FLOW_ENABLE_RTL_VIEWER Off +set_global_assignment -name READ_OR_WRITE_IN_BYTE_ADDRESS "Use global settings" +set_global_assignment -name FLOW_HARDCOPY_DESIGN_READINESS_CHECK On +set_global_assignment -name FLOW_ENABLE_PARALLEL_MODULES On +set_global_assignment -name ENABLE_COMPACT_REPORT_TABLE Off +set_global_assignment -name REVISION_TYPE Base +set_global_assignment -name DEFAULT_HOLD_MULTICYCLE "Same as Multicycle" +set_global_assignment -name CUT_OFF_PATHS_BETWEEN_CLOCK_DOMAINS On +set_global_assignment -name CUT_OFF_READ_DURING_WRITE_PATHS On +set_global_assignment -name CUT_OFF_IO_PIN_FEEDBACK On +set_global_assignment -name DO_COMBINED_ANALYSIS Off +set_global_assignment -name TDC_AGGRESSIVE_HOLD_CLOSURE_EFFORT On +set_global_assignment -name USE_DLL_FREQUENCY_FOR_DQS_DELAY_CHAIN Off +set_global_assignment -name ANALYZE_LATCHES_AS_SYNCHRONOUS_ELEMENTS On +set_global_assignment -name TIMEQUEST_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS On +set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS On -family "Arria V" +set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS On -family "Stratix IV" +set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS On -family "Cyclone IV E" +set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS On -family "Cyclone III" +set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS Off -family "MAX V" +set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS On -family "Stratix V" +set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS On -family "Arria V GZ" +set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS Off -family "MAX II" +set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS On -family "Arria II GX" +set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS On -family "Arria II GZ" +set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS On -family "Cyclone IV GX" +set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS On -family "Cyclone III LS" +set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS On -family "Stratix III" +set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS On -family "Cyclone V" +set_global_assignment -name TIMEQUEST_DO_REPORT_TIMING Off +set_global_assignment -name TIMEQUEST_REPORT_WORST_CASE_TIMING_PATHS Off -family "Arria V" +set_global_assignment -name TIMEQUEST_REPORT_WORST_CASE_TIMING_PATHS Off -family "Stratix IV" +set_global_assignment -name TIMEQUEST_REPORT_WORST_CASE_TIMING_PATHS On -family "Cyclone IV E" +set_global_assignment -name TIMEQUEST_REPORT_WORST_CASE_TIMING_PATHS On -family "Cyclone III" +set_global_assignment -name TIMEQUEST_REPORT_WORST_CASE_TIMING_PATHS On -family "MAX V" +set_global_assignment -name TIMEQUEST_REPORT_WORST_CASE_TIMING_PATHS Off -family "Stratix V" +set_global_assignment -name TIMEQUEST_REPORT_WORST_CASE_TIMING_PATHS Off -family "Arria V GZ" +set_global_assignment -name TIMEQUEST_REPORT_WORST_CASE_TIMING_PATHS On -family "MAX II" +set_global_assignment -name TIMEQUEST_REPORT_WORST_CASE_TIMING_PATHS Off -family "Arria II GX" +set_global_assignment -name TIMEQUEST_REPORT_WORST_CASE_TIMING_PATHS Off -family "Arria II GZ" +set_global_assignment -name TIMEQUEST_REPORT_WORST_CASE_TIMING_PATHS On -family "Cyclone IV GX" +set_global_assignment -name TIMEQUEST_REPORT_WORST_CASE_TIMING_PATHS On -family "Cyclone III LS" +set_global_assignment -name TIMEQUEST_REPORT_WORST_CASE_TIMING_PATHS Off -family "Stratix III" +set_global_assignment -name TIMEQUEST_REPORT_WORST_CASE_TIMING_PATHS Off -family "Cyclone V" +set_global_assignment -name TIMEQUEST_REPORT_NUM_WORST_CASE_TIMING_PATHS 100 +set_global_assignment -name TIMEQUEST_DO_CCPP_REMOVAL On -family "Arria V" +set_global_assignment -name TIMEQUEST_DO_CCPP_REMOVAL On -family "Cyclone IV E" +set_global_assignment -name TIMEQUEST_DO_CCPP_REMOVAL On -family "Stratix IV" +set_global_assignment -name TIMEQUEST_DO_CCPP_REMOVAL On -family "Cyclone III" +set_global_assignment -name TIMEQUEST_DO_CCPP_REMOVAL Off -family "MAX V" +set_global_assignment -name TIMEQUEST_DO_CCPP_REMOVAL On -family "Stratix V" +set_global_assignment -name TIMEQUEST_DO_CCPP_REMOVAL On -family "Arria V GZ" +set_global_assignment -name TIMEQUEST_DO_CCPP_REMOVAL Off -family "MAX II" +set_global_assignment -name TIMEQUEST_DO_CCPP_REMOVAL On -family "Arria II GX" +set_global_assignment -name TIMEQUEST_DO_CCPP_REMOVAL On -family "Arria II GZ" +set_global_assignment -name TIMEQUEST_DO_CCPP_REMOVAL On -family "Cyclone IV GX" +set_global_assignment -name TIMEQUEST_DO_CCPP_REMOVAL On -family "Cyclone III LS" +set_global_assignment -name TIMEQUEST_DO_CCPP_REMOVAL On -family "Stratix III" +set_global_assignment -name TIMEQUEST_DO_CCPP_REMOVAL On -family "Cyclone V" +set_global_assignment -name MUX_RESTRUCTURE Auto +set_global_assignment -name MLAB_ADD_TIMING_CONSTRAINTS_FOR_MIXED_PORT_FEED_THROUGH_MODE_SETTING_DONT_CARE Off +set_global_assignment -name ENABLE_IP_DEBUG Off +set_global_assignment -name SAVE_DISK_SPACE On +set_global_assignment -name DISABLE_OCP_HW_EVAL Off +set_global_assignment -name DEVICE_FILTER_PACKAGE Any +set_global_assignment -name DEVICE_FILTER_PIN_COUNT Any +set_global_assignment -name DEVICE_FILTER_SPEED_GRADE Any +set_global_assignment -name EDA_DESIGN_ENTRY_SYNTHESIS_TOOL "" +set_global_assignment -name VERILOG_INPUT_VERSION Verilog_2001 +set_global_assignment -name VHDL_INPUT_VERSION VHDL_1993 +set_global_assignment -name FAMILY "Cyclone IV GX" +set_global_assignment -name TRUE_WYSIWYG_FLOW Off +set_global_assignment -name SMART_COMPILE_IGNORES_TDC_FOR_STRATIX_PLL_CHANGES Off +set_global_assignment -name STATE_MACHINE_PROCESSING Auto +set_global_assignment -name SAFE_STATE_MACHINE Off +set_global_assignment -name EXTRACT_VERILOG_STATE_MACHINES On +set_global_assignment -name EXTRACT_VHDL_STATE_MACHINES On +set_global_assignment -name IGNORE_VERILOG_INITIAL_CONSTRUCTS Off +set_global_assignment -name VERILOG_CONSTANT_LOOP_LIMIT 5000 +set_global_assignment -name VERILOG_NON_CONSTANT_LOOP_LIMIT 250 +set_global_assignment -name INFER_RAMS_FROM_RAW_LOGIC On +set_global_assignment -name PARALLEL_SYNTHESIS On +set_global_assignment -name DSP_BLOCK_BALANCING Auto +set_global_assignment -name MAX_BALANCING_DSP_BLOCKS "-1 (Unlimited)" +set_global_assignment -name NOT_GATE_PUSH_BACK On +set_global_assignment -name ALLOW_POWER_UP_DONT_CARE On +set_global_assignment -name REMOVE_REDUNDANT_LOGIC_CELLS Off +set_global_assignment -name REMOVE_DUPLICATE_REGISTERS On +set_global_assignment -name IGNORE_CARRY_BUFFERS Off +set_global_assignment -name IGNORE_CASCADE_BUFFERS Off +set_global_assignment -name IGNORE_GLOBAL_BUFFERS Off +set_global_assignment -name IGNORE_ROW_GLOBAL_BUFFERS Off +set_global_assignment -name IGNORE_LCELL_BUFFERS Off +set_global_assignment -name MAX7000_IGNORE_LCELL_BUFFERS AUTO +set_global_assignment -name IGNORE_SOFT_BUFFERS On +set_global_assignment -name MAX7000_IGNORE_SOFT_BUFFERS Off +set_global_assignment -name LIMIT_AHDL_INTEGERS_TO_32_BITS Off +set_global_assignment -name AUTO_GLOBAL_CLOCK_MAX On +set_global_assignment -name AUTO_GLOBAL_OE_MAX On +set_global_assignment -name MAX_AUTO_GLOBAL_REGISTER_CONTROLS On +set_global_assignment -name AUTO_IMPLEMENT_IN_ROM Off +set_global_assignment -name APEX20K_TECHNOLOGY_MAPPER Lut +set_global_assignment -name OPTIMIZATION_TECHNIQUE Balanced +set_global_assignment -name STRATIXII_OPTIMIZATION_TECHNIQUE Balanced +set_global_assignment -name CYCLONE_OPTIMIZATION_TECHNIQUE Balanced +set_global_assignment -name CYCLONEII_OPTIMIZATION_TECHNIQUE Balanced +set_global_assignment -name STRATIX_OPTIMIZATION_TECHNIQUE Balanced +set_global_assignment -name MAXII_OPTIMIZATION_TECHNIQUE Balanced +set_global_assignment -name MAX7000_OPTIMIZATION_TECHNIQUE Speed +set_global_assignment -name APEX20K_OPTIMIZATION_TECHNIQUE Balanced +set_global_assignment -name MERCURY_OPTIMIZATION_TECHNIQUE Area +set_global_assignment -name FLEX6K_OPTIMIZATION_TECHNIQUE Area +set_global_assignment -name FLEX10K_OPTIMIZATION_TECHNIQUE Area +set_global_assignment -name ALLOW_XOR_GATE_USAGE On +set_global_assignment -name AUTO_LCELL_INSERTION On +set_global_assignment -name CARRY_CHAIN_LENGTH 48 +set_global_assignment -name FLEX6K_CARRY_CHAIN_LENGTH 32 +set_global_assignment -name FLEX10K_CARRY_CHAIN_LENGTH 32 +set_global_assignment -name MERCURY_CARRY_CHAIN_LENGTH 48 +set_global_assignment -name STRATIX_CARRY_CHAIN_LENGTH 70 +set_global_assignment -name STRATIXII_CARRY_CHAIN_LENGTH 70 +set_global_assignment -name CASCADE_CHAIN_LENGTH 2 +set_global_assignment -name PARALLEL_EXPANDER_CHAIN_LENGTH 16 +set_global_assignment -name MAX7000_PARALLEL_EXPANDER_CHAIN_LENGTH 4 +set_global_assignment -name AUTO_CARRY_CHAINS On +set_global_assignment -name AUTO_CASCADE_CHAINS On +set_global_assignment -name AUTO_PARALLEL_EXPANDERS On +set_global_assignment -name AUTO_OPEN_DRAIN_PINS On +set_global_assignment -name ADV_NETLIST_OPT_SYNTH_WYSIWYG_REMAP Off +set_global_assignment -name AUTO_ROM_RECOGNITION On +set_global_assignment -name AUTO_RAM_RECOGNITION On +set_global_assignment -name AUTO_DSP_RECOGNITION On +set_global_assignment -name AUTO_SHIFT_REGISTER_RECOGNITION Auto +set_global_assignment -name ALLOW_SHIFT_REGISTER_MERGING_ACROSS_HIERARCHIES Auto +set_global_assignment -name AUTO_CLOCK_ENABLE_RECOGNITION On +set_global_assignment -name STRICT_RAM_RECOGNITION Off +set_global_assignment -name ALLOW_SYNCH_CTRL_USAGE On +set_global_assignment -name FORCE_SYNCH_CLEAR Off +set_global_assignment -name AUTO_RAM_BLOCK_BALANCING On +set_global_assignment -name AUTO_RAM_TO_LCELL_CONVERSION Off +set_global_assignment -name AUTO_RESOURCE_SHARING Off +set_global_assignment -name ALLOW_ANY_RAM_SIZE_FOR_RECOGNITION Off +set_global_assignment -name ALLOW_ANY_ROM_SIZE_FOR_RECOGNITION Off +set_global_assignment -name ALLOW_ANY_SHIFT_REGISTER_SIZE_FOR_RECOGNITION Off +set_global_assignment -name MAX7000_FANIN_PER_CELL 100 +set_global_assignment -name USE_LOGICLOCK_CONSTRAINTS_IN_BALANCING On +set_global_assignment -name MAX_RAM_BLOCKS_M512 "-1 (Unlimited)" +set_global_assignment -name MAX_RAM_BLOCKS_M4K "-1 (Unlimited)" +set_global_assignment -name MAX_RAM_BLOCKS_MRAM "-1 (Unlimited)" +set_global_assignment -name IGNORE_TRANSLATE_OFF_AND_SYNTHESIS_OFF Off +set_global_assignment -name STRATIXGX_BYPASS_REMAPPING_OF_FORCE_SIGNAL_DETECT_SIGNAL_THRESHOLD_SELECT Off +set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Arria II GZ" +set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Arria V" +set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Cyclone IV GX" +set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Stratix IV" +set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Cyclone IV E" +set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Cyclone III LS" +set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Cyclone III" +set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Stratix III" +set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Stratix V" +set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Arria V GZ" +set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Cyclone V" +set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Arria II GX" +set_global_assignment -name REPORT_PARAMETER_SETTINGS On +set_global_assignment -name REPORT_SOURCE_ASSIGNMENTS On +set_global_assignment -name REPORT_CONNECTIVITY_CHECKS On +set_global_assignment -name IGNORE_MAX_FANOUT_ASSIGNMENTS Off +set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 3 -family "Arria V" +set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 2 -family "Cyclone IV E" +set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 3 -family "Stratix IV" +set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 2 -family "Cyclone III" +set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 2 -family "MAX V" +set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 3 -family "Stratix V" +set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 2 -family "MAX II" +set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 3 -family "Arria V GZ" +set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 3 -family "Arria II GX" +set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 3 -family "Arria II GZ" +set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 2 -family "Cyclone IV GX" +set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 2 -family "Cyclone III LS" +set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 2 -family "Stratix III" +set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 3 -family "Cyclone V" +set_global_assignment -name OPTIMIZE_POWER_DURING_SYNTHESIS "Normal compilation" +set_global_assignment -name HDL_MESSAGE_LEVEL Level2 +set_global_assignment -name USE_HIGH_SPEED_ADDER Auto +set_global_assignment -name NUMBER_OF_REMOVED_REGISTERS_REPORTED 5000 +set_global_assignment -name NUMBER_OF_SWEPT_NODES_REPORTED 5000 +set_global_assignment -name NUMBER_OF_INVERTED_REGISTERS_REPORTED 100 +set_global_assignment -name SYNTH_CLOCK_MUX_PROTECTION On +set_global_assignment -name SYNTH_GATED_CLOCK_CONVERSION Off +set_global_assignment -name BLOCK_DESIGN_NAMING Auto +set_global_assignment -name SYNTH_PROTECT_SDC_CONSTRAINT Off +set_global_assignment -name SYNTHESIS_EFFORT Auto +set_global_assignment -name SHIFT_REGISTER_RECOGNITION_ACLR_SIGNAL On +set_global_assignment -name PRE_MAPPING_RESYNTHESIS Off +set_global_assignment -name SYNTH_MESSAGE_LEVEL Medium +set_global_assignment -name DISABLE_REGISTER_MERGING_ACROSS_HIERARCHIES Auto +set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Arria II GZ" +set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Arria V" +set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Cyclone IV GX" +set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Stratix IV" +set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Cyclone IV E" +set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Cyclone III LS" +set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Cyclone III" +set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Stratix III" +set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Stratix V" +set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Arria V GZ" +set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Cyclone V" +set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Arria II GX" +set_global_assignment -name MAX_LABS "-1 (Unlimited)" +set_global_assignment -name RBCGEN_CRITICAL_WARNING_TO_ERROR On +set_global_assignment -name SYNTHESIS_SEED 1 +set_global_assignment -name MAX_NUMBER_OF_REGISTERS_FROM_UNINFERRED_RAMS "-1 (Unlimited)" +set_global_assignment -name AUTO_PARALLEL_SYNTHESIS On +set_global_assignment -name FLEX10K_ENABLE_LOCK_OUTPUT Off +set_global_assignment -name AUTO_MERGE_PLLS On +set_global_assignment -name IGNORE_MODE_FOR_MERGE Off +set_global_assignment -name TXPMA_SLEW_RATE Low +set_global_assignment -name ADCE_ENABLED Auto +set_global_assignment -name ROUTER_TIMING_OPTIMIZATION_LEVEL Normal +set_global_assignment -name ROUTER_CLOCKING_TOPOLOGY_ANALYSIS Off +set_global_assignment -name PLACEMENT_EFFORT_MULTIPLIER 1.0 +set_global_assignment -name ROUTER_EFFORT_MULTIPLIER 1.0 +set_global_assignment -name FIT_ATTEMPTS_TO_SKIP 0.0 +set_global_assignment -name ECO_ALLOW_ROUTING_CHANGES Off +set_global_assignment -name DEVICE AUTO +set_global_assignment -name BASE_PIN_OUT_FILE_ON_SAMEFRAME_DEVICE Off +set_global_assignment -name ENABLE_JTAG_BST_SUPPORT Off +set_global_assignment -name MAX7000_ENABLE_JTAG_BST_SUPPORT On +set_global_assignment -name ENABLE_NCEO_OUTPUT Off +set_global_assignment -name RESERVE_NCEO_AFTER_CONFIGURATION "Use as regular IO" +set_global_assignment -name CYCLONEII_RESERVE_NCEO_AFTER_CONFIGURATION "Use as programming pin" +set_global_assignment -name STRATIXIII_UPDATE_MODE Standard +set_global_assignment -name STRATIX_UPDATE_MODE Standard +set_global_assignment -name INTERNAL_FLASH_UPDATE_MODE Standard +set_global_assignment -name FALLBACK_TO_EXTERNAL_FLASH Off +set_global_assignment -name EXTERNAL_FLASH_FALLBACK_ADDRESS 00000000 +set_global_assignment -name CVP_MODE Off +set_global_assignment -name STRATIXV_CONFIGURATION_SCHEME "Passive Serial" +set_global_assignment -name STRATIXIII_CONFIGURATION_SCHEME "Passive Serial" +set_global_assignment -name MAX10FPGA_CONFIGURATION_SCHEME "Internal Configuration" +set_global_assignment -name CYCLONEIII_CONFIGURATION_SCHEME "Active Serial" +set_global_assignment -name STRATIXII_CONFIGURATION_SCHEME "Passive Serial" +set_global_assignment -name CYCLONEII_CONFIGURATION_SCHEME "Active Serial" +set_global_assignment -name APEX20K_CONFIGURATION_SCHEME "Passive Serial" +set_global_assignment -name STRATIX_CONFIGURATION_SCHEME "Passive Serial" +set_global_assignment -name CYCLONE_CONFIGURATION_SCHEME "Active Serial" +set_global_assignment -name MERCURY_CONFIGURATION_SCHEME "Passive Serial" +set_global_assignment -name FLEX6K_CONFIGURATION_SCHEME "Passive Serial" +set_global_assignment -name FLEX10K_CONFIGURATION_SCHEME "Passive Serial" +set_global_assignment -name APEXII_CONFIGURATION_SCHEME "Passive Serial" +set_global_assignment -name USER_START_UP_CLOCK Off +set_global_assignment -name DEVICE_INITIALIZATION_CLOCK INIT_INTOSC +set_global_assignment -name ENABLE_VREFA_PIN Off +set_global_assignment -name ENABLE_VREFB_PIN Off +set_global_assignment -name ALWAYS_ENABLE_INPUT_BUFFERS Off +set_global_assignment -name ENABLE_ASMI_FOR_FLASH_LOADER Off +set_global_assignment -name ENABLE_DEVICE_WIDE_RESET Off +set_global_assignment -name ENABLE_DEVICE_WIDE_OE Off +set_global_assignment -name RESERVE_ALL_UNUSED_PINS "As output driving ground" +set_global_assignment -name ENABLE_INIT_DONE_OUTPUT Off +set_global_assignment -name INIT_DONE_OPEN_DRAIN On +set_global_assignment -name RESERVE_NWS_NRS_NCS_CS_AFTER_CONFIGURATION "Use as regular IO" +set_global_assignment -name RESERVE_RDYNBUSY_AFTER_CONFIGURATION "Use as regular IO" +set_global_assignment -name RESERVE_DATA31_THROUGH_DATA16_AFTER_CONFIGURATION "Use as regular IO" +set_global_assignment -name RESERVE_DATA15_THROUGH_DATA8_AFTER_CONFIGURATION "Use as regular IO" +set_global_assignment -name RESERVE_DATA7_THROUGH_DATA1_AFTER_CONFIGURATION "Use as regular IO" +set_global_assignment -name RESERVE_DATA0_AFTER_CONFIGURATION "As input tri-stated" +set_global_assignment -name RESERVE_DATA1_AFTER_CONFIGURATION "As input tri-stated" +set_global_assignment -name RESERVE_DATA7_THROUGH_DATA2_AFTER_CONFIGURATION "Use as regular IO" +set_global_assignment -name RESERVE_DATA7_THROUGH_DATA5_AFTER_CONFIGURATION "Use as regular IO" +set_global_assignment -name RESERVE_FLASH_NCE_AFTER_CONFIGURATION "As input tri-stated" +set_global_assignment -name RESERVE_OTHER_AP_PINS_AFTER_CONFIGURATION "Use as regular IO" +set_global_assignment -name RESERVE_DCLK_AFTER_CONFIGURATION "Use as programming pin" +set_global_assignment -name ENABLE_CONFIGURATION_PINS On +set_global_assignment -name ENABLE_JTAG_PIN_SHARING Off +set_global_assignment -name ENABLE_NCE_PIN On +set_global_assignment -name ENABLE_BOOT_SEL_PIN On +set_global_assignment -name CRC_ERROR_CHECKING Off +set_global_assignment -name INTERNAL_SCRUBBING Off +set_global_assignment -name PR_ERROR_OPEN_DRAIN On +set_global_assignment -name PR_READY_OPEN_DRAIN On +set_global_assignment -name ENABLE_CVP_CONFDONE Off +set_global_assignment -name CVP_CONFDONE_OPEN_DRAIN On +set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Arria II GZ" +set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Arria V" +set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Cyclone IV GX" +set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Stratix IV" +set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Cyclone IV E" +set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Cyclone III LS" +set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Cyclone III" +set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Stratix III" +set_global_assignment -name OPTIMIZE_HOLD_TIMING "IO Paths and Minimum TPD Paths" -family "MAX V" +set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Stratix V" +set_global_assignment -name OPTIMIZE_HOLD_TIMING "IO Paths and Minimum TPD Paths" -family "MAX II" +set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Arria V GZ" +set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Cyclone V" +set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Arria II GX" +set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Arria V" +set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Cyclone IV E" +set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Stratix IV" +set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Cyclone III" +set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING Off -family "MAX V" +set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Stratix V" +set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Arria V GZ" +set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING Off -family "MAX II" +set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Arria II GX" +set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Arria II GZ" +set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Cyclone IV GX" +set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Cyclone III LS" +set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Stratix III" +set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Cyclone V" +set_global_assignment -name BLOCK_RAM_TO_MLAB_CELL_CONVERSION On +set_global_assignment -name BLOCK_RAM_AND_MLAB_EQUIVALENT_POWER_UP_CONDITIONS Auto +set_global_assignment -name BLOCK_RAM_AND_MLAB_EQUIVALENT_PAUSED_READ_CAPABILITIES Care +set_global_assignment -name PROGRAMMABLE_POWER_TECHNOLOGY_SETTING Automatic +set_global_assignment -name PROGRAMMABLE_POWER_MAXIMUM_HIGH_SPEED_FRACTION_OF_USED_LAB_TILES 1.0 +set_global_assignment -name GUARANTEE_MIN_DELAY_CORNER_IO_ZERO_HOLD_TIME On +set_global_assignment -name OPTIMIZE_POWER_DURING_FITTING "Normal compilation" +set_global_assignment -name OPTIMIZE_SSN Off +set_global_assignment -name OPTIMIZE_TIMING "Normal compilation" +set_global_assignment -name ECO_OPTIMIZE_TIMING Off +set_global_assignment -name ECO_REGENERATE_REPORT Off +set_global_assignment -name OPTIMIZE_IOC_REGISTER_PLACEMENT_FOR_TIMING Normal +set_global_assignment -name FIT_ONLY_ONE_ATTEMPT Off +set_global_assignment -name FINAL_PLACEMENT_OPTIMIZATION Automatically +set_global_assignment -name FITTER_AGGRESSIVE_ROUTABILITY_OPTIMIZATION Automatically +set_global_assignment -name SEED 1 +set_global_assignment -name SLOW_SLEW_RATE Off +set_global_assignment -name PCI_IO Off +set_global_assignment -name VREF_MODE EXTERNAL +set_global_assignment -name TURBO_BIT On +set_global_assignment -name WEAK_PULL_UP_RESISTOR Off +set_global_assignment -name ENABLE_BUS_HOLD_CIRCUITRY Off +set_global_assignment -name AUTO_GLOBAL_MEMORY_CONTROLS Off +set_global_assignment -name MIGRATION_CONSTRAIN_CORE_RESOURCES On +set_global_assignment -name AUTO_PACKED_REGISTERS_STRATIXII AUTO +set_global_assignment -name AUTO_PACKED_REGISTERS_MAXII AUTO +set_global_assignment -name AUTO_PACKED_REGISTERS_CYCLONE Auto +set_global_assignment -name AUTO_PACKED_REGISTERS Off +set_global_assignment -name AUTO_PACKED_REGISTERS_STRATIX AUTO +set_global_assignment -name NORMAL_LCELL_INSERT On +set_global_assignment -name CARRY_OUT_PINS_LCELL_INSERT On +set_global_assignment -name AUTO_DELAY_CHAINS On +set_global_assignment -name AUTO_DELAY_CHAINS_FOR_HIGH_FANOUT_INPUT_PINS OFF +set_global_assignment -name XSTL_INPUT_ALLOW_SE_BUFFER Off +set_global_assignment -name TREAT_BIDIR_AS_OUTPUT Off +set_global_assignment -name AUTO_TURBO_BIT ON +set_global_assignment -name PHYSICAL_SYNTHESIS_COMBO_LOGIC_FOR_AREA Off +set_global_assignment -name PHYSICAL_SYNTHESIS_COMBO_LOGIC Off +set_global_assignment -name PHYSICAL_SYNTHESIS_LOG_FILE Off +set_global_assignment -name PHYSICAL_SYNTHESIS_REGISTER_DUPLICATION Off +set_global_assignment -name PHYSICAL_SYNTHESIS_MAP_LOGIC_TO_MEMORY_FOR_AREA Off +set_global_assignment -name PHYSICAL_SYNTHESIS_REGISTER_RETIMING Off +set_global_assignment -name PHYSICAL_SYNTHESIS_ASYNCHRONOUS_SIGNAL_PIPELINING Off +set_global_assignment -name IO_PLACEMENT_OPTIMIZATION On +set_global_assignment -name ALLOW_LVTTL_LVCMOS_INPUT_LEVELS_TO_OVERDRIVE_INPUT_BUFFER Off +set_global_assignment -name OVERRIDE_DEFAULT_ELECTROMIGRATION_PARAMETERS Off +set_global_assignment -name FITTER_EFFORT "Auto Fit" +set_global_assignment -name FITTER_AUTO_EFFORT_DESIRED_SLACK_MARGIN 0ns +set_global_assignment -name PHYSICAL_SYNTHESIS_EFFORT Normal +set_global_assignment -name ROUTER_LCELL_INSERTION_AND_LOGIC_DUPLICATION AUTO +set_global_assignment -name ROUTER_REGISTER_DUPLICATION AUTO +set_global_assignment -name STRATIXGX_ALLOW_CLOCK_FANOUT_WITH_ANALOG_RESET Off +set_global_assignment -name AUTO_GLOBAL_CLOCK On +set_global_assignment -name AUTO_GLOBAL_OE On +set_global_assignment -name AUTO_GLOBAL_REGISTER_CONTROLS On +set_global_assignment -name FITTER_EARLY_TIMING_ESTIMATE_MODE Realistic +set_global_assignment -name STRATIXGX_ALLOW_GIGE_UNDER_FULL_DATARATE_RANGE Off +set_global_assignment -name STRATIXGX_ALLOW_RX_CORECLK_FROM_NON_RX_CLKOUT_SOURCE_IN_DOUBLE_DATA_WIDTH_MODE Off +set_global_assignment -name STRATIXGX_ALLOW_GIGE_IN_DOUBLE_DATA_WIDTH_MODE Off +set_global_assignment -name STRATIXGX_ALLOW_PARALLEL_LOOPBACK_IN_DOUBLE_DATA_WIDTH_MODE Off +set_global_assignment -name STRATIXGX_ALLOW_XAUI_IN_SINGLE_DATA_WIDTH_MODE Off +set_global_assignment -name STRATIXGX_ALLOW_XAUI_WITH_CORECLK_SELECTED_AT_RATE_MATCHER Off +set_global_assignment -name STRATIXGX_ALLOW_XAUI_WITH_RX_CORECLK_FROM_NON_TXPLL_SOURCE Off +set_global_assignment -name STRATIXGX_ALLOW_GIGE_WITH_CORECLK_SELECTED_AT_RATE_MATCHER Off +set_global_assignment -name STRATIXGX_ALLOW_GIGE_WITHOUT_8B10B Off +set_global_assignment -name STRATIXGX_ALLOW_GIGE_WITH_RX_CORECLK_FROM_NON_TXPLL_SOURCE Off +set_global_assignment -name STRATIXGX_ALLOW_POST8B10B_LOOPBACK Off +set_global_assignment -name STRATIXGX_ALLOW_REVERSE_PARALLEL_LOOPBACK Off +set_global_assignment -name STRATIXGX_ALLOW_USE_OF_GXB_COUPLED_IOS Off +set_global_assignment -name GENERATE_GXB_RECONFIG_MIF Off +set_global_assignment -name GENERATE_GXB_RECONFIG_MIF_WITH_PLL Off +set_global_assignment -name RESERVE_ALL_UNUSED_PINS_WEAK_PULLUP "As input tri-stated with weak pull-up" +set_global_assignment -name ENABLE_HOLD_BACK_OFF On +set_global_assignment -name CONFIGURATION_VCCIO_LEVEL Auto +set_global_assignment -name FORCE_CONFIGURATION_VCCIO Off +set_global_assignment -name SYNCHRONIZER_IDENTIFICATION Off +set_global_assignment -name ENABLE_BENEFICIAL_SKEW_OPTIMIZATION On +set_global_assignment -name OPTIMIZE_FOR_METASTABILITY On +set_global_assignment -name CRC_ERROR_OPEN_DRAIN On -family "Arria V" +set_global_assignment -name CRC_ERROR_OPEN_DRAIN Off -family "Cyclone IV E" +set_global_assignment -name CRC_ERROR_OPEN_DRAIN Off -family "Cyclone III" +set_global_assignment -name CRC_ERROR_OPEN_DRAIN On -family "Stratix V" +set_global_assignment -name CRC_ERROR_OPEN_DRAIN On -family "Arria V GZ" +set_global_assignment -name CRC_ERROR_OPEN_DRAIN Off -family "Cyclone III LS" +set_global_assignment -name CRC_ERROR_OPEN_DRAIN Off -family "Stratix III" +set_global_assignment -name CRC_ERROR_OPEN_DRAIN On -family "Cyclone V" +set_global_assignment -name MAX_GLOBAL_CLOCKS_ALLOWED "-1 (Unlimited)" +set_global_assignment -name MAX_REGIONAL_CLOCKS_ALLOWED "-1 (Unlimited)" +set_global_assignment -name MAX_PERIPHERY_CLOCKS_ALLOWED "-1 (Unlimited)" +set_global_assignment -name MAX_LARGE_PERIPHERY_CLOCKS_ALLOWED "-1 (Unlimited)" +set_global_assignment -name MAX_CLOCKS_ALLOWED "-1 (Unlimited)" +set_global_assignment -name ACTIVE_SERIAL_CLOCK FREQ_100MHz -family "Arria V" +set_global_assignment -name ACTIVE_SERIAL_CLOCK FREQ_100MHz -family "Stratix V" +set_global_assignment -name ACTIVE_SERIAL_CLOCK FREQ_40MHz -family "Cyclone IV GX" +set_global_assignment -name ACTIVE_SERIAL_CLOCK FREQ_100MHz -family "Arria V GZ" +set_global_assignment -name ACTIVE_SERIAL_CLOCK FREQ_40MHz -family "Arria II GX" +set_global_assignment -name ACTIVE_SERIAL_CLOCK FREQ_100MHz -family "Cyclone V" +set_global_assignment -name M144K_BLOCK_READ_CLOCK_DUTY_CYCLE_DEPENDENCY Off +set_global_assignment -name STRATIXIII_MRAM_COMPATIBILITY On +set_global_assignment -name FORCE_FITTER_TO_AVOID_PERIPHERY_PLACEMENT_WARNINGS Off +set_global_assignment -name AUTO_C3_M9K_BIT_SKIP Off +set_global_assignment -name PR_DONE_OPEN_DRAIN On +set_global_assignment -name NCEO_OPEN_DRAIN On +set_global_assignment -name ENABLE_CRC_ERROR_PIN Off +set_global_assignment -name ENABLE_PR_PINS Off +set_global_assignment -name PR_PINS_OPEN_DRAIN Off +set_global_assignment -name CLAMPING_DIODE Off +set_global_assignment -name TRI_STATE_SPI_PINS Off +set_global_assignment -name UNUSED_TSD_PINS_GND Off +set_global_assignment -name IMPLEMENT_MLAB_IN_16_BIT_DEEP_MODE Off +set_global_assignment -name FORM_DDR_CLUSTERING_CLIQUE Off +set_global_assignment -name ALM_REGISTER_PACKING_EFFORT MEDIUM +set_global_assignment -name EDA_SIMULATION_TOOL "" +set_global_assignment -name EDA_TIMING_ANALYSIS_TOOL "" +set_global_assignment -name EDA_BOARD_DESIGN_TIMING_TOOL "" +set_global_assignment -name EDA_BOARD_DESIGN_SYMBOL_TOOL "" +set_global_assignment -name EDA_BOARD_DESIGN_SIGNAL_INTEGRITY_TOOL "" +set_global_assignment -name EDA_BOARD_DESIGN_BOUNDARY_SCAN_TOOL "" +set_global_assignment -name EDA_BOARD_DESIGN_TOOL "" +set_global_assignment -name EDA_FORMAL_VERIFICATION_TOOL "" +set_global_assignment -name EDA_RESYNTHESIS_TOOL "" +set_global_assignment -name ON_CHIP_BITSTREAM_DECOMPRESSION On +set_global_assignment -name COMPRESSION_MODE Off +set_global_assignment -name CLOCK_SOURCE Internal +set_global_assignment -name CONFIGURATION_CLOCK_FREQUENCY "10 MHz" +set_global_assignment -name CONFIGURATION_CLOCK_DIVISOR 1 +set_global_assignment -name ENABLE_LOW_VOLTAGE_MODE_ON_CONFIG_DEVICE On +set_global_assignment -name FLEX6K_ENABLE_LOW_VOLTAGE_MODE_ON_CONFIG_DEVICE Off +set_global_assignment -name FLEX10K_ENABLE_LOW_VOLTAGE_MODE_ON_CONFIG_DEVICE On +set_global_assignment -name MAX7000S_JTAG_USER_CODE FFFF +set_global_assignment -name STRATIX_JTAG_USER_CODE FFFFFFFF +set_global_assignment -name APEX20K_JTAG_USER_CODE FFFFFFFF +set_global_assignment -name MERCURY_JTAG_USER_CODE FFFFFFFF +set_global_assignment -name FLEX10K_JTAG_USER_CODE 7F +set_global_assignment -name MAX7000_JTAG_USER_CODE FFFFFFFF +set_global_assignment -name MAX7000_USE_CHECKSUM_AS_USERCODE Off +set_global_assignment -name USE_CHECKSUM_AS_USERCODE On +set_global_assignment -name SECURITY_BIT Off +set_global_assignment -name USE_CONFIGURATION_DEVICE Off -family "Cyclone IV E" +set_global_assignment -name USE_CONFIGURATION_DEVICE Off -family "Stratix IV" +set_global_assignment -name USE_CONFIGURATION_DEVICE Off -family "Cyclone III" +set_global_assignment -name USE_CONFIGURATION_DEVICE On -family "MAX V" +set_global_assignment -name USE_CONFIGURATION_DEVICE On -family "MAX II" +set_global_assignment -name USE_CONFIGURATION_DEVICE Off -family "Arria II GX" +set_global_assignment -name USE_CONFIGURATION_DEVICE Off -family "Arria II GZ" +set_global_assignment -name USE_CONFIGURATION_DEVICE Off -family "Cyclone IV GX" +set_global_assignment -name USE_CONFIGURATION_DEVICE Off -family "Cyclone III LS" +set_global_assignment -name USE_CONFIGURATION_DEVICE Off -family "Stratix III" +set_global_assignment -name CYCLONEIII_CONFIGURATION_DEVICE Auto +set_global_assignment -name STRATIXII_CONFIGURATION_DEVICE Auto +set_global_assignment -name APEX20K_CONFIGURATION_DEVICE Auto +set_global_assignment -name MERCURY_CONFIGURATION_DEVICE Auto +set_global_assignment -name FLEX6K_CONFIGURATION_DEVICE Auto +set_global_assignment -name FLEX10K_CONFIGURATION_DEVICE Auto +set_global_assignment -name CYCLONE_CONFIGURATION_DEVICE Auto +set_global_assignment -name STRATIX_CONFIGURATION_DEVICE Auto +set_global_assignment -name APEX20K_CONFIG_DEVICE_JTAG_USER_CODE FFFFFFFF +set_global_assignment -name STRATIX_CONFIG_DEVICE_JTAG_USER_CODE FFFFFFFF +set_global_assignment -name MERCURY_CONFIG_DEVICE_JTAG_USER_CODE FFFFFFFF +set_global_assignment -name FLEX10K_CONFIG_DEVICE_JTAG_USER_CODE FFFFFFFF +set_global_assignment -name EPROM_USE_CHECKSUM_AS_USERCODE Off +set_global_assignment -name AUTO_INCREMENT_CONFIG_DEVICE_JTAG_USER_CODE On +set_global_assignment -name DISABLE_NCS_AND_OE_PULLUPS_ON_CONFIG_DEVICE Off +set_global_assignment -name GENERATE_TTF_FILE Off +set_global_assignment -name GENERATE_RBF_FILE Off +set_global_assignment -name GENERATE_HEX_FILE Off +set_global_assignment -name HEXOUT_FILE_START_ADDRESS 0 +set_global_assignment -name HEXOUT_FILE_COUNT_DIRECTION Up +set_global_assignment -name RESERVE_ALL_UNUSED_PINS_NO_OUTPUT_GND "As output driving an unspecified signal" +set_global_assignment -name RELEASE_CLEARS_BEFORE_TRI_STATES Off +set_global_assignment -name AUTO_RESTART_CONFIGURATION On +set_global_assignment -name HARDCOPYII_POWER_ON_EXTRA_DELAY Off +set_global_assignment -name STRATIXII_MRAM_COMPATIBILITY Off +set_global_assignment -name CYCLONEII_M4K_COMPATIBILITY On +set_global_assignment -name ENABLE_OCT_DONE Off +set_global_assignment -name USE_CHECKERED_PATTERN_AS_UNINITIALIZED_RAM_CONTENT OFF +set_global_assignment -name ARRIAIIGX_RX_CDR_LOCKUP_FIX_OVERRIDE Off +set_global_assignment -name ENABLE_AUTONOMOUS_PCIE_HIP Off +set_global_assignment -name START_TIME 0ns +set_global_assignment -name SIMULATION_MODE TIMING +set_global_assignment -name AUTO_USE_SIMULATION_PDB_NETLIST Off +set_global_assignment -name ADD_DEFAULT_PINS_TO_SIMULATION_OUTPUT_WAVEFORMS On +set_global_assignment -name SETUP_HOLD_DETECTION Off +set_global_assignment -name SETUP_HOLD_DETECTION_INPUT_REGISTERS_BIDIR_PINS_DISABLED Off +set_global_assignment -name CHECK_OUTPUTS Off +set_global_assignment -name SIMULATION_COVERAGE On +set_global_assignment -name SIMULATION_COMPLETE_COVERAGE_REPORT_PANEL On +set_global_assignment -name SIMULATION_MISSING_1_VALUE_COVERAGE_REPORT_PANEL On +set_global_assignment -name SIMULATION_MISSING_0_VALUE_COVERAGE_REPORT_PANEL On +set_global_assignment -name GLITCH_DETECTION Off +set_global_assignment -name GLITCH_INTERVAL 1ns +set_global_assignment -name SIMULATOR_GENERATE_SIGNAL_ACTIVITY_FILE Off +set_global_assignment -name SIMULATION_WITH_GLITCH_FILTERING_WHEN_GENERATING_SAF On +set_global_assignment -name SIMULATION_BUS_CHANNEL_GROUPING Off +set_global_assignment -name SIMULATION_VDB_RESULT_FLUSH On +set_global_assignment -name VECTOR_COMPARE_TRIGGER_MODE INPUT_EDGE +set_global_assignment -name SIMULATION_NETLIST_VIEWER Off +set_global_assignment -name SIMULATION_INTERCONNECT_DELAY_MODEL_TYPE TRANSPORT +set_global_assignment -name SIMULATION_CELL_DELAY_MODEL_TYPE TRANSPORT +set_global_assignment -name SIMULATOR_GENERATE_POWERPLAY_VCD_FILE Off +set_global_assignment -name SIMULATOR_PVT_TIMING_MODEL_TYPE AUTO +set_global_assignment -name SIMULATION_WITH_AUTO_GLITCH_FILTERING AUTO +set_global_assignment -name DRC_TOP_FANOUT 50 +set_global_assignment -name DRC_FANOUT_EXCEEDING 30 +set_global_assignment -name DRC_GATED_CLOCK_FEED 30 +set_global_assignment -name HARDCOPY_FLOW_AUTOMATION MIGRATION_ONLY +set_global_assignment -name ENABLE_DRC_SETTINGS Off +set_global_assignment -name CLK_RULE_CLKNET_CLKSPINES_THRESHOLD 25 +set_global_assignment -name DRC_DETAIL_MESSAGE_LIMIT 10 +set_global_assignment -name DRC_VIOLATION_MESSAGE_LIMIT 30 +set_global_assignment -name DRC_DEADLOCK_STATE_LIMIT 2 +set_global_assignment -name MERGE_HEX_FILE Off +set_global_assignment -name GENERATE_SVF_FILE Off +set_global_assignment -name GENERATE_ISC_FILE Off +set_global_assignment -name GENERATE_JAM_FILE Off +set_global_assignment -name GENERATE_JBC_FILE Off +set_global_assignment -name GENERATE_JBC_FILE_COMPRESSED On +set_global_assignment -name GENERATE_CONFIG_SVF_FILE Off +set_global_assignment -name GENERATE_CONFIG_ISC_FILE Off +set_global_assignment -name GENERATE_CONFIG_JAM_FILE Off +set_global_assignment -name GENERATE_CONFIG_JBC_FILE Off +set_global_assignment -name GENERATE_CONFIG_JBC_FILE_COMPRESSED On +set_global_assignment -name GENERATE_CONFIG_HEXOUT_FILE Off +set_global_assignment -name ISP_CLAMP_STATE_DEFAULT "Tri-state" +set_global_assignment -name SIGNALPROBE_ALLOW_OVERUSE Off +set_global_assignment -name SIGNALPROBE_DURING_NORMAL_COMPILATION Off +set_global_assignment -name POWER_DEFAULT_TOGGLE_RATE 12.5% +set_global_assignment -name POWER_DEFAULT_INPUT_IO_TOGGLE_RATE 12.5% +set_global_assignment -name POWER_USE_PVA On +set_global_assignment -name POWER_USE_INPUT_FILE "No File" +set_global_assignment -name POWER_USE_INPUT_FILES Off +set_global_assignment -name POWER_VCD_FILTER_GLITCHES On +set_global_assignment -name POWER_REPORT_SIGNAL_ACTIVITY Off +set_global_assignment -name POWER_REPORT_POWER_DISSIPATION Off +set_global_assignment -name POWER_USE_DEVICE_CHARACTERISTICS TYPICAL +set_global_assignment -name POWER_AUTO_COMPUTE_TJ On +set_global_assignment -name POWER_TJ_VALUE 25 +set_global_assignment -name POWER_USE_TA_VALUE 25 +set_global_assignment -name POWER_USE_CUSTOM_COOLING_SOLUTION Off +set_global_assignment -name POWER_BOARD_TEMPERATURE 25 +set_global_assignment -name POWER_HPS_ENABLE Off +set_global_assignment -name POWER_HPS_PROC_FREQ 0.0 +set_global_assignment -name IGNORE_PARTITIONS Off +set_global_assignment -name AUTO_EXPORT_INCREMENTAL_COMPILATION Off +set_global_assignment -name RAPID_RECOMPILE_ASSIGNMENT_CHECKING On +set_global_assignment -name OUTPUT_IO_TIMING_ENDPOINT "Near End" +set_global_assignment -name RTLV_REMOVE_FANOUT_FREE_REGISTERS On +set_global_assignment -name RTLV_SIMPLIFIED_LOGIC On +set_global_assignment -name RTLV_GROUP_RELATED_NODES On +set_global_assignment -name RTLV_GROUP_COMB_LOGIC_IN_CLOUD Off +set_global_assignment -name RTLV_GROUP_COMB_LOGIC_IN_CLOUD_TMV Off +set_global_assignment -name RTLV_GROUP_RELATED_NODES_TMV On +set_global_assignment -name EQC_CONSTANT_DFF_DETECTION On +set_global_assignment -name EQC_DUPLICATE_DFF_DETECTION On +set_global_assignment -name EQC_BBOX_MERGE On +set_global_assignment -name EQC_LVDS_MERGE On +set_global_assignment -name EQC_RAM_UNMERGING On +set_global_assignment -name EQC_DFF_SS_EMULATION On +set_global_assignment -name EQC_RAM_REGISTER_UNPACK On +set_global_assignment -name EQC_MAC_REGISTER_UNPACK On +set_global_assignment -name EQC_SET_PARTITION_BB_TO_VCC_GND On +set_global_assignment -name EQC_STRUCTURE_MATCHING On +set_global_assignment -name EQC_AUTO_BREAK_CONE On +set_global_assignment -name EQC_POWER_UP_COMPARE Off +set_global_assignment -name EQC_AUTO_COMP_LOOP_CUT On +set_global_assignment -name EQC_AUTO_INVERSION On +set_global_assignment -name EQC_AUTO_TERMINATE On +set_global_assignment -name EQC_SUB_CONE_REPORT Off +set_global_assignment -name EQC_RENAMING_RULES On +set_global_assignment -name EQC_PARAMETER_CHECK On +set_global_assignment -name EQC_AUTO_PORTSWAP On +set_global_assignment -name EQC_DETECT_DONT_CARES On +set_global_assignment -name EQC_SHOW_ALL_MAPPED_POINTS Off +set_global_assignment -name EDA_INPUT_GND_NAME GND -section_id ? +set_global_assignment -name EDA_INPUT_VCC_NAME VCC -section_id ? +set_global_assignment -name EDA_INPUT_DATA_FORMAT NONE -section_id ? +set_global_assignment -name EDA_SHOW_LMF_MAPPING_MESSAGES Off -section_id ? +set_global_assignment -name EDA_RUN_TOOL_AUTOMATICALLY Off -section_id ? +set_global_assignment -name RESYNTHESIS_RETIMING FULL -section_id ? +set_global_assignment -name RESYNTHESIS_OPTIMIZATION_EFFORT Normal -section_id ? +set_global_assignment -name RESYNTHESIS_PHYSICAL_SYNTHESIS Normal -section_id ? +set_global_assignment -name USE_GENERATED_PHYSICAL_CONSTRAINTS On -section_id ? +set_global_assignment -name VCCPD_VOLTAGE 3.3V -section_id ? +set_global_assignment -name EDA_USER_COMPILED_SIMULATION_LIBRARY_DIRECTORY "" -section_id ? +set_global_assignment -name EDA_LAUNCH_CMD_LINE_TOOL Off -section_id ? +set_global_assignment -name EDA_ENABLE_IPUTF_MODE On -section_id ? +set_global_assignment -name EDA_NATIVELINK_PORTABLE_FILE_PATHS Off -section_id ? +set_global_assignment -name EDA_NATIVELINK_GENERATE_SCRIPT_ONLY Off -section_id ? +set_global_assignment -name EDA_WAIT_FOR_GUI_TOOL_COMPLETION Off -section_id ? +set_global_assignment -name EDA_TRUNCATE_LONG_HIERARCHY_PATHS Off -section_id ? +set_global_assignment -name EDA_FLATTEN_BUSES Off -section_id ? +set_global_assignment -name EDA_MAP_ILLEGAL_CHARACTERS Off -section_id ? +set_global_assignment -name EDA_GENERATE_TIMING_CLOSURE_DATA Off -section_id ? +set_global_assignment -name EDA_GENERATE_POWER_INPUT_FILE Off -section_id ? +set_global_assignment -name EDA_TEST_BENCH_ENABLE_STATUS NOT_USED -section_id ? +set_global_assignment -name EDA_RTL_SIM_MODE NOT_USED -section_id ? +set_global_assignment -name EDA_MAINTAIN_DESIGN_HIERARCHY OFF -section_id ? +set_global_assignment -name EDA_GENERATE_FUNCTIONAL_NETLIST Off -section_id ? +set_global_assignment -name EDA_WRITE_DEVICE_CONTROL_PORTS Off -section_id ? +set_global_assignment -name EDA_SIMULATION_VCD_OUTPUT_TCL_FILE Off -section_id ? +set_global_assignment -name EDA_SIMULATION_VCD_OUTPUT_SIGNALS_TO_TCL_FILE "All Except Combinational Logic Element Outputs" -section_id ? +set_global_assignment -name EDA_ENABLE_GLITCH_FILTERING Off -section_id ? +set_global_assignment -name EDA_WRITE_NODES_FOR_POWER_ESTIMATION OFF -section_id ? +set_global_assignment -name EDA_SETUP_HOLD_DETECTION_INPUT_REGISTERS_BIDIR_PINS_DISABLED Off -section_id ? +set_global_assignment -name EDA_WRITER_DONT_WRITE_TOP_ENTITY Off -section_id ? +set_global_assignment -name EDA_VHDL_ARCH_NAME structure -section_id ? +set_global_assignment -name EDA_IBIS_MODEL_SELECTOR Off -section_id ? +set_global_assignment -name EDA_IBIS_MUTUAL_COUPLING Off -section_id ? +set_global_assignment -name EDA_FORMAL_VERIFICATION_ALLOW_RETIMING Off -section_id ? +set_global_assignment -name EDA_BOARD_BOUNDARY_SCAN_OPERATION PRE_CONFIG -section_id ? +set_global_assignment -name EDA_GENERATE_RTL_SIMULATION_COMMAND_SCRIPT Off -section_id ? +set_global_assignment -name EDA_GENERATE_GATE_LEVEL_SIMULATION_COMMAND_SCRIPT Off -section_id ? +set_global_assignment -name EDA_IBIS_SPECIFICATION_VERSION 4p1 -section_id ? +set_global_assignment -name SIM_VECTOR_COMPARED_CLOCK_OFFSET 0ns -section_id ? +set_global_assignment -name SIM_VECTOR_COMPARED_CLOCK_DUTY_CYCLE 50 -section_id ? +set_global_assignment -name APEX20K_CLIQUE_TYPE LAB -section_id ? -entity ? +set_global_assignment -name MAX7K_CLIQUE_TYPE LAB -section_id ? -entity ? +set_global_assignment -name MERCURY_CLIQUE_TYPE LAB -section_id ? -entity ? +set_global_assignment -name FLEX6K_CLIQUE_TYPE LAB -section_id ? -entity ? +set_global_assignment -name FLEX10K_CLIQUE_TYPE LAB -section_id ? -entity ? +set_global_assignment -name PARTITION_PRESERVE_HIGH_SPEED_TILES On -section_id ? -entity ? +set_global_assignment -name PARTITION_IGNORE_SOURCE_FILE_CHANGES Off -section_id ? -entity ? +set_global_assignment -name PARTITION_ALWAYS_USE_QXP_NETLIST Off -section_id ? -entity ? +set_global_assignment -name PARTITION_IMPORT_ASSIGNMENTS On -section_id ? -entity ? +set_global_assignment -name PARTITION_IMPORT_EXISTING_ASSIGNMENTS REPLACE_CONFLICTING -section_id ? -entity ? +set_global_assignment -name PARTITION_IMPORT_EXISTING_LOGICLOCK_REGIONS UPDATE_CONFLICTING -section_id ? -entity ? +set_global_assignment -name PARTITION_IMPORT_PROMOTE_ASSIGNMENTS On -section_id ? -entity ? +set_global_assignment -name ALLOW_MULTIPLE_PERSONAS Off -section_id ? -entity ? +set_global_assignment -name PARTITION_ASD_REGION_ID 1 -section_id ? -entity ? +set_global_assignment -name CROSS_BOUNDARY_OPTIMIZATIONS Off -section_id ? -entity ? +set_global_assignment -name PROPAGATE_CONSTANTS_ON_INPUTS On -section_id ? -entity ? +set_global_assignment -name PROPAGATE_INVERSIONS_ON_INPUTS On -section_id ? -entity ? +set_global_assignment -name REMOVE_LOGIC_ON_UNCONNECTED_OUTPUTS On -section_id ? -entity ? +set_global_assignment -name MERGE_EQUIVALENT_INPUTS On -section_id ? -entity ? +set_global_assignment -name MERGE_EQUIVALENT_BIDIRS On -section_id ? -entity ? +set_global_assignment -name ABSORB_PATHS_FROM_OUTPUTS_TO_INPUTS On -section_id ? -entity ? +set_global_assignment -name PARTITION_ENABLE_STRICT_PRESERVATION Off -section_id ? -entity ? diff --git a/examples/hdl4se_riscv/test_code/console.c b/examples/hdl4se_riscv/test_code/console.c index c8de751..ce48906 100644 --- a/examples/hdl4se_riscv/test_code/console.c +++ b/examples/hdl4se_riscv/test_code/console.c @@ -292,7 +292,7 @@ void dispmem() temp[0] = disp[i]; } else { - temp[0] = ' '; + temp[0] = '.'; } temp[1] = 0; _strcat(buf, temp); @@ -315,6 +315,8 @@ int main(int argc, char* argv[]) char buf[256]; _puts(">>"); _gets(buf, 255); + _puts(":"); + _puts(buf); if (_strncmp(buf, "help ", 4) == 0) { _puts(" d -- display memory \n"); _puts(" b -- set baudrate \n"); diff --git a/examples/hdl4se_riscv/test_code/test.cod b/examples/hdl4se_riscv/test_code/test.cod index 0645562..2ec448f 100644 --- a/examples/hdl4se_riscv/test_code/test.cod +++ b/examples/hdl4se_riscv/test_code/test.cod @@ -1,16 +1,16 @@ @00000074 -93 07 00 00 63 88 07 00 37 15 00 00 13 05 85 17 -6F 10 00 15 67 80 00 00 97 31 00 00 93 81 41 AC +93 07 00 00 63 88 07 00 37 15 00 00 13 05 05 19 +6F 10 80 16 67 80 00 00 97 31 00 00 93 81 C1 AD 13 85 81 C3 13 86 C1 C5 33 06 A6 40 93 05 00 00 -EF 00 90 6D 17 15 00 00 13 05 C5 12 63 08 05 00 -17 15 00 00 13 05 45 0C EF 10 80 11 EF 00 10 62 +EF 00 10 6F 17 15 00 00 13 05 45 14 63 08 05 00 +17 15 00 00 13 05 C5 0D EF 10 00 13 EF 00 90 63 03 25 01 00 93 05 41 00 13 06 00 00 EF 00 D0 4B -6F 00 D0 5D 13 01 01 FF 23 24 81 00 83 C7 01 C4 +6F 00 50 5F 13 01 01 FF 23 24 81 00 83 C7 01 C4 23 26 11 00 63 92 07 02 93 07 00 00 63 8A 07 00 -37 25 00 00 13 05 C5 33 97 00 00 00 E7 00 00 00 +37 25 00 00 13 05 85 35 97 00 00 00 E7 00 00 00 93 07 10 00 23 80 F1 C4 83 20 C1 00 03 24 81 00 13 01 01 01 67 80 00 00 93 07 00 00 63 8C 07 00 -37 25 00 00 93 85 41 C4 13 05 C5 33 17 03 00 00 +37 25 00 00 93 85 41 C4 13 05 85 35 17 03 00 00 67 00 00 00 67 80 00 00 13 01 01 FF 23 26 81 00 13 04 01 01 83 A7 01 C3 93 87 87 00 03 A7 07 00 23 AC E1 C2 83 A7 81 C3 93 F7 17 00 93 B7 17 00 @@ -176,140 +176,141 @@ B7 F7 FA 02 13 87 07 08 83 27 C4 FE 33 47 F7 02 83 A7 C1 C3 93 F7 07 FF 23 22 F4 FE 23 24 04 FE 6F 00 C0 1E 93 07 84 ED 93 06 00 03 13 06 80 00 83 25 44 FE 13 85 07 00 EF F0 DF 97 13 07 84 ED -B7 17 00 00 93 85 87 2B 13 05 07 00 EF F0 1F DE +B7 17 00 00 93 85 07 2D 13 05 07 00 EF F0 1F DE 23 20 A4 FE 23 26 04 FE 6F 00 00 0C 83 27 44 FE 23 2C F4 FC 03 27 C4 FE 83 27 44 FE 33 07 F7 00 83 A7 C1 C3 63 70 F7 02 13 07 84 ED B7 17 00 00 -93 85 C7 2B 13 05 07 00 EF F0 5F DA 23 20 A4 FE +93 85 47 2D 13 05 07 00 EF F0 5F DA 23 20 A4 FE 6F 00 C0 05 83 27 C4 FE 03 27 84 FD B3 07 F7 00 83 C7 07 00 13 87 07 00 93 07 04 ED 93 06 00 03 13 06 20 00 93 05 07 00 13 85 07 00 EF F0 9F 8F -13 07 04 ED B7 17 00 00 93 85 07 2C 13 05 07 00 +13 07 04 ED B7 17 00 00 93 85 87 2D 13 05 07 00 EF F0 DF D5 13 07 04 ED 93 07 84 ED 93 05 07 00 13 85 07 00 EF F0 9F D4 23 20 A4 FE 03 27 C4 FE 93 07 70 00 63 1C F7 00 13 07 84 ED B7 17 00 00 -93 85 47 2C 13 05 07 00 EF F0 5F D2 83 27 C4 FE +93 85 C7 2D 13 05 07 00 EF F0 5F D2 83 27 C4 FE 93 87 17 00 23 26 F4 FE 03 27 C4 FE 93 07 F0 00 -E3 DE E7 F2 13 07 84 ED B7 17 00 00 93 85 87 2C +E3 DE E7 F2 13 07 84 ED B7 17 00 00 93 85 07 2E 13 05 07 00 EF F0 9F CF 23 26 04 FE 6F 00 00 08 83 27 44 FE 23 2E F4 FC 83 27 C4 FE 03 27 C4 FD B3 07 F7 00 03 C7 07 00 93 07 00 02 63 FA E7 02 83 27 C4 FE 03 27 C4 FD B3 07 F7 00 03 C7 07 00 93 07 E0 07 63 EE E7 00 83 27 C4 FE 03 27 C4 FD B3 07 F7 00 83 C7 07 00 23 06 F4 EC 6F 00 C0 00 -93 07 00 02 23 06 F4 EC A3 06 04 EC 13 07 C4 EC +93 07 E0 02 23 06 F4 EC A3 06 04 EC 13 07 C4 EC 93 07 84 ED 93 05 07 00 13 85 07 00 EF F0 1F C8 83 27 C4 FE 93 87 17 00 23 26 F4 FE 03 27 C4 FE 93 07 F0 00 E3 DE E7 F6 13 07 84 ED B7 17 00 00 -93 85 C7 2C 13 05 07 00 EF F0 5F C5 93 07 84 ED +93 85 47 2E 13 05 07 00 EF F0 5F C5 93 07 84 ED 13 85 07 00 EF F0 4F D3 83 27 44 FE 93 87 07 01 23 22 F4 FE 83 27 44 FE 93 F7 F7 0F 63 80 07 02 83 27 84 FE 93 87 17 00 23 24 F4 FE 03 27 84 FE 93 07 F0 00 E3 D8 E7 E0 6F 00 80 00 13 00 00 00 -B7 17 00 00 13 85 07 2D EF F0 0F CF 03 27 44 FE +B7 17 00 00 13 85 87 2E EF F0 0F CF 03 27 44 FE 23 AE E1 C2 13 00 00 00 83 20 C1 13 03 24 81 13 13 01 01 14 67 80 00 00 13 01 01 ED 23 26 11 12 23 24 81 12 13 04 01 13 23 2E A4 EC 23 2C B4 EC B7 C7 01 00 13 85 07 20 EF F0 9F D5 B7 17 00 00 -13 85 47 2D EF F0 4F CA B7 17 00 00 13 85 47 2E +13 85 C7 2E EF F0 4F CA B7 17 00 00 13 85 C7 2F EF F0 8F C9 93 07 84 EE 93 05 F0 0F 13 85 07 00 -EF F0 0F CF 13 07 84 EE 13 06 40 00 B7 17 00 00 -93 85 87 2E 13 05 07 00 EF F0 1F C8 93 07 05 00 -63 90 07 02 B7 17 00 00 13 85 07 2F EF F0 CF C5 -B7 17 00 00 13 85 07 31 EF F0 0F C5 6F F0 DF FA -13 07 84 EE 13 06 10 00 B7 17 00 00 93 85 47 33 -13 05 07 00 EF F0 5F C4 93 07 05 00 63 98 07 02 -93 07 84 EE 93 87 27 00 93 05 00 00 13 85 07 00 -EF F0 9F 83 23 24 A4 FE 83 27 84 FE E3 56 F0 F6 -03 25 84 FE EF F0 DF CA 6F F0 1F F6 13 07 84 EE -13 06 10 00 B7 17 00 00 93 85 87 33 13 05 07 00 -EF F0 9F BF 93 07 05 00 E3 90 07 F4 93 07 84 EE -93 87 27 00 93 05 00 00 13 85 07 00 EF F0 9F 8E -23 26 A4 FE 83 27 C4 FE 63 56 F0 00 03 27 C4 FE -23 AE E1 C2 EF F0 DF C9 6F F0 1F F1 13 01 01 FF -93 05 00 00 23 24 81 00 23 26 11 00 13 04 05 00 -EF 00 40 19 03 A5 81 C2 83 27 C5 03 63 84 07 00 -E7 80 07 00 13 05 04 00 EF 00 40 3A 13 01 01 FF -23 24 81 00 23 20 21 01 37 24 00 00 37 29 00 00 -93 07 04 34 13 09 09 34 33 09 F9 40 23 26 11 00 -23 22 91 00 13 59 29 40 63 00 09 02 13 04 04 34 -93 04 00 00 83 27 04 00 93 84 14 00 13 04 44 00 -E7 80 07 00 E3 18 99 FE 37 24 00 00 37 29 00 00 -93 07 04 34 13 09 89 34 33 09 F9 40 13 59 29 40 -63 00 09 02 13 04 04 34 93 04 00 00 83 27 04 00 +EF F0 0F CF B7 17 00 00 13 85 07 30 EF F0 CF C7 +93 07 84 EE 13 85 07 00 EF F0 0F C7 13 07 84 EE +13 06 40 00 B7 17 00 00 93 85 47 30 13 05 07 00 +EF F0 9F C6 93 07 05 00 63 90 07 02 B7 17 00 00 +13 85 C7 30 EF F0 4F C4 B7 17 00 00 13 85 C7 32 +EF F0 8F C3 6F F0 5F F9 13 07 84 EE 13 06 10 00 +B7 17 00 00 93 85 07 35 13 05 07 00 EF F0 DF C2 +93 07 05 00 63 98 07 02 93 07 84 EE 93 87 27 00 +93 05 00 00 13 85 07 00 EF F0 1F 82 23 24 A4 FE +83 27 84 FE E3 5A F0 F4 03 25 84 FE EF F0 5F C9 +6F F0 9F F4 13 07 84 EE 13 06 10 00 B7 17 00 00 +93 85 47 35 13 05 07 00 EF F0 1F BE 93 07 05 00 +E3 94 07 F2 93 07 84 EE 93 87 27 00 93 05 00 00 +13 85 07 00 EF F0 1F 8D 23 26 A4 FE 83 27 C4 FE +63 56 F0 00 03 27 C4 FE 23 AE E1 C2 EF F0 5F C8 +6F F0 9F EF 13 01 01 FF 93 05 00 00 23 24 81 00 +23 26 11 00 13 04 05 00 EF 00 40 19 03 A5 81 C2 +83 27 C5 03 63 84 07 00 E7 80 07 00 13 05 04 00 +EF 00 40 3A 13 01 01 FF 23 24 81 00 23 20 21 01 +37 24 00 00 37 29 00 00 93 07 C4 35 13 09 C9 35 +33 09 F9 40 23 26 11 00 23 22 91 00 13 59 29 40 +63 00 09 02 13 04 C4 35 93 04 00 00 83 27 04 00 93 84 14 00 13 04 44 00 E7 80 07 00 E3 18 99 FE -83 20 C1 00 03 24 81 00 83 24 41 00 03 29 01 00 -13 01 01 01 67 80 00 00 13 03 F0 00 13 07 05 00 -63 7E C3 02 93 77 F7 00 63 90 07 0A 63 92 05 08 -93 76 06 FF 13 76 F6 00 B3 86 E6 00 23 20 B7 00 -23 22 B7 00 23 24 B7 00 23 26 B7 00 13 07 07 01 -E3 66 D7 FE 63 14 06 00 67 80 00 00 B3 06 C3 40 -93 96 26 00 97 02 00 00 B3 86 56 00 67 80 C6 00 -23 07 B7 00 A3 06 B7 00 23 06 B7 00 A3 05 B7 00 -23 05 B7 00 A3 04 B7 00 23 04 B7 00 A3 03 B7 00 -23 03 B7 00 A3 02 B7 00 23 02 B7 00 A3 01 B7 00 -23 01 B7 00 A3 00 B7 00 23 00 B7 00 67 80 00 00 -93 F5 F5 0F 93 96 85 00 B3 E5 D5 00 93 96 05 01 -B3 E5 D5 00 6F F0 DF F6 93 96 27 00 97 02 00 00 -B3 86 56 00 93 82 00 00 E7 80 06 FA 93 80 02 00 -93 87 07 FF 33 07 F7 40 33 06 F6 00 E3 78 C3 F6 -6F F0 DF F3 13 01 01 FD 23 2C 41 01 03 AA 81 C2 -23 20 21 03 23 26 11 02 03 29 8A 14 23 24 81 02 -23 22 91 02 23 2E 31 01 23 2A 51 01 23 28 61 01 -23 26 71 01 23 24 81 01 63 00 09 04 13 0B 05 00 -93 8B 05 00 93 0A 10 00 93 09 F0 FF 83 24 49 00 -13 84 F4 FF 63 42 04 02 93 94 24 00 B3 04 99 00 -63 84 0B 04 83 A7 44 10 63 80 77 05 13 04 F4 FF -93 84 C4 FF E3 16 34 FF 83 20 C1 02 03 24 81 02 -83 24 41 02 03 29 01 02 83 29 C1 01 03 2A 81 01 -83 2A 41 01 03 2B 01 01 83 2B C1 00 03 2C 81 00 -13 01 01 03 67 80 00 00 83 27 49 00 83 A6 44 00 -93 87 F7 FF 63 8E 87 04 23 A2 04 00 E3 88 06 FA -83 27 89 18 33 97 8A 00 03 2C 49 00 B3 77 F7 00 -63 92 07 02 E7 80 06 00 03 27 49 00 83 27 8A 14 -63 14 87 01 E3 84 27 F9 E3 88 07 F8 13 89 07 00 -6F F0 DF F5 83 27 C9 18 83 A5 44 08 33 77 F7 00 -63 1C 07 00 13 05 0B 00 E7 80 06 00 6F F0 DF FC -23 22 89 00 6F F0 9F FA 13 85 05 00 E7 80 06 00 -6F F0 9F FB 13 01 01 FF 23 24 81 00 B7 27 00 00 -37 24 00 00 93 87 87 34 13 04 C4 34 33 04 F4 40 -23 22 91 00 23 26 11 00 93 54 24 40 63 80 04 02 -13 04 C4 FF 33 04 F4 00 83 27 04 00 93 84 F4 FF -13 04 C4 FF E7 80 07 00 E3 98 04 FE 83 20 C1 00 -03 24 81 00 83 24 41 00 13 01 01 01 67 80 00 00 -93 05 05 00 93 06 00 00 13 06 00 00 13 05 00 00 -6F 00 40 00 03 A7 81 C2 83 27 87 14 63 8C 07 04 -03 A7 47 00 13 08 F0 01 63 4E E8 06 13 18 27 00 -63 06 05 02 33 83 07 01 23 24 C3 08 83 A8 87 18 -13 06 10 00 33 16 E6 00 B3 E8 C8 00 23 A4 17 19 -23 24 D3 10 93 06 20 00 63 04 D5 02 13 07 17 00 -23 A2 E7 00 B3 87 07 01 23 A4 B7 00 13 05 00 00 -67 80 00 00 93 07 C7 14 23 24 F7 14 6F F0 5F FA -83 A6 C7 18 13 07 17 00 23 A2 E7 00 B3 E6 C6 00 -23 A6 D7 18 B3 87 07 01 23 A4 B7 00 13 05 00 00 -67 80 00 00 13 05 F0 FF 67 80 00 00 93 08 D0 05 -73 00 00 00 63 44 05 00 6F 00 00 00 13 01 01 FF -23 24 81 00 13 04 05 00 23 26 11 00 33 04 80 40 -EF 00 C0 00 23 20 85 00 6F 00 00 00 03 A5 41 C3 -67 80 00 00 -@000012B8 +37 24 00 00 37 29 00 00 93 07 C4 35 13 09 49 36 +33 09 F9 40 13 59 29 40 63 00 09 02 13 04 C4 35 +93 04 00 00 83 27 04 00 93 84 14 00 13 04 44 00 +E7 80 07 00 E3 18 99 FE 83 20 C1 00 03 24 81 00 +83 24 41 00 03 29 01 00 13 01 01 01 67 80 00 00 +13 03 F0 00 13 07 05 00 63 7E C3 02 93 77 F7 00 +63 90 07 0A 63 92 05 08 93 76 06 FF 13 76 F6 00 +B3 86 E6 00 23 20 B7 00 23 22 B7 00 23 24 B7 00 +23 26 B7 00 13 07 07 01 E3 66 D7 FE 63 14 06 00 +67 80 00 00 B3 06 C3 40 93 96 26 00 97 02 00 00 +B3 86 56 00 67 80 C6 00 23 07 B7 00 A3 06 B7 00 +23 06 B7 00 A3 05 B7 00 23 05 B7 00 A3 04 B7 00 +23 04 B7 00 A3 03 B7 00 23 03 B7 00 A3 02 B7 00 +23 02 B7 00 A3 01 B7 00 23 01 B7 00 A3 00 B7 00 +23 00 B7 00 67 80 00 00 93 F5 F5 0F 93 96 85 00 +B3 E5 D5 00 93 96 05 01 B3 E5 D5 00 6F F0 DF F6 +93 96 27 00 97 02 00 00 B3 86 56 00 93 82 00 00 +E7 80 06 FA 93 80 02 00 93 87 07 FF 33 07 F7 40 +33 06 F6 00 E3 78 C3 F6 6F F0 DF F3 13 01 01 FD +23 2C 41 01 03 AA 81 C2 23 20 21 03 23 26 11 02 +03 29 8A 14 23 24 81 02 23 22 91 02 23 2E 31 01 +23 2A 51 01 23 28 61 01 23 26 71 01 23 24 81 01 +63 00 09 04 13 0B 05 00 93 8B 05 00 93 0A 10 00 +93 09 F0 FF 83 24 49 00 13 84 F4 FF 63 42 04 02 +93 94 24 00 B3 04 99 00 63 84 0B 04 83 A7 44 10 +63 80 77 05 13 04 F4 FF 93 84 C4 FF E3 16 34 FF +83 20 C1 02 03 24 81 02 83 24 41 02 03 29 01 02 +83 29 C1 01 03 2A 81 01 83 2A 41 01 03 2B 01 01 +83 2B C1 00 03 2C 81 00 13 01 01 03 67 80 00 00 +83 27 49 00 83 A6 44 00 93 87 F7 FF 63 8E 87 04 +23 A2 04 00 E3 88 06 FA 83 27 89 18 33 97 8A 00 +03 2C 49 00 B3 77 F7 00 63 92 07 02 E7 80 06 00 +03 27 49 00 83 27 8A 14 63 14 87 01 E3 84 27 F9 +E3 88 07 F8 13 89 07 00 6F F0 DF F5 83 27 C9 18 +83 A5 44 08 33 77 F7 00 63 1C 07 00 13 05 0B 00 +E7 80 06 00 6F F0 DF FC 23 22 89 00 6F F0 9F FA +13 85 05 00 E7 80 06 00 6F F0 9F FB 13 01 01 FF +23 24 81 00 B7 27 00 00 37 24 00 00 93 87 47 36 +13 04 84 36 33 04 F4 40 23 22 91 00 23 26 11 00 +93 54 24 40 63 80 04 02 13 04 C4 FF 33 04 F4 00 +83 27 04 00 93 84 F4 FF 13 04 C4 FF E7 80 07 00 +E3 98 04 FE 83 20 C1 00 03 24 81 00 83 24 41 00 +13 01 01 01 67 80 00 00 93 05 05 00 93 06 00 00 +13 06 00 00 13 05 00 00 6F 00 40 00 03 A7 81 C2 +83 27 87 14 63 8C 07 04 03 A7 47 00 13 08 F0 01 +63 4E E8 06 13 18 27 00 63 06 05 02 33 83 07 01 +23 24 C3 08 83 A8 87 18 13 06 10 00 33 16 E6 00 +B3 E8 C8 00 23 A4 17 19 23 24 D3 10 93 06 20 00 +63 04 D5 02 13 07 17 00 23 A2 E7 00 B3 87 07 01 +23 A4 B7 00 13 05 00 00 67 80 00 00 93 07 C7 14 +23 24 F7 14 6F F0 5F FA 83 A6 C7 18 13 07 17 00 +23 A2 E7 00 B3 E6 C6 00 23 A6 D7 18 B3 87 07 01 +23 A4 B7 00 13 05 00 00 67 80 00 00 13 05 F0 FF +67 80 00 00 93 08 D0 05 73 00 00 00 63 44 05 00 +6F 00 00 00 13 01 01 FF 23 24 81 00 13 04 05 00 +23 26 11 00 33 04 80 40 EF 00 C0 00 23 20 85 00 +6F 00 00 00 03 A5 41 C3 67 80 00 00 +@000012D0 20 20 00 00 20 20 20 00 20 00 00 00 2D 20 00 00 20 20 7C 00 7C 0A 00 00 0A 00 00 00 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 0A 00 00 00 3E 3E 00 00 -68 65 6C 70 20 00 00 00 20 20 64 20 3C 61 64 64 -72 3E 20 2D 2D 20 64 69 73 70 6C 61 79 20 6D 65 -6D 6F 72 79 20 0A 00 00 20 20 62 20 3C 62 61 75 -64 72 61 74 65 3E 20 2D 2D 20 73 65 74 20 62 61 -75 64 72 61 74 65 20 0A 00 00 00 00 62 00 00 00 -64 00 -@0000233C +3A 00 00 00 68 65 6C 70 20 00 00 00 20 20 64 20 +3C 61 64 64 72 3E 20 2D 2D 20 64 69 73 70 6C 61 +79 20 6D 65 6D 6F 72 79 20 0A 00 00 20 20 62 20 +3C 62 61 75 64 72 61 74 65 3E 20 2D 2D 20 73 65 +74 20 62 61 75 64 72 61 74 65 20 0A 00 00 00 00 +62 00 00 00 64 00 +@00002358 00 00 00 00 -@00002340 +@0000235C 74 00 00 00 1C 01 00 00 -@00002348 +@00002364 D8 00 00 00 -@00002350 -00 00 00 00 3C 26 00 00 A4 26 00 00 0C 27 00 00 +@00002368 +00 00 00 00 54 26 00 00 BC 26 00 00 24 27 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -376,5 +377,5 @@ D8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -@00002778 -50 23 00 00 00 00 00 00 00 01 00 F0 50 23 00 00 +@00002790 +68 23 00 00 00 00 00 00 00 01 00 F0 68 23 00 00 diff --git a/examples/hdl4se_riscv/test_code/test.elf b/examples/hdl4se_riscv/test_code/test.elf index d85bb2e28c2e68153425808459d88715baff439a..a20995179da150a251e04fe6802b5dcbb2d852d3 100644 GIT binary patch delta 1327 zcmZ8hZ)j6j6hHU9yuPNU=DoiDNt@1>X13Zv}YyqB!o3HRRf zJOA%_=jKY{W+E406ZxPqeMke~O9CPVfYC8Vc+9ZZZWq8YS~ZRyWq|Y<8D4Gz&?Kof zqs%nFHv{lR3;<8vx~gSQ-O*0py4zoKc?c<}2}-7=Y@29I*GgdXck4|BG!t@7X|a<5 zO2eR01`{5yMt_Ky*fKcke-JX{O zIf5U0-etey_nsX>GJ?MP1HxPckJZ0EU5c32zVDV>sMc($*R(!gMS1oQlq|27mBF;U z_iddVHLd$4u5;uijq^1_!1b6-Mm34sFWf^}f^<$6oS5Xdujuf76#q`fNF=fSa^B z!l*W0C_K|<#MdTiWXiVT8^Jd_vN%N$PW?XXtzzn_73UNj%s( zO@3>w`e>yB{<2gGP^pmPj{jg6#0gh!L`{J`|HI=PW1_8>GJMpgt1HwUUUvgkb%}I2 zywsLr^C6e>|_=fN#9%;8@+ojdQ z&m{dfmkb_?xw)d>Nxy6B#sitdy>OXh~p_2@hjr^cU{EQV3;l9pTV$ngWg;aUkDlOAr6PaY#pa) Je~S4~%Rd&GE@J=y delta 1355 zcmZ8hZ)h837=PYNu9tJy<*wJ7v?;qJwQd#QSrE1Yk*jPm=E{GN!9aClo z)nu+Q8B9%i1ZTe#Vah&?G02DM5H_`8>lk#1pdU6i*_ZXh%nin1L#oevxz=@Wc<+6G z&!6A(C(qqaBPT~HL6(^fnfU=7fNv3KsQ`?QLBfM(V~@E3_S0^1^e6#j%Mv`-2B3>Y z-;@e%?-l^QjsxJ~p;LPC@UQx3Ki3jX-=~mB>rmO}vu$fFS&s;f`-oCk3tAo2w!N+{ z1}F}JP7&&G^_3~O`qu29VWF0o{imOv)jsyd6GCYV9@{V=T-<_}HtZ0j7^=#%LOO<{ z%F{wAh94?>iRBMvn{Y9P{^r*OX)C_p{Bl0MwQjw3`K*s}Ev9?w)|ZPY&HRm`<<*N4 z)GhClPFQbB0k^?osYe&N+_;322-%7xG<>Dry0uhu?s4*~O<6Y{HhfjbH=StsPAu5I z$0Y&tJXk48_3;Ea@%#~U^NE!s(V3N7yRG}Ku9=m(b>s4sW!zs+R&vPZ&vUX{73rRx z_Wux1S2n)5$(__?Ihl|jq|As0W_T9#@$OU> zWI=bklNj@cpX4S-ZIj1T{_3wSNnzX=$^Z4J)_Hfg7vl2s}!M}`Gl4jA#(#;6nk zNjmKXxaNeKBYdnG?DTo)d5-bo|e3{;SkIi+3?D>CP#_ORdE29{WigTomU_5NH U3%DyBWjFC-lKy4@d_q$FKLd9tjQ{`u diff --git a/examples/hdl4se_riscv/test_code/test.hex b/examples/hdl4se_riscv/test_code/test.hex index 64e6bd6..7b77465 100644 --- a/examples/hdl4se_riscv/test_code/test.hex +++ b/examples/hdl4se_riscv/test_code/test.hex @@ -1,15 +1,15 @@ -:1000740093070000638807003715000013058517F0 -:100084006F1000156780000097310000938141AC28 +:10007400930700006388070037150000130505196E +:100084006F10801667800000973100009381C1AD26 :10009400138581C31386C1C53306A64093050000AA -:1000A400EF00906D171500001305C51263080500D5 -:1000B400171500001305450CEF108011EF001062B6 +:1000A400EF00106F171500001305451463080500D1 +:1000B400171500001305C50DEF100013EF00906332 :1000C400032501009305410013060000EF00D04B07 -:1000D4006F00D05D130101FF2324810083C701C495 +:1000D4006F00505F130101FF2324810083C701C413 :1000E400232611006392070293070000638A070026 -:1000F400372500001305C53397000000E700000012 +:1000F400372500001305853597000000E700000050 :10010400930710002380F1C48320C10003248100DD :10011400130101016780000093070000638C07004E -:1001240037250000938541C41305C5331703000028 +:1001240037250000938541C4130585351703000066 :100134006700000067800000130101FF232681008F :100144001304010183A701C39387870003A7070052 :1001540023ACE1C283A781C393F7170093B71700B9 @@ -175,201 +175,202 @@ :100B540083A7C1C393F707FF2322F4FE232404FED3 :100B64006F00C01E930784ED9306000313068000F4 :100B7400832544FE13850700EFF0DF97130784ED08 -:100B8400B71700009385872B13050700EFF01FDECE +:100B8400B71700009385072D13050700EFF01FDE4C :100B94002320A4FE232604FE6F00000C832744FEBA :100BA400232CF4FC0327C4FE832744FE3307F700F9 :100BB40083A7C1C36370F702130784EDB71700005E -:100BC4009385C72B13050700EFF05FDA2320A4FEFB +:100BC4009385472D13050700EFF05FDA2320A4FE79 :100BD4006F00C0058327C4FE032784FDB307F70015 :100BE40083C7070013870700930704ED93060003E8 :100BF400130620009305070013850700EFF09F8F6D -:100C0400130704EDB71700009385072C130507009D +:100C0400130704EDB71700009385872D130507001C :100C1400EFF0DFD5130704ED930784ED9305070088 :100C240013850700EFF09FD42320A4FE0327C4FEFE :100C340093077000631CF700130784EDB7170000D7 -:100C44009385472C13050700EFF05FD28327C4FE7A +:100C44009385C72D13050700EFF05FD28327C4FEF9 :100C5400938717002326F4FE0327C4FE9307F000AE -:100C6400E3DEE7F2130784EDB71700009385872CC2 +:100C6400E3DEE7F2130784EDB71700009385072E40 :100C740013050700EFF09FCF232604FE6F00000842 :100C8400832744FE232EF4FC8327C4FE0327C4FDDC :100C9400B307F70003C707009307000263FAE702EC :100CA4008327C4FE0327C4FDB307F70003C7070067 :100CB4009307E00763EEE7008327C4FE0327C4FD20 :100CC400B307F70083C707002306F4EC6F00C000E6 -:100CD400930700022306F4ECA30604EC1307C4EC08 +:100CD4009307E0022306F4ECA30604EC1307C4EC28 :100CE400930784ED9305070013850700EFF01FC8F1 :100CF4008327C4FE938717002326F4FE0327C4FE2C :100D04009307F000E3DEE7F6130784EDB71700005E -:100D14009385C72C13050700EFF05FC5930784ED97 +:100D14009385472E13050700EFF05FC5930784ED15 :100D240013850700EFF04FD3832744FE9387070111 :100D34002322F4FE832744FE93F7F70F6380070210 :100D4400832784FE938717002324F4FE032784FE5D :100D54009307F000E3D8E7E06F0080001300000081 -:100D6400B71700001385072DEFF00FCF032744FEBC +:100D6400B71700001385872EEFF00FCF032744FE3B :100D740023AEE1C2130000008320C11303248113B6 :100D84001301011467800000130101ED23261112E1 :100D94002324811213040113232EA4EC232CB4EC7A :100DA400B7C7010013850720EFF09FD5B7170000E0 -:100DB4001385472DEFF04FCAB71700001385472E50 +:100DB4001385C72EEFF04FCAB71700001385C72F4E :100DC400EFF08FC9930784EE9305F00F13850700A6 -:100DD400EFF00FCF130784EE13064000B71700009F -:100DE4009385872E13050700EFF01FC893070500AE -:100DF40063900702B71700001385072FEFF0CFC5E4 -:100E0400B717000013850731EFF00FC56FF0DFFA55 -:100E1400130784EE13061000B717000093854733B9 -:100E240013050700EFF05FC49307050063980702FA -:100E3400930784EE9387270093050000138507002A -:100E4400EFF09F832324A4FE832784FEE356F0F669 -:100E5400032584FEEFF0DFCA6FF01FF6130784EE5C -:100E640013061000B7170000938587331305070096 -:100E7400EFF09FBF93070500E39007F4930784EE18 -:100E8400938727009305000013850700EFF09F8EDA -:100E94002326A4FE8327C4FE6356F0000327C4FE62 -:100EA40023AEE1C2EFF0DFC96FF01FF1130101FFC0 -:100EB4009305000023248100232611001304050058 -:100EC400EF00401903A581C28327C503638407008B -:100ED400E780070013050400EF00403A130101FF07 -:100EE4002324810023202101372400003729000016 -:100EF40093070434130909343309F94023261100F4 -:100F04002322910013592940630009021304043475 -:100F14009304000083270400938414001304440002 -:100F2400E7800700E31899FE372400003729000002 -:100F340093070434130989343309F94013592940B8 -:100F4400630009021304043493040000832704009B -:100F54009384140013044400E7800700E31899FE07 -:100F64008320C1000324810083244100032901005C -:100F740013010101678000001303F000130705004B -:100F8400637EC3029377F7006390070A63920508B0 -:100F9400937606FF1376F600B386E6002320B700A7 -:100FA4002322B7002324B7002326B7001307070121 -:100FB400E366D7FE6314060067800000B306C340EF -:100FC4009396260097020000B38656006780C600F9 -:100FD4002307B700A306B7002306B700A305B7008D -:100FE4002305B700A304B7002304B700A303B70085 -:100FF4002303B700A302B7002302B700A301B7007D -:101004002301B700A300B7002300B70067800000E6 -:1010140093F5F50F93968500B3E5D50093960501F6 -:10102400B3E5D5006FF0DFF6939627009702000032 -:10103400B386560093820000E78006FA938002008C -:10104400938707FF3307F7403306F600E378C3F6C8 -:101054006FF0DFF3130101FD232C410103AA81C2C8 -:10106400232021032326110203298A142324810225 -:1010740023229102232E3101232A510123286101C5 -:10108400232671012324810163000904130B050045 -:10109400938B0500930A10009309F0FF8324490001 -:1010A4001384F4FF6342040293942400B30499006C -:1010B40063840B0483A74410638077051304F4FF4F -:1010C4009384C4FFE31634FF8320C1020324810206 -:1010D40083244102032901028329C101032A8101D6 -:1010E400832A4101032B0101832BC100032C8100BE -:1010F40013010103678000008327490083A644008D -:101104009387F7FF638E870423A20400E38806FA1B -:101114008327891833978A00032C4900B377F70093 -:1011240063920702E78006000327490083278A1495 -:1011340063148701E38427F9E38807F81389070018 -:101144006FF0DFF58327C91883A544083377F700C8 -:10115400631C070013050B00E78006006FF0DFFC3B -:10116400232289006FF09FFA13850500E7800600AB -:101174006FF09FFB130101FF23248100B7270000B8 -:1011840037240000938787341304C4343304F440B1 -:1011940023229100232611009354244063800402E7 -:1011A4001304C4FF3304F400832704009384F4FF7E -:1011B4001304C4FFE7800700E39804FE8320C10002 -:1011C400032481008324410013010101678000008E -:1011D40093050500930600001306000013050000A4 -:1011E4006F00400003A781C283278714638C070420 -:1011F40003A747001308F001634EE80613182700FD -:1012040063060502338307012324C30883A88718D0 -:10121400130610003316E600B3E8C80023A4171918 -:101224002324D310930620006304D5021307170068 -:1012340023A2E700B387070123A4B7001305000026 -:10124400678000009307C7142324F7146FF05FFA34 -:1012540083A6C7181307170023A2E700B3E6C60046 -:1012640023A6D718B387070123A4B70013050000EA -:10127400678000001305F0FF678000009308D00525 -:1012840073000000634405006F000000130101FFB8 -:101294002324810013040500232611003304804015 -:1012A400EF00C000232085006F00000003A541C3A8 -:0412B400678000004F -:1012B8002020000020202000200000002D20000019 -:1012C80020207C007C0A00000A00000048656C6C45 -:1012D8006F2C20576F726C640A0000003E3E0000BD -:1012E80068656C7020000000202064203C61646404 -:1012F800723E202D2D20646973706C6179206D65B4 -:101308006D6F7279200A0000202062203C626175AE -:1013180064726174653E202D2D20736574206261AE -:10132800756472617465200A0000000062000000A4 -:0213380064004F -:04233C00000000009D -:08234000740000001C01000004 -:04234800D8000000B9 -:10235000000000003C260000A42600000C2700001E -:10236000000000000000000000000000000000006D -:10237000000000000000000000000000000000005D -:10238000000000000000000000000000000000004D -:10239000000000000000000000000000000000003D -:1023A000000000000000000000000000000000002D -:1023B000000000000000000000000000000000001D -:1023C000000000000000000000000000000000000D -:1023D00000000000000000000000000000000000FD -:1023E00000000000000000000000000000000000ED -:1023F00000000000000000000100000000000000DC -:102400000E33CDAB34126DE6ECDE05000B000000A0 -:1024100000000000000000000000000000000000BC -:1024200000000000000000000000000000000000AC -:10243000000000000000000000000000000000009C -:10244000000000000000000000000000000000008C -:10245000000000000000000000000000000000007C -:10246000000000000000000000000000000000006C -:10247000000000000000000000000000000000005C -:10248000000000000000000000000000000000004C -:10249000000000000000000000000000000000003C -:1024A000000000000000000000000000000000002C -:1024B000000000000000000000000000000000001C -:1024C000000000000000000000000000000000000C -:1024D00000000000000000000000000000000000FC -:1024E00000000000000000000000000000000000EC -:1024F00000000000000000000000000000000000DC -:1025000000000000000000000000000000000000CB -:1025100000000000000000000000000000000000BB -:1025200000000000000000000000000000000000AB -:10253000000000000000000000000000000000009B -:10254000000000000000000000000000000000008B -:10255000000000000000000000000000000000007B -:10256000000000000000000000000000000000006B -:10257000000000000000000000000000000000005B -:10258000000000000000000000000000000000004B -:10259000000000000000000000000000000000003B -:1025A000000000000000000000000000000000002B -:1025B000000000000000000000000000000000001B -:1025C000000000000000000000000000000000000B -:1025D00000000000000000000000000000000000FB -:1025E00000000000000000000000000000000000EB -:1025F00000000000000000000000000000000000DB -:1026000000000000000000000000000000000000CA -:1026100000000000000000000000000000000000BA -:1026200000000000000000000000000000000000AA -:10263000000000000000000000000000000000009A -:10264000000000000000000000000000000000008A -:10265000000000000000000000000000000000007A -:10266000000000000000000000000000000000006A -:10267000000000000000000000000000000000005A -:10268000000000000000000000000000000000004A -:10269000000000000000000000000000000000003A -:1026A000000000000000000000000000000000002A -:1026B000000000000000000000000000000000001A -:1026C000000000000000000000000000000000000A -:1026D00000000000000000000000000000000000FA -:1026E00000000000000000000000000000000000EA -:1026F00000000000000000000000000000000000DA -:1027000000000000000000000000000000000000C9 -:1027100000000000000000000000000000000000B9 -:1027200000000000000000000000000000000000A9 -:102730000000000000000000000000000000000099 -:102740000000000000000000000000000000000089 -:102750000000000000000000000000000000000079 -:102760000000000000000000000000000000000069 -:08277000000000000000000061 -:102778005023000000000000000100F0502300007A +:100DD400EFF00FCFB717000013850730EFF0CFC740 +:100DE400930784EE13850700EFF00FC7130784EE13 +:100DF40013064000B717000093854730130507001A +:100E0400EFF09FC69307050063900702B717000031 +:100E14001385C730EFF04FC4B71700001385C732EE +:100E2400EFF08FC36FF05FF9130784EE1306100021 +:100E3400B71700009385073513050700EFF0DFC2ED +:100E44009307050063980702930784EE93872700AE +:100E54009305000013850700EFF01F822324A4FEEE +:100E6400832784FEE35AF0F4032584FEEFF05FC980 +:100E74006FF09FF4130784EE13061000B7170000F9 +:100E84009385473513050700EFF01FBE9307050050 +:100E9400E39407F2930784EE9387270093050000F9 +:100EA40013850700EFF01F8D2326A4FE8327C4FEBD +:100EB4006356F0000327C4FE23AEE1C2EFF05FC81F +:100EC4006FF09FEF130101FF9305000023248100BD +:100ED4002326110013040500EF00401903A581C265 +:100EE4008327C50363840700E78007001305040014 +:100EF400EF00403A130101FF232481002320210144 +:100F040037240000372900009307C4351309C93575 +:100F14003309F94023261100232291001359294053 +:100F2400630009021304C4359304000083270400FA +:100F34009384140013044400E7800700E31899FE27 +:100F440037240000372900009307C43513094936B4 +:100F54003309F94013592940630009021304C435C5 +:100F640093040000832704009384140013044400B2 +:100F7400E7800700E31899FE8320C1000324810061 +:100F8400832441000329010013010101678000004B +:100F94001303F00013070500637EC3029377F70081 +:100FA4006390070A63920508937606FF1376F600AA +:100FB400B386E6002320B7002322B7002324B7001A +:100FC4002326B70013070701E366D7FE6314060060 +:100FD40067800000B306C340939626009702000082 +:100FE400B38656006780C6002307B700A306B70080 +:100FF4002306B700A305B7002305B700A304B70071 +:101004002304B700A303B7002303B700A302B70068 +:101014002302B700A301B7002301B700A300B70060 +:101024002300B7006780000093F5F50F93968500C1 +:10103400B3E5D50093960501B3E5D5006FF0DFF66F +:101044009396270097020000B3865600938200000F +:10105400E78006FA93800200938707FF3307F7407F +:101064003306F600E378C3F66FF0DFF3130101FDF6 +:10107400232C410103AA81C2232021032326110228 +:1010840003298A142324810223229102232E31016D +:10109400232A51012328610123267101232481017C +:1010A40063000904130B0500938B0500930A1000D9 +:1010B4009309F0FF832449001384F4FF634204027C +:1010C40093942400B304990063840B0483A744100D +:1010D400638077051304F4FF9384C4FFE31634FF9D +:1010E4008320C102032481028324410203290102D3 +:1010F4008329C101032A8101832A4101032B0101B0 +:10110400832BC100032C81001301010367800000BD +:101114008327490083A644009387F7FF638E8704DF +:1011240023A20400E38806FA8327891833978A00E8 +:10113400032C4900B377F70063920702E7800600A7 +:101144000327490083278A1463148701E38427F95A +:10115400E38807F8138907006FF0DFF58327C918C0 +:1011640083A544083377F700631C070013050B00BD +:10117400E78006006FF0DFFC232289006FF09FFAFE +:1011840013850500E78006006FF09FFB130101FF44 +:1011940023248100B72700003724000093874736B3 +:1011A400130484363304F4402322910023261100CF +:1011B40093542440638004021304C4FF3304F400F2 +:1011C400832704009384F4FF1304C4FFE78007001B +:1011D400E39804FE8320C10003248100832441009A +:1011E40013010101678000009305050093060000C8 +:1011F40013060000130500006F00400003A781C21E +:1012040083278714638C070403A747001308F0019E +:10121400634EE806131827006306050233830701AB +:101224002324C30883A88718130610003316E60086 +:10123400B3E8C80023A417192324D310930620006D +:101244006304D5021307170023A2E700B38707013D +:1012540023A4B70013050000678000009307C71498 +:101264002324F7146FF05FFA83A6C7181307170037 +:1012740023A2E700B3E6C60023A6D718B387070165 +:1012840023A4B70013050000678000001305F0FFD6 +:10129400678000009308D0057300000063440500D4 +:1012A4006F000000130101FF2324810013040500D3 +:1012B4002326110033048040EF00C0002320850062 +:0C12C4006F00000003A541C3678000001C +:1012D0002020000020202000200000002D20000001 +:1012E00020207C007C0A00000A00000048656C6C2D +:1012F0006F2C20576F726C640A0000003E3E0000A5 +:101300003A00000068656C70200000002020642016 +:101310003C616464723E202D2D20646973706C61A1 +:1013200079206D656D6F7279200A0000202062209F +:101330003C62617564726174653E202D2D20736579 +:1013400074206261756472617465200A0000000097 +:06135000620000006400D1 +:042358000000000081 +:08235C00740000001C010000E8 +:04236400D80000009D +:102368000000000054260000BC26000024270000BE +:102378000000000000000000000000000000000055 +:102388000000000000000000000000000000000045 +:102398000000000000000000000000000000000035 +:1023A8000000000000000000000000000000000025 +:1023B8000000000000000000000000000000000015 +:1023C8000000000000000000000000000000000005 +:1023D80000000000000000000000000000000000F5 +:1023E80000000000000000000000000000000000E5 +:1023F80000000000000000000000000000000000D5 +:1024080000000000000000000100000000000000C3 +:102418000E33CDAB34126DE6ECDE05000B00000088 +:1024280000000000000000000000000000000000A4 +:102438000000000000000000000000000000000094 +:102448000000000000000000000000000000000084 +:102458000000000000000000000000000000000074 +:102468000000000000000000000000000000000064 +:102478000000000000000000000000000000000054 +:102488000000000000000000000000000000000044 +:102498000000000000000000000000000000000034 +:1024A8000000000000000000000000000000000024 +:1024B8000000000000000000000000000000000014 +:1024C8000000000000000000000000000000000004 +:1024D80000000000000000000000000000000000F4 +:1024E80000000000000000000000000000000000E4 +:1024F80000000000000000000000000000000000D4 +:1025080000000000000000000000000000000000C3 +:1025180000000000000000000000000000000000B3 +:1025280000000000000000000000000000000000A3 +:102538000000000000000000000000000000000093 +:102548000000000000000000000000000000000083 +:102558000000000000000000000000000000000073 +:102568000000000000000000000000000000000063 +:102578000000000000000000000000000000000053 +:102588000000000000000000000000000000000043 +:102598000000000000000000000000000000000033 +:1025A8000000000000000000000000000000000023 +:1025B8000000000000000000000000000000000013 +:1025C8000000000000000000000000000000000003 +:1025D80000000000000000000000000000000000F3 +:1025E80000000000000000000000000000000000E3 +:1025F80000000000000000000000000000000000D3 +:1026080000000000000000000000000000000000C2 +:1026180000000000000000000000000000000000B2 +:1026280000000000000000000000000000000000A2 +:102638000000000000000000000000000000000092 +:102648000000000000000000000000000000000082 +:102658000000000000000000000000000000000072 +:102668000000000000000000000000000000000062 +:102678000000000000000000000000000000000052 +:102688000000000000000000000000000000000042 +:102698000000000000000000000000000000000032 +:1026A8000000000000000000000000000000000022 +:1026B8000000000000000000000000000000000012 +:1026C8000000000000000000000000000000000002 +:1026D80000000000000000000000000000000000F2 +:1026E80000000000000000000000000000000000E2 +:1026F80000000000000000000000000000000000D2 +:1027080000000000000000000000000000000000C1 +:1027180000000000000000000000000000000000B1 +:1027280000000000000000000000000000000000A1 +:102738000000000000000000000000000000000091 +:102748000000000000000000000000000000000081 +:102758000000000000000000000000000000000071 +:102768000000000000000000000000000000000061 +:102778000000000000000000000000000000000051 +:08278800000000000000000049 +:102790006823000000000000000100F06823000032 :040000030000008C6D :00000001FF diff --git a/examples/hdl4se_riscv/test_code/test.info b/examples/hdl4se_riscv/test_code/test.info index b936f44..caa8258 100644 --- a/examples/hdl4se_riscv/test_code/test.info +++ b/examples/hdl4se_riscv/test_code/test.info @@ -10,7 +10,7 @@ ELF Header: Version: 0x1 Entry point address: 0x8c Start of program headers: 52 (bytes into file) - Start of section headers: 8272 (bytes into file) + Start of section headers: 8292 (bytes into file) Flags: 0x0 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) @@ -22,20 +22,20 @@ ELF Header: Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 - [ 1] .text PROGBITS 00000074 000074 001244 00 AX 0 0 4 - [ 2] .rodata PROGBITS 000012b8 0012b8 000082 00 A 0 0 4 - [ 3] .eh_frame PROGBITS 0000233c 00133c 000004 00 WA 0 0 4 - [ 4] .init_array INIT_ARRAY 00002340 001340 000008 04 WA 0 0 4 - [ 5] .fini_array FINI_ARRAY 00002348 001348 000004 04 WA 0 0 4 - [ 6] .data PROGBITS 00002350 001350 000428 00 WA 0 0 8 - [ 7] .sdata PROGBITS 00002778 001778 000010 00 WA 0 0 4 - [ 8] .sbss NOBITS 00002788 001788 000008 00 WA 0 0 4 - [ 9] .bss NOBITS 00002790 001788 00001c 00 WA 0 0 4 - [10] .comment PROGBITS 00000000 001788 000012 01 MS 0 0 1 - [11] .riscv.attributes RISCV_ATTRIBUTE 00000000 00179a 000026 00 0 0 1 - [12] .symtab SYMTAB 00000000 0017c0 000520 10 13 41 4 - [13] .strtab STRTAB 00000000 001ce0 0002f2 00 0 0 1 - [14] .shstrtab STRTAB 00000000 001fd2 00007e 00 0 0 1 + [ 1] .text PROGBITS 00000074 000074 00125c 00 AX 0 0 4 + [ 2] .rodata PROGBITS 000012d0 0012d0 000086 00 A 0 0 4 + [ 3] .eh_frame PROGBITS 00002358 001358 000004 00 WA 0 0 4 + [ 4] .init_array INIT_ARRAY 0000235c 00135c 000008 04 WA 0 0 4 + [ 5] .fini_array FINI_ARRAY 00002364 001364 000004 04 WA 0 0 4 + [ 6] .data PROGBITS 00002368 001368 000428 00 WA 0 0 8 + [ 7] .sdata PROGBITS 00002790 001790 000010 00 WA 0 0 4 + [ 8] .sbss NOBITS 000027a0 0017a0 000008 00 WA 0 0 4 + [ 9] .bss NOBITS 000027a8 0017a0 00001c 00 WA 0 0 4 + [10] .comment PROGBITS 00000000 0017a0 000012 01 MS 0 0 1 + [11] .riscv.attributes RISCV_ATTRIBUTE 00000000 0017b2 000021 00 0 0 1 + [12] .symtab SYMTAB 00000000 0017d4 000520 10 13 41 4 + [13] .strtab STRTAB 00000000 001cf4 0002f2 00 0 0 1 + [14] .shstrtab STRTAB 00000000 001fe6 00007e 00 0 0 1 Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings), I (info), L (link order), O (extra OS processing required), G (group), T (TLS), @@ -46,8 +46,8 @@ There are no section groups in this file. Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align - LOAD 0x000000 0x00000000 0x00000000 0x0133a 0x0133a R E 0x1000 - LOAD 0x00133c 0x0000233c 0x0000233c 0x0044c 0x00470 RW 0x1000 + LOAD 0x000000 0x00000000 0x00000000 0x01356 0x01356 R E 0x1000 + LOAD 0x001358 0x00002358 0x00002358 0x00448 0x0046c RW 0x1000 Section to Segment mapping: Segment Sections... @@ -64,30 +64,30 @@ Symbol table '.symtab' contains 82 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 00000074 0 SECTION LOCAL DEFAULT 1 .text - 2: 000012b8 0 SECTION LOCAL DEFAULT 2 .rodata - 3: 0000233c 0 SECTION LOCAL DEFAULT 3 .eh_frame - 4: 00002340 0 SECTION LOCAL DEFAULT 4 .init_array - 5: 00002348 0 SECTION LOCAL DEFAULT 5 .fini_array - 6: 00002350 0 SECTION LOCAL DEFAULT 6 .data - 7: 00002778 0 SECTION LOCAL DEFAULT 7 .sdata - 8: 00002788 0 SECTION LOCAL DEFAULT 8 .sbss - 9: 00002790 0 SECTION LOCAL DEFAULT 9 .bss + 2: 000012d0 0 SECTION LOCAL DEFAULT 2 .rodata + 3: 00002358 0 SECTION LOCAL DEFAULT 3 .eh_frame + 4: 0000235c 0 SECTION LOCAL DEFAULT 4 .init_array + 5: 00002364 0 SECTION LOCAL DEFAULT 5 .fini_array + 6: 00002368 0 SECTION LOCAL DEFAULT 6 .data + 7: 00002790 0 SECTION LOCAL DEFAULT 7 .sdata + 8: 000027a0 0 SECTION LOCAL DEFAULT 8 .sbss + 9: 000027a8 0 SECTION LOCAL DEFAULT 9 .bss 10: 00000000 0 SECTION LOCAL DEFAULT 10 .comment 11: 00000000 0 SECTION LOCAL DEFAULT 11 .riscv.attributes 12: 00000000 0 FILE LOCAL DEFAULT ABS __call_atexit.c 13: 00000074 24 FUNC LOCAL DEFAULT 1 register_fini 14: 00000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 15: 0000233c 0 OBJECT LOCAL DEFAULT 3 + 15: 00002358 0 OBJECT LOCAL DEFAULT 3 16: 000000d8 0 FUNC LOCAL DEFAULT 1 __do_global_dtors_aux - 17: 00002790 1 OBJECT LOCAL DEFAULT 9 completed.1 - 18: 00002348 0 OBJECT LOCAL DEFAULT 5 __do_global_dtor[...] + 17: 000027a8 1 OBJECT LOCAL DEFAULT 9 completed.1 + 18: 00002364 0 OBJECT LOCAL DEFAULT 5 __do_global_dtor[...] 19: 0000011c 0 FUNC LOCAL DEFAULT 1 frame_dummy - 20: 00002794 24 OBJECT LOCAL DEFAULT 9 object.0 - 21: 00002344 0 OBJECT LOCAL DEFAULT 4 __frame_dummy_in[...] + 20: 000027ac 24 OBJECT LOCAL DEFAULT 9 object.0 + 21: 00002360 0 OBJECT LOCAL DEFAULT 4 __frame_dummy_in[...] 22: 00000000 0 FILE LOCAL DEFAULT ABS console.c 23: 00000000 0 FILE LOCAL DEFAULT ABS exit.c 24: 00000000 0 FILE LOCAL DEFAULT ABS impure.c - 25: 00002350 1064 OBJECT LOCAL DEFAULT 6 impure_data + 25: 00002368 1064 OBJECT LOCAL DEFAULT 6 impure_data 26: 00000000 0 FILE LOCAL DEFAULT ABS init.c 27: 00000000 0 FILE LOCAL DEFAULT ABS fini.c 28: 00000000 0 FILE LOCAL DEFAULT ABS atexit.c @@ -95,58 +95,58 @@ Symbol table '.symtab' contains 82 entries: 30: 00000000 0 FILE LOCAL DEFAULT ABS sys_exit.c 31: 00000000 0 FILE LOCAL DEFAULT ABS errno.c 32: 00000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 33: 0000233c 0 OBJECT LOCAL DEFAULT 3 __FRAME_END__ + 33: 00002358 0 OBJECT LOCAL DEFAULT 3 __FRAME_END__ 34: 00000000 0 FILE LOCAL DEFAULT ABS - 35: 0000234c 0 NOTYPE LOCAL DEFAULT 5 __fini_array_end - 36: 00002348 0 NOTYPE LOCAL DEFAULT 5 __fini_array_start - 37: 00002348 0 NOTYPE LOCAL DEFAULT 4 __init_array_end - 38: 00002340 0 NOTYPE LOCAL DEFAULT 4 __preinit_array_end - 39: 00002340 0 NOTYPE LOCAL DEFAULT 4 __init_array_start - 40: 00002340 0 NOTYPE LOCAL DEFAULT 4 __preinit_array_start + 35: 00002368 0 NOTYPE LOCAL DEFAULT 5 __fini_array_end + 36: 00002364 0 NOTYPE LOCAL DEFAULT 5 __fini_array_start + 37: 00002364 0 NOTYPE LOCAL DEFAULT 4 __init_array_end + 38: 0000235c 0 NOTYPE LOCAL DEFAULT 4 __preinit_array_end + 39: 0000235c 0 NOTYPE LOCAL DEFAULT 4 __init_array_start + 40: 0000235c 0 NOTYPE LOCAL DEFAULT 4 __preinit_array_start 41: 000001b8 88 FUNC GLOBAL DEFAULT 1 _putchar 42: 00000970 140 FUNC GLOBAL DEFAULT 1 _strcat - 43: 00002b50 0 NOTYPE GLOBAL DEFAULT ABS __global_pointer$ + 43: 00002b68 0 NOTYPE GLOBAL DEFAULT ABS __global_pointer$ 44: 000009fc 112 FUNC GLOBAL DEFAULT 1 _strcmp - 45: 000012b0 8 FUNC GLOBAL DEFAULT 1 __errno - 46: 00002778 0 NOTYPE GLOBAL DEFAULT 7 __SDATA_BEGIN__ + 45: 000012c8 8 FUNC GLOBAL DEFAULT 1 __errno + 46: 00002790 0 NOTYPE GLOBAL DEFAULT 7 __SDATA_BEGIN__ 47: 0000013c 60 FUNC GLOBAL DEFAULT 1 _canputchar 48: 00000778 312 FUNC GLOBAL DEFAULT 1 _s2h 49: 0000025c 104 FUNC GLOBAL DEFAULT 1 _puts 50: 00000b04 64 FUNC GLOBAL DEFAULT 1 _buadrateset 51: 000004f8 388 FUNC GLOBAL DEFAULT 1 _h2s - 52: 0000277c 0 OBJECT GLOBAL HIDDEN 7 __dso_handle + 52: 00002794 0 OBJECT GLOBAL HIDDEN 7 __dso_handle 53: 00000b44 584 FUNC GLOBAL DEFAULT 1 dispmem 54: 00000178 64 FUNC GLOBAL DEFAULT 1 _haschar - 55: 00002778 4 OBJECT GLOBAL DEFAULT 7 _global_impure_ptr - 56: 00000ee0 156 FUNC GLOBAL DEFAULT 1 __libc_init_array + 55: 00002790 4 OBJECT GLOBAL DEFAULT 7 _global_impure_ptr + 56: 00000ef8 156 FUNC GLOBAL DEFAULT 1 __libc_init_array 57: 000002c4 216 FUNC GLOBAL DEFAULT 1 _gets - 58: 00001178 92 FUNC GLOBAL DEFAULT 1 __libc_fini_array + 58: 00001190 92 FUNC GLOBAL DEFAULT 1 __libc_fini_array 59: 0000067c 252 FUNC GLOBAL DEFAULT 1 _s2d - 60: 00001058 288 FUNC GLOBAL DEFAULT 1 __call_exitprocs + 60: 00001070 288 FUNC GLOBAL DEFAULT 1 __call_exitprocs 61: 0000008c 76 FUNC GLOBAL DEFAULT 1 _start - 62: 000011e8 152 FUNC GLOBAL DEFAULT 1 __register_exitproc + 62: 00001200 152 FUNC GLOBAL DEFAULT 1 __register_exitproc 63: 00000210 76 FUNC GLOBAL DEFAULT 1 _getchar - 64: 000027ac 0 NOTYPE GLOBAL DEFAULT 9 __BSS_END__ - 65: 00002780 4 OBJECT GLOBAL DEFAULT 7 _uartaddr + 64: 000027c4 0 NOTYPE GLOBAL DEFAULT 9 __BSS_END__ + 65: 00002798 4 OBJECT GLOBAL DEFAULT 7 _uartaddr 66: 0000039c 348 FUNC GLOBAL DEFAULT 1 _d2s - 67: 00002788 0 NOTYPE GLOBAL DEFAULT 8 __bss_start - 68: 00000f7c 220 FUNC GLOBAL DEFAULT 1 memset - 69: 00000d8c 292 FUNC GLOBAL DEFAULT 1 main - 70: 0000278c 4 OBJECT GLOBAL DEFAULT 8 displayaddr + 67: 000027a0 0 NOTYPE GLOBAL DEFAULT 8 __bss_start + 68: 00000f94 220 FUNC GLOBAL DEFAULT 1 memset + 69: 00000d8c 316 FUNC GLOBAL DEFAULT 1 main + 70: 000027a4 4 OBJECT GLOBAL DEFAULT 8 displayaddr 71: 00000900 112 FUNC GLOBAL DEFAULT 1 _strcpy - 72: 000011d4 20 FUNC GLOBAL DEFAULT 1 atexit - 73: 00002784 4 OBJECT GLOBAL DEFAULT 7 _impure_ptr - 74: 00002350 0 NOTYPE GLOBAL DEFAULT 6 __DATA_BEGIN__ + 72: 000011ec 20 FUNC GLOBAL DEFAULT 1 atexit + 73: 0000279c 4 OBJECT GLOBAL DEFAULT 7 _impure_ptr + 74: 00002368 0 NOTYPE GLOBAL DEFAULT 6 __DATA_BEGIN__ 75: 00000a6c 152 FUNC GLOBAL DEFAULT 1 _strncmp - 76: 00002788 4 OBJECT GLOBAL DEFAULT 8 _uartstate - 77: 00002788 0 NOTYPE GLOBAL DEFAULT 7 _edata - 78: 000027ac 0 NOTYPE GLOBAL DEFAULT 9 _end - 79: 00000eb0 48 FUNC GLOBAL DEFAULT 1 exit + 76: 000027a0 4 OBJECT GLOBAL DEFAULT 8 _uartstate + 77: 000027a0 0 NOTYPE GLOBAL DEFAULT 7 _edata + 78: 000027c4 0 NOTYPE GLOBAL DEFAULT 9 _end + 79: 00000ec8 48 FUNC GLOBAL DEFAULT 1 exit 80: 000008b0 80 FUNC GLOBAL DEFAULT 1 _strlen - 81: 00001280 48 FUNC GLOBAL DEFAULT 1 _exit + 81: 00001298 48 FUNC GLOBAL DEFAULT 1 _exit No version information found in this file. Attribute Section: riscv File Attributes Tag_RISCV_stack_align: 16-bytes - Tag_RISCV_arch: "rv32i2p0_m2p0_a2p0" + Tag_RISCV_arch: "rv32i2p0_m2p0" diff --git a/examples/hdl4se_riscv/test_code/test.mif b/examples/hdl4se_riscv/test_code/test.mif index d4b24e4..353bf0c 100644 --- a/examples/hdl4se_riscv/test_code/test.mif +++ b/examples/hdl4se_riscv/test_code/test.mif @@ -36,28 +36,28 @@ BEGIN 001D : 00000793; 001E : 00078863; 001F : 00001537; -0020 : 17850513; -0021 : 1500106F; +0020 : 19050513; +0021 : 1680106F; 0022 : 00008067; 0023 : 00003197; -0024 : AC418193; +0024 : ADC18193; 0025 : C3818513; 0026 : C5C18613; 0027 : 40A60633; 0028 : 00000593; -0029 : 6D9000EF; +0029 : 6F1000EF; 002A : 00001517; -002B : 12C50513; +002B : 14450513; 002C : 00050863; 002D : 00001517; -002E : 0C450513; -002F : 118010EF; -0030 : 621000EF; +002E : 0DC50513; +002F : 130010EF; +0030 : 639000EF; 0031 : 00012503; 0032 : 00410593; 0033 : 00000613; 0034 : 4BD000EF; -0035 : 5DD0006F; +0035 : 5F50006F; 0036 : FF010113; 0037 : 00812423; 0038 : C401C783; @@ -66,7 +66,7 @@ BEGIN 003B : 00000793; 003C : 00078A63; 003D : 00002537; -003E : 33C50513; +003E : 35850513; 003F : 00000097; 0040 : 000000E7; 0041 : 00100793; @@ -79,7 +79,7 @@ BEGIN 0048 : 00078C63; 0049 : 00002537; 004A : C4418593; -004B : 33C50513; +004B : 35850513; 004C : 00000317; 004D : 00000067; 004E : 00008067; @@ -742,7 +742,7 @@ BEGIN 02DF : 97DFF0EF; 02E0 : ED840713; 02E1 : 000017B7; -02E2 : 2B878593; +02E2 : 2D078593; 02E3 : 00070513; 02E4 : DE1FF0EF; 02E5 : FEA42023; @@ -757,7 +757,7 @@ BEGIN 02EE : 02F77063; 02EF : ED840713; 02F0 : 000017B7; -02F1 : 2BC78593; +02F1 : 2D478593; 02F2 : 00070513; 02F3 : DA5FF0EF; 02F4 : FEA42023; @@ -775,7 +775,7 @@ BEGIN 0300 : 8F9FF0EF; 0301 : ED040713; 0302 : 000017B7; -0303 : 2C078593; +0303 : 2D878593; 0304 : 00070513; 0305 : D5DFF0EF; 0306 : ED040713; @@ -789,7 +789,7 @@ BEGIN 030E : 00F71C63; 030F : ED840713; 0310 : 000017B7; -0311 : 2C478593; +0311 : 2DC78593; 0312 : 00070513; 0313 : D25FF0EF; 0314 : FEC42783; @@ -800,7 +800,7 @@ BEGIN 0319 : F2E7DEE3; 031A : ED840713; 031B : 000017B7; -031C : 2C878593; +031C : 2E078593; 031D : 00070513; 031E : CF9FF0EF; 031F : FE042623; @@ -825,7 +825,7 @@ BEGIN 0332 : 0007C783; 0333 : ECF40623; 0334 : 00C0006F; -0335 : 02000793; +0335 : 02E00793; 0336 : ECF40623; 0337 : EC0406A3; 0338 : ECC40713; @@ -841,7 +841,7 @@ BEGIN 0342 : F6E7DEE3; 0343 : ED840713; 0344 : 000017B7; -0345 : 2CC78593; +0345 : 2E478593; 0346 : 00070513; 0347 : C55FF0EF; 0348 : ED840793; @@ -862,7 +862,7 @@ BEGIN 0357 : 0080006F; 0358 : 00000013; 0359 : 000017B7; -035A : 2D078513; +035A : 2E878513; 035B : CF0FF0EF; 035C : FE442703; 035D : C2E1AE23; @@ -881,367 +881,367 @@ BEGIN 036A : 20078513; 036B : D59FF0EF; 036C : 000017B7; -036D : 2D478513; +036D : 2EC78513; 036E : CA4FF0EF; 036F : 000017B7; -0370 : 2E478513; +0370 : 2FC78513; 0371 : C98FF0EF; 0372 : EE840793; 0373 : 0FF00593; 0374 : 00078513; 0375 : CF0FF0EF; -0376 : EE840713; -0377 : 00400613; -0378 : 000017B7; -0379 : 2E878593; -037A : 00070513; -037B : C81FF0EF; -037C : 00050793; -037D : 02079063; +0376 : 000017B7; +0377 : 30078513; +0378 : C7CFF0EF; +0379 : EE840793; +037A : 00078513; +037B : C70FF0EF; +037C : EE840713; +037D : 00400613; 037E : 000017B7; -037F : 2F078513; -0380 : C5CFF0EF; -0381 : 000017B7; -0382 : 31078513; -0383 : C50FF0EF; -0384 : FADFF06F; -0385 : EE840713; -0386 : 00100613; +037F : 30478593; +0380 : 00070513; +0381 : C69FF0EF; +0382 : 00050793; +0383 : 02079063; +0384 : 000017B7; +0385 : 30C78513; +0386 : C44FF0EF; 0387 : 000017B7; -0388 : 33478593; -0389 : 00070513; -038A : C45FF0EF; -038B : 00050793; -038C : 02079863; -038D : EE840793; -038E : 00278793; -038F : 00000593; -0390 : 00078513; -0391 : 839FF0EF; -0392 : FEA42423; -0393 : FE842783; -0394 : F6F056E3; -0395 : FE842503; -0396 : CADFF0EF; -0397 : F61FF06F; -0398 : EE840713; -0399 : 00100613; -039A : 000017B7; -039B : 33878593; -039C : 00070513; -039D : BF9FF0EF; -039E : 00050793; -039F : F40790E3; -03A0 : EE840793; -03A1 : 00278793; -03A2 : 00000593; -03A3 : 00078513; -03A4 : 8E9FF0EF; -03A5 : FEA42623; -03A6 : FEC42783; -03A7 : 00F05663; -03A8 : FEC42703; -03A9 : C2E1AE23; -03AA : C9DFF0EF; -03AB : F11FF06F; -03AC : FF010113; -03AD : 00000593; -03AE : 00812423; -03AF : 00112623; -03B0 : 00050413; -03B1 : 194000EF; -03B2 : C281A503; -03B3 : 03C52783; -03B4 : 00078463; -03B5 : 000780E7; -03B6 : 00040513; -03B7 : 3A4000EF; -03B8 : FF010113; -03B9 : 00812423; -03BA : 01212023; -03BB : 00002437; -03BC : 00002937; -03BD : 34040793; -03BE : 34090913; -03BF : 40F90933; -03C0 : 00112623; -03C1 : 00912223; -03C2 : 40295913; -03C3 : 02090063; -03C4 : 34040413; -03C5 : 00000493; -03C6 : 00042783; -03C7 : 00148493; -03C8 : 00440413; -03C9 : 000780E7; -03CA : FE9918E3; -03CB : 00002437; -03CC : 00002937; -03CD : 34040793; -03CE : 34890913; -03CF : 40F90933; -03D0 : 40295913; -03D1 : 02090063; -03D2 : 34040413; -03D3 : 00000493; -03D4 : 00042783; -03D5 : 00148493; -03D6 : 00440413; -03D7 : 000780E7; -03D8 : FE9918E3; -03D9 : 00C12083; -03DA : 00812403; -03DB : 00412483; -03DC : 00012903; -03DD : 01010113; -03DE : 00008067; -03DF : 00F00313; -03E0 : 00050713; -03E1 : 02C37E63; -03E2 : 00F77793; -03E3 : 0A079063; -03E4 : 08059263; -03E5 : FF067693; -03E6 : 00F67613; -03E7 : 00E686B3; -03E8 : 00B72023; -03E9 : 00B72223; -03EA : 00B72423; -03EB : 00B72623; -03EC : 01070713; -03ED : FED766E3; -03EE : 00061463; -03EF : 00008067; -03F0 : 40C306B3; -03F1 : 00269693; -03F2 : 00000297; -03F3 : 005686B3; -03F4 : 00C68067; -03F5 : 00B70723; -03F6 : 00B706A3; -03F7 : 00B70623; -03F8 : 00B705A3; -03F9 : 00B70523; -03FA : 00B704A3; -03FB : 00B70423; -03FC : 00B703A3; -03FD : 00B70323; -03FE : 00B702A3; -03FF : 00B70223; -0400 : 00B701A3; -0401 : 00B70123; -0402 : 00B700A3; -0403 : 00B70023; -0404 : 00008067; -0405 : 0FF5F593; -0406 : 00859693; -0407 : 00D5E5B3; -0408 : 01059693; -0409 : 00D5E5B3; -040A : F6DFF06F; -040B : 00279693; -040C : 00000297; -040D : 005686B3; -040E : 00008293; -040F : FA0680E7; -0410 : 00028093; -0411 : FF078793; -0412 : 40F70733; -0413 : 00F60633; -0414 : F6C378E3; -0415 : F3DFF06F; -0416 : FD010113; -0417 : 01412C23; -0418 : C281AA03; -0419 : 03212023; -041A : 02112623; -041B : 148A2903; -041C : 02812423; -041D : 02912223; -041E : 01312E23; -041F : 01512A23; -0420 : 01612823; -0421 : 01712623; -0422 : 01812423; -0423 : 04090063; -0424 : 00050B13; -0425 : 00058B93; -0426 : 00100A93; -0427 : FFF00993; -0428 : 00492483; -0429 : FFF48413; -042A : 02044263; -042B : 00249493; -042C : 009904B3; -042D : 040B8463; -042E : 1044A783; -042F : 05778063; -0430 : FFF40413; -0431 : FFC48493; -0432 : FF3416E3; -0433 : 02C12083; -0434 : 02812403; -0435 : 02412483; -0436 : 02012903; -0437 : 01C12983; -0438 : 01812A03; -0439 : 01412A83; -043A : 01012B03; -043B : 00C12B83; -043C : 00812C03; -043D : 03010113; -043E : 00008067; -043F : 00492783; -0440 : 0044A683; -0441 : FFF78793; -0442 : 04878E63; -0443 : 0004A223; -0444 : FA0688E3; -0445 : 18892783; -0446 : 008A9733; -0447 : 00492C03; -0448 : 00F777B3; -0449 : 02079263; -044A : 000680E7; -044B : 00492703; -044C : 148A2783; -044D : 01871463; -044E : F92784E3; -044F : F80788E3; -0450 : 00078913; -0451 : F5DFF06F; -0452 : 18C92783; -0453 : 0844A583; -0454 : 00F77733; -0455 : 00071C63; -0456 : 000B0513; -0457 : 000680E7; -0458 : FCDFF06F; -0459 : 00892223; -045A : FA9FF06F; -045B : 00058513; -045C : 000680E7; -045D : FB9FF06F; -045E : FF010113; -045F : 00812423; -0460 : 000027B7; -0461 : 00002437; -0462 : 34878793; -0463 : 34C40413; -0464 : 40F40433; -0465 : 00912223; -0466 : 00112623; -0467 : 40245493; -0468 : 02048063; -0469 : FFC40413; -046A : 00F40433; -046B : 00042783; -046C : FFF48493; -046D : FFC40413; -046E : 000780E7; -046F : FE0498E3; -0470 : 00C12083; -0471 : 00812403; -0472 : 00412483; -0473 : 01010113; -0474 : 00008067; -0475 : 00050593; -0476 : 00000693; -0477 : 00000613; -0478 : 00000513; -0479 : 0040006F; -047A : C281A703; -047B : 14872783; -047C : 04078C63; -047D : 0047A703; -047E : 01F00813; -047F : 06E84E63; -0480 : 00271813; -0481 : 02050663; -0482 : 01078333; -0483 : 08C32423; -0484 : 1887A883; -0485 : 00100613; -0486 : 00E61633; -0487 : 00C8E8B3; -0488 : 1917A423; -0489 : 10D32423; -048A : 00200693; -048B : 02D50463; -048C : 00170713; -048D : 00E7A223; -048E : 010787B3; -048F : 00B7A423; -0490 : 00000513; -0491 : 00008067; -0492 : 14C70793; -0493 : 14F72423; -0494 : FA5FF06F; -0495 : 18C7A683; -0496 : 00170713; -0497 : 00E7A223; -0498 : 00C6E6B3; -0499 : 18D7A623; -049A : 010787B3; -049B : 00B7A423; -049C : 00000513; -049D : 00008067; -049E : FFF00513; -049F : 00008067; -04A0 : 05D00893; -04A1 : 00000073; -04A2 : 00054463; -04A3 : 0000006F; -04A4 : FF010113; -04A5 : 00812423; -04A6 : 00050413; -04A7 : 00112623; -04A8 : 40800433; -04A9 : 00C000EF; -04AA : 00852023; -04AB : 0000006F; -04AC : C341A503; -04AD : 00008067; -04AE : 00002020; -04AF : 00202020; -04B0 : 00000020; -04B1 : 0000202D; -04B2 : 007C2020; -04B3 : 00000A7C; -04B4 : 0000000A; -04B5 : 6C6C6548; -04B6 : 57202C6F; -04B7 : 646C726F; -04B8 : 0000000A; -04B9 : 00003E3E; -04BA : 706C6568; -04BB : 00000020; -04BC : 20642020; -04BD : 6464613C; -04BE : 2D203E72; -04BF : 6964202D; -04C0 : 616C7073; -04C1 : 656D2079; -04C2 : 79726F6D; -04C3 : 00000A20; -04C4 : 20622020; -04C5 : 7561623C; -04C6 : 74617264; -04C7 : 2D203E65; -04C8 : 6573202D; -04C9 : 61622074; -04CA : 61726475; -04CB : 0A206574; -04CC : 00000000; -04CD : 00000062; -04CE : CDCD0064; -04CF : CDCDCDCD; -04D0 : CDCDCDCD; -04D1 : CDCDCDCD; -04D2 : CDCDCDCD; -04D3 : CDCDCDCD; -04D4 : CDCDCDCD; -04D5 : CDCDCDCD; +0388 : 32C78513; +0389 : C38FF0EF; +038A : F95FF06F; +038B : EE840713; +038C : 00100613; +038D : 000017B7; +038E : 35078593; +038F : 00070513; +0390 : C2DFF0EF; +0391 : 00050793; +0392 : 02079863; +0393 : EE840793; +0394 : 00278793; +0395 : 00000593; +0396 : 00078513; +0397 : 821FF0EF; +0398 : FEA42423; +0399 : FE842783; +039A : F4F05AE3; +039B : FE842503; +039C : C95FF0EF; +039D : F49FF06F; +039E : EE840713; +039F : 00100613; +03A0 : 000017B7; +03A1 : 35478593; +03A2 : 00070513; +03A3 : BE1FF0EF; +03A4 : 00050793; +03A5 : F20794E3; +03A6 : EE840793; +03A7 : 00278793; +03A8 : 00000593; +03A9 : 00078513; +03AA : 8D1FF0EF; +03AB : FEA42623; +03AC : FEC42783; +03AD : 00F05663; +03AE : FEC42703; +03AF : C2E1AE23; +03B0 : C85FF0EF; +03B1 : EF9FF06F; +03B2 : FF010113; +03B3 : 00000593; +03B4 : 00812423; +03B5 : 00112623; +03B6 : 00050413; +03B7 : 194000EF; +03B8 : C281A503; +03B9 : 03C52783; +03BA : 00078463; +03BB : 000780E7; +03BC : 00040513; +03BD : 3A4000EF; +03BE : FF010113; +03BF : 00812423; +03C0 : 01212023; +03C1 : 00002437; +03C2 : 00002937; +03C3 : 35C40793; +03C4 : 35C90913; +03C5 : 40F90933; +03C6 : 00112623; +03C7 : 00912223; +03C8 : 40295913; +03C9 : 02090063; +03CA : 35C40413; +03CB : 00000493; +03CC : 00042783; +03CD : 00148493; +03CE : 00440413; +03CF : 000780E7; +03D0 : FE9918E3; +03D1 : 00002437; +03D2 : 00002937; +03D3 : 35C40793; +03D4 : 36490913; +03D5 : 40F90933; +03D6 : 40295913; +03D7 : 02090063; +03D8 : 35C40413; +03D9 : 00000493; +03DA : 00042783; +03DB : 00148493; +03DC : 00440413; +03DD : 000780E7; +03DE : FE9918E3; +03DF : 00C12083; +03E0 : 00812403; +03E1 : 00412483; +03E2 : 00012903; +03E3 : 01010113; +03E4 : 00008067; +03E5 : 00F00313; +03E6 : 00050713; +03E7 : 02C37E63; +03E8 : 00F77793; +03E9 : 0A079063; +03EA : 08059263; +03EB : FF067693; +03EC : 00F67613; +03ED : 00E686B3; +03EE : 00B72023; +03EF : 00B72223; +03F0 : 00B72423; +03F1 : 00B72623; +03F2 : 01070713; +03F3 : FED766E3; +03F4 : 00061463; +03F5 : 00008067; +03F6 : 40C306B3; +03F7 : 00269693; +03F8 : 00000297; +03F9 : 005686B3; +03FA : 00C68067; +03FB : 00B70723; +03FC : 00B706A3; +03FD : 00B70623; +03FE : 00B705A3; +03FF : 00B70523; +0400 : 00B704A3; +0401 : 00B70423; +0402 : 00B703A3; +0403 : 00B70323; +0404 : 00B702A3; +0405 : 00B70223; +0406 : 00B701A3; +0407 : 00B70123; +0408 : 00B700A3; +0409 : 00B70023; +040A : 00008067; +040B : 0FF5F593; +040C : 00859693; +040D : 00D5E5B3; +040E : 01059693; +040F : 00D5E5B3; +0410 : F6DFF06F; +0411 : 00279693; +0412 : 00000297; +0413 : 005686B3; +0414 : 00008293; +0415 : FA0680E7; +0416 : 00028093; +0417 : FF078793; +0418 : 40F70733; +0419 : 00F60633; +041A : F6C378E3; +041B : F3DFF06F; +041C : FD010113; +041D : 01412C23; +041E : C281AA03; +041F : 03212023; +0420 : 02112623; +0421 : 148A2903; +0422 : 02812423; +0423 : 02912223; +0424 : 01312E23; +0425 : 01512A23; +0426 : 01612823; +0427 : 01712623; +0428 : 01812423; +0429 : 04090063; +042A : 00050B13; +042B : 00058B93; +042C : 00100A93; +042D : FFF00993; +042E : 00492483; +042F : FFF48413; +0430 : 02044263; +0431 : 00249493; +0432 : 009904B3; +0433 : 040B8463; +0434 : 1044A783; +0435 : 05778063; +0436 : FFF40413; +0437 : FFC48493; +0438 : FF3416E3; +0439 : 02C12083; +043A : 02812403; +043B : 02412483; +043C : 02012903; +043D : 01C12983; +043E : 01812A03; +043F : 01412A83; +0440 : 01012B03; +0441 : 00C12B83; +0442 : 00812C03; +0443 : 03010113; +0444 : 00008067; +0445 : 00492783; +0446 : 0044A683; +0447 : FFF78793; +0448 : 04878E63; +0449 : 0004A223; +044A : FA0688E3; +044B : 18892783; +044C : 008A9733; +044D : 00492C03; +044E : 00F777B3; +044F : 02079263; +0450 : 000680E7; +0451 : 00492703; +0452 : 148A2783; +0453 : 01871463; +0454 : F92784E3; +0455 : F80788E3; +0456 : 00078913; +0457 : F5DFF06F; +0458 : 18C92783; +0459 : 0844A583; +045A : 00F77733; +045B : 00071C63; +045C : 000B0513; +045D : 000680E7; +045E : FCDFF06F; +045F : 00892223; +0460 : FA9FF06F; +0461 : 00058513; +0462 : 000680E7; +0463 : FB9FF06F; +0464 : FF010113; +0465 : 00812423; +0466 : 000027B7; +0467 : 00002437; +0468 : 36478793; +0469 : 36840413; +046A : 40F40433; +046B : 00912223; +046C : 00112623; +046D : 40245493; +046E : 02048063; +046F : FFC40413; +0470 : 00F40433; +0471 : 00042783; +0472 : FFF48493; +0473 : FFC40413; +0474 : 000780E7; +0475 : FE0498E3; +0476 : 00C12083; +0477 : 00812403; +0478 : 00412483; +0479 : 01010113; +047A : 00008067; +047B : 00050593; +047C : 00000693; +047D : 00000613; +047E : 00000513; +047F : 0040006F; +0480 : C281A703; +0481 : 14872783; +0482 : 04078C63; +0483 : 0047A703; +0484 : 01F00813; +0485 : 06E84E63; +0486 : 00271813; +0487 : 02050663; +0488 : 01078333; +0489 : 08C32423; +048A : 1887A883; +048B : 00100613; +048C : 00E61633; +048D : 00C8E8B3; +048E : 1917A423; +048F : 10D32423; +0490 : 00200693; +0491 : 02D50463; +0492 : 00170713; +0493 : 00E7A223; +0494 : 010787B3; +0495 : 00B7A423; +0496 : 00000513; +0497 : 00008067; +0498 : 14C70793; +0499 : 14F72423; +049A : FA5FF06F; +049B : 18C7A683; +049C : 00170713; +049D : 00E7A223; +049E : 00C6E6B3; +049F : 18D7A623; +04A0 : 010787B3; +04A1 : 00B7A423; +04A2 : 00000513; +04A3 : 00008067; +04A4 : FFF00513; +04A5 : 00008067; +04A6 : 05D00893; +04A7 : 00000073; +04A8 : 00054463; +04A9 : 0000006F; +04AA : FF010113; +04AB : 00812423; +04AC : 00050413; +04AD : 00112623; +04AE : 40800433; +04AF : 00C000EF; +04B0 : 00852023; +04B1 : 0000006F; +04B2 : C341A503; +04B3 : 00008067; +04B4 : 00002020; +04B5 : 00202020; +04B6 : 00000020; +04B7 : 0000202D; +04B8 : 007C2020; +04B9 : 00000A7C; +04BA : 0000000A; +04BB : 6C6C6548; +04BC : 57202C6F; +04BD : 646C726F; +04BE : 0000000A; +04BF : 00003E3E; +04C0 : 0000003A; +04C1 : 706C6568; +04C2 : 00000020; +04C3 : 20642020; +04C4 : 6464613C; +04C5 : 2D203E72; +04C6 : 6964202D; +04C7 : 616C7073; +04C8 : 656D2079; +04C9 : 79726F6D; +04CA : 00000A20; +04CB : 20622020; +04CC : 7561623C; +04CD : 74617264; +04CE : 2D203E65; +04CF : 6573202D; +04D0 : 61622074; +04D1 : 61726475; +04D2 : 0A206574; +04D3 : 00000000; +04D4 : 00000062; +04D5 : CDCD0064; 04D6 : CDCDCDCD; 04D7 : CDCDCDCD; 04D8 : CDCDCDCD; @@ -2259,21 +2259,21 @@ BEGIN 08CC : CDCDCDCD; 08CD : CDCDCDCD; 08CE : CDCDCDCD; -08CF : 00000000; -08D0 : 00000074; -08D1 : 0000011C; -08D2 : 000000D8; +08CF : CDCDCDCD; +08D0 : CDCDCDCD; +08D1 : CDCDCDCD; +08D2 : CDCDCDCD; 08D3 : CDCDCDCD; -08D4 : 00000000; -08D5 : 0000263C; -08D6 : 000026A4; -08D7 : 0000270C; -08D8 : 00000000; -08D9 : 00000000; +08D4 : CDCDCDCD; +08D5 : CDCDCDCD; +08D6 : 00000000; +08D7 : 00000074; +08D8 : 0000011C; +08D9 : 000000D8; 08DA : 00000000; -08DB : 00000000; -08DC : 00000000; -08DD : 00000000; +08DB : 00002654; +08DC : 000026BC; +08DD : 00002724; 08DE : 00000000; 08DF : 00000000; 08E0 : 00000000; @@ -2306,18 +2306,18 @@ BEGIN 08FB : 00000000; 08FC : 00000000; 08FD : 00000000; -08FE : 00000001; +08FE : 00000000; 08FF : 00000000; -0900 : ABCD330E; -0901 : E66D1234; -0902 : 0005DEEC; -0903 : 0000000B; -0904 : 00000000; +0900 : 00000000; +0901 : 00000000; +0902 : 00000000; +0903 : 00000000; +0904 : 00000001; 0905 : 00000000; -0906 : 00000000; -0907 : 00000000; -0908 : 00000000; -0909 : 00000000; +0906 : ABCD330E; +0907 : E66D1234; +0908 : 0005DEEC; +0909 : 0000000B; 090A : 00000000; 090B : 00000000; 090C : 00000000; @@ -2530,20 +2530,20 @@ BEGIN 09DB : 00000000; 09DC : 00000000; 09DD : 00000000; -09DE : 00002350; +09DE : 00000000; 09DF : 00000000; -09E0 : F0000100; -09E1 : 00002350; -09E2 : 00002350; +09E0 : 00000000; +09E1 : 00000000; +09E2 : 00000000; 09E3 : 00000000; -09E4 : F0000100; -09E5 : 00002350; -09E6 : CDCDCDCD; -09E7 : CDCDCDCD; -09E8 : CDCDCDCD; -09E9 : CDCDCDCD; -09EA : CDCDCDCD; -09EB : CDCDCDCD; +09E4 : 00002368; +09E5 : 00000000; +09E6 : F0000100; +09E7 : 00002368; +09E8 : 00002368; +09E9 : 00000000; +09EA : F0000100; +09EB : 00002368; 09EC : CDCDCDCD; 09ED : CDCDCDCD; 09EE : CDCDCDCD; diff --git a/examples/hdl4se_riscv/test_code/test.txt b/examples/hdl4se_riscv/test_code/test.txt index 65c0bcf..806b388 100644 --- a/examples/hdl4se_riscv/test_code/test.txt +++ b/examples/hdl4se_riscv/test_code/test.txt @@ -8,45 +8,45 @@ Disassembly of section .text: 74: 00000793 addi x15,x0,0 78: 00078863 beq x15,x0,88 7c: 00001537 lui x10,0x1 - 80: 17850513 addi x10,x10,376 # 1178 <__libc_fini_array> - 84: 1500106f jal x0,11d4 + 80: 19050513 addi x10,x10,400 # 1190 <__libc_fini_array> + 84: 1680106f jal x0,11ec 88: 00008067 jalr x0,0(x1) 0000008c <_start>: 8c: 00003197 auipc x3,0x3 - 90: ac418193 addi x3,x3,-1340 # 2b50 <__global_pointer$> - 94: c3818513 addi x10,x3,-968 # 2788 <_uartstate> - 98: c5c18613 addi x12,x3,-932 # 27ac <__BSS_END__> + 90: adc18193 addi x3,x3,-1316 # 2b68 <__global_pointer$> + 94: c3818513 addi x10,x3,-968 # 27a0 <_uartstate> + 98: c5c18613 addi x12,x3,-932 # 27c4 <__BSS_END__> 9c: 40a60633 sub x12,x12,x10 a0: 00000593 addi x11,x0,0 - a4: 6d9000ef jal x1,f7c + a4: 6f1000ef jal x1,f94 a8: 00001517 auipc x10,0x1 - ac: 12c50513 addi x10,x10,300 # 11d4 + ac: 14450513 addi x10,x10,324 # 11ec b0: 00050863 beq x10,x0,c0 <_start+0x34> b4: 00001517 auipc x10,0x1 - b8: 0c450513 addi x10,x10,196 # 1178 <__libc_fini_array> - bc: 118010ef jal x1,11d4 - c0: 621000ef jal x1,ee0 <__libc_init_array> + b8: 0dc50513 addi x10,x10,220 # 1190 <__libc_fini_array> + bc: 130010ef jal x1,11ec + c0: 639000ef jal x1,ef8 <__libc_init_array> c4: 00012503 lw x10,0(x2) c8: 00410593 addi x11,x2,4 cc: 00000613 addi x12,x0,0 d0: 4bd000ef jal x1,d8c

- d4: 5dd0006f jal x0,eb0 + d4: 5f50006f jal x0,ec8 000000d8 <__do_global_dtors_aux>: d8: ff010113 addi x2,x2,-16 dc: 00812423 sw x8,8(x2) - e0: c401c783 lbu x15,-960(x3) # 2790 + e0: c401c783 lbu x15,-960(x3) # 27a8 e4: 00112623 sw x1,12(x2) e8: 02079263 bne x15,x0,10c <__do_global_dtors_aux+0x34> ec: 00000793 addi x15,x0,0 f0: 00078a63 beq x15,x0,104 <__do_global_dtors_aux+0x2c> f4: 00002537 lui x10,0x2 - f8: 33c50513 addi x10,x10,828 # 233c <__FRAME_END__> + f8: 35850513 addi x10,x10,856 # 2358 <__FRAME_END__> fc: 00000097 auipc x1,0x0 100: 000000e7 jalr x1,0(x0) # 0 104: 00100793 addi x15,x0,1 - 108: c4f18023 sb x15,-960(x3) # 2790 + 108: c4f18023 sb x15,-960(x3) # 27a8 10c: 00c12083 lw x1,12(x2) 110: 00812403 lw x8,8(x2) 114: 01010113 addi x2,x2,16 @@ -56,8 +56,8 @@ Disassembly of section .text: 11c: 00000793 addi x15,x0,0 120: 00078c63 beq x15,x0,138 124: 00002537 lui x10,0x2 - 128: c4418593 addi x11,x3,-956 # 2794 - 12c: 33c50513 addi x10,x10,828 # 233c <__FRAME_END__> + 128: c4418593 addi x11,x3,-956 # 27ac + 12c: 35850513 addi x10,x10,856 # 2358 <__FRAME_END__> 130: 00000317 auipc x6,0x0 134: 00000067 jalr x0,0(x0) # 0 138: 00008067 jalr x0,0(x1) @@ -66,11 +66,11 @@ Disassembly of section .text: 13c: ff010113 addi x2,x2,-16 140: 00812623 sw x8,12(x2) 144: 01010413 addi x8,x2,16 - 148: c301a783 lw x15,-976(x3) # 2780 <_uartaddr> + 148: c301a783 lw x15,-976(x3) # 2798 <_uartaddr> 14c: 00878793 addi x15,x15,8 150: 0007a703 lw x14,0(x15) - 154: c2e1ac23 sw x14,-968(x3) # 2788 <_uartstate> - 158: c381a783 lw x15,-968(x3) # 2788 <_uartstate> + 154: c2e1ac23 sw x14,-968(x3) # 27a0 <_uartstate> + 158: c381a783 lw x15,-968(x3) # 27a0 <_uartstate> 15c: 0017f793 andi x15,x15,1 160: 0017b793 sltiu x15,x15,1 164: 0ff7f793 andi x15,x15,255 @@ -83,16 +83,16 @@ Disassembly of section .text: 178: ff010113 addi x2,x2,-16 17c: 00812623 sw x8,12(x2) 180: 01010413 addi x8,x2,16 - 184: c301a783 lw x15,-976(x3) # 2780 <_uartaddr> + 184: c301a783 lw x15,-976(x3) # 2798 <_uartaddr> 188: 00878793 addi x15,x15,8 18c: 0007a703 lw x14,0(x15) - 190: c2e1ac23 sw x14,-968(x3) # 2788 <_uartstate> - 194: c381a703 lw x14,-968(x3) # 2788 <_uartstate> + 190: c2e1ac23 sw x14,-968(x3) # 27a0 <_uartstate> + 194: c381a703 lw x14,-968(x3) # 27a0 <_uartstate> 198: 000107b7 lui x15,0x10 19c: 00f777b3 and x15,x14,x15 1a0: 0017b793 sltiu x15,x15,1 1a4: 0ff7f793 andi x15,x15,255 - 1a8: 00078513 addi x10,x15,0 # 10000 <__global_pointer$+0xd4b0> + 1a8: 00078513 addi x10,x15,0 # 10000 <__global_pointer$+0xd498> 1ac: 00c12403 lw x8,12(x2) 1b0: 01010113 addi x2,x2,16 1b4: 00008067 jalr x0,0(x1) @@ -102,14 +102,14 @@ Disassembly of section .text: 1bc: 00812e23 sw x8,28(x2) 1c0: 02010413 addi x8,x2,32 1c4: fea42623 sw x10,-20(x8) - 1c8: c301a783 lw x15,-976(x3) # 2780 <_uartaddr> + 1c8: c301a783 lw x15,-976(x3) # 2798 <_uartaddr> 1cc: 00878793 addi x15,x15,8 1d0: 0007a703 lw x14,0(x15) - 1d4: c2e1ac23 sw x14,-968(x3) # 2788 <_uartstate> - 1d8: c381a783 lw x15,-968(x3) # 2788 <_uartstate> + 1d4: c2e1ac23 sw x14,-968(x3) # 27a0 <_uartstate> + 1d8: c381a783 lw x15,-968(x3) # 27a0 <_uartstate> 1dc: 0017f793 andi x15,x15,1 1e0: 00079e63 bne x15,x0,1fc <_putchar+0x44> - 1e4: c301a783 lw x15,-976(x3) # 2780 <_uartaddr> + 1e4: c301a783 lw x15,-976(x3) # 2798 <_uartaddr> 1e8: 00478793 addi x15,x15,4 1ec: fec42703 lw x14,-20(x8) 1f0: 00e7a023 sw x14,0(x15) @@ -125,16 +125,16 @@ Disassembly of section .text: 210: ff010113 addi x2,x2,-16 214: 00812623 sw x8,12(x2) 218: 01010413 addi x8,x2,16 - 21c: c301a783 lw x15,-976(x3) # 2780 <_uartaddr> + 21c: c301a783 lw x15,-976(x3) # 2798 <_uartaddr> 220: 00878793 addi x15,x15,8 224: 0007a703 lw x14,0(x15) - 228: c2e1ac23 sw x14,-968(x3) # 2788 <_uartstate> - 22c: c381a703 lw x14,-968(x3) # 2788 <_uartstate> + 228: c2e1ac23 sw x14,-968(x3) # 27a0 <_uartstate> + 22c: c381a703 lw x14,-968(x3) # 27a0 <_uartstate> 230: 000107b7 lui x15,0x10 234: 00f777b3 and x15,x14,x15 238: 00079863 bne x15,x0,248 <_getchar+0x38> - 23c: c301a783 lw x15,-976(x3) # 2780 <_uartaddr> - 240: 0007a783 lw x15,0(x15) # 10000 <__global_pointer$+0xd4b0> + 23c: c301a783 lw x15,-976(x3) # 2798 <_uartaddr> + 240: 0007a783 lw x15,0(x15) # 10000 <__global_pointer$+0xd498> 244: 0080006f jal x0,24c <_getchar+0x3c> 248: fff00793 addi x15,x0,-1 24c: 00078513 addi x10,x15,0 @@ -724,10 +724,10 @@ Disassembly of section .text: b0c: 02010413 addi x8,x2,32 b10: fea42623 sw x10,-20(x8) b14: 02faf7b7 lui x15,0x2faf - b18: 08078713 addi x14,x15,128 # 2faf080 <__global_pointer$+0x2fac530> + b18: 08078713 addi x14,x15,128 # 2faf080 <__global_pointer$+0x2fac518> b1c: fec42783 lw x15,-20(x8) b20: 02f74733 div x14,x14,x15 - b24: c301a783 lw x15,-976(x3) # 2780 <_uartaddr> + b24: c301a783 lw x15,-976(x3) # 2798 <_uartaddr> b28: 01078793 addi x15,x15,16 b2c: 00e7a023 sw x14,0(x15) b30: 00000793 addi x15,x0,0 @@ -741,7 +741,7 @@ Disassembly of section .text: b48: 12112e23 sw x1,316(x2) b4c: 12812c23 sw x8,312(x2) b50: 14010413 addi x8,x2,320 - b54: c3c1a783 lw x15,-964(x3) # 278c + b54: c3c1a783 lw x15,-964(x3) # 27a4 b58: ff07f793 andi x15,x15,-16 b5c: fef42223 sw x15,-28(x8) b60: fe042423 sw x0,-24(x8) @@ -754,7 +754,7 @@ Disassembly of section .text: b7c: 97dff0ef jal x1,4f8 <_h2s> b80: ed840713 addi x14,x8,-296 b84: 000017b7 lui x15,0x1 - b88: 2b878593 addi x11,x15,696 # 12b8 <__errno+0x8> + b88: 2d078593 addi x11,x15,720 # 12d0 <__errno+0x8> b8c: 00070513 addi x10,x14,0 b90: de1ff0ef jal x1,970 <_strcat> b94: fea42023 sw x10,-32(x8) @@ -765,11 +765,11 @@ Disassembly of section .text: ba8: fec42703 lw x14,-20(x8) bac: fe442783 lw x15,-28(x8) bb0: 00f70733 add x14,x14,x15 - bb4: c3c1a783 lw x15,-964(x3) # 278c + bb4: c3c1a783 lw x15,-964(x3) # 27a4 bb8: 02f77063 bgeu x14,x15,bd8 bbc: ed840713 addi x14,x8,-296 bc0: 000017b7 lui x15,0x1 - bc4: 2bc78593 addi x11,x15,700 # 12bc <__errno+0xc> + bc4: 2d478593 addi x11,x15,724 # 12d4 <__errno+0xc> bc8: 00070513 addi x10,x14,0 bcc: da5ff0ef jal x1,970 <_strcat> bd0: fea42023 sw x10,-32(x8) @@ -787,7 +787,7 @@ Disassembly of section .text: c00: 8f9ff0ef jal x1,4f8 <_h2s> c04: ed040713 addi x14,x8,-304 c08: 000017b7 lui x15,0x1 - c0c: 2c078593 addi x11,x15,704 # 12c0 <__errno+0x10> + c0c: 2d878593 addi x11,x15,728 # 12d8 <__errno+0x10> c10: 00070513 addi x10,x14,0 c14: d5dff0ef jal x1,970 <_strcat> c18: ed040713 addi x14,x8,-304 @@ -801,7 +801,7 @@ Disassembly of section .text: c38: 00f71c63 bne x14,x15,c50 c3c: ed840713 addi x14,x8,-296 c40: 000017b7 lui x15,0x1 - c44: 2c478593 addi x11,x15,708 # 12c4 <__errno+0x14> + c44: 2dc78593 addi x11,x15,732 # 12dc <__errno+0x14> c48: 00070513 addi x10,x14,0 c4c: d25ff0ef jal x1,970 <_strcat> c50: fec42783 lw x15,-20(x8) @@ -812,7 +812,7 @@ Disassembly of section .text: c64: f2e7dee3 bge x15,x14,ba0 c68: ed840713 addi x14,x8,-296 c6c: 000017b7 lui x15,0x1 - c70: 2c878593 addi x11,x15,712 # 12c8 <__errno+0x18> + c70: 2e078593 addi x11,x15,736 # 12e0 <__errno+0x18> c74: 00070513 addi x10,x14,0 c78: cf9ff0ef jal x1,970 <_strcat> c7c: fe042623 sw x0,-20(x8) @@ -837,7 +837,7 @@ Disassembly of section .text: cc8: 0007c783 lbu x15,0(x15) ccc: ecf40623 sb x15,-308(x8) cd0: 00c0006f jal x0,cdc - cd4: 02000793 addi x15,x0,32 + cd4: 02e00793 addi x15,x0,46 cd8: ecf40623 sb x15,-308(x8) cdc: ec0406a3 sb x0,-307(x8) ce0: ecc40713 addi x14,x8,-308 @@ -853,7 +853,7 @@ Disassembly of section .text: d08: f6e7dee3 bge x15,x14,c84 d0c: ed840713 addi x14,x8,-296 d10: 000017b7 lui x15,0x1 - d14: 2cc78593 addi x11,x15,716 # 12cc <__errno+0x1c> + d14: 2e478593 addi x11,x15,740 # 12e4 <__errno+0x1c> d18: 00070513 addi x10,x14,0 d1c: c55ff0ef jal x1,970 <_strcat> d20: ed840793 addi x15,x8,-296 @@ -874,10 +874,10 @@ Disassembly of section .text: d5c: 0080006f jal x0,d64 d60: 00000013 addi x0,x0,0 d64: 000017b7 lui x15,0x1 - d68: 2d078513 addi x10,x15,720 # 12d0 <__errno+0x20> + d68: 2e878513 addi x10,x15,744 # 12e8 <__errno+0x20> d6c: cf0ff0ef jal x1,25c <_puts> d70: fe442703 lw x14,-28(x8) - d74: c2e1ae23 sw x14,-964(x3) # 278c + d74: c2e1ae23 sw x14,-964(x3) # 27a4 d78: 00000013 addi x0,x0,0 d7c: 13c12083 lw x1,316(x2) d80: 13812403 lw x8,312(x2) @@ -892,496 +892,504 @@ Disassembly of section .text: d9c: eca42e23 sw x10,-292(x8) da0: ecb42c23 sw x11,-296(x8) da4: 0001c7b7 lui x15,0x1c - da8: 20078513 addi x10,x15,512 # 1c200 <__global_pointer$+0x196b0> + da8: 20078513 addi x10,x15,512 # 1c200 <__global_pointer$+0x19698> dac: d59ff0ef jal x1,b04 <_buadrateset> db0: 000017b7 lui x15,0x1 - db4: 2d478513 addi x10,x15,724 # 12d4 <__errno+0x24> + db4: 2ec78513 addi x10,x15,748 # 12ec <__errno+0x24> db8: ca4ff0ef jal x1,25c <_puts> dbc: 000017b7 lui x15,0x1 - dc0: 2e478513 addi x10,x15,740 # 12e4 <__errno+0x34> + dc0: 2fc78513 addi x10,x15,764 # 12fc <__errno+0x34> dc4: c98ff0ef jal x1,25c <_puts> dc8: ee840793 addi x15,x8,-280 dcc: 0ff00593 addi x11,x0,255 dd0: 00078513 addi x10,x15,0 dd4: cf0ff0ef jal x1,2c4 <_gets> - dd8: ee840713 addi x14,x8,-280 - ddc: 00400613 addi x12,x0,4 - de0: 000017b7 lui x15,0x1 - de4: 2e878593 addi x11,x15,744 # 12e8 <__errno+0x38> - de8: 00070513 addi x10,x14,0 - dec: c81ff0ef jal x1,a6c <_strncmp> - df0: 00050793 addi x15,x10,0 - df4: 02079063 bne x15,x0,e14 + dd8: 000017b7 lui x15,0x1 + ddc: 30078513 addi x10,x15,768 # 1300 <__errno+0x38> + de0: c7cff0ef jal x1,25c <_puts> + de4: ee840793 addi x15,x8,-280 + de8: 00078513 addi x10,x15,0 + dec: c70ff0ef jal x1,25c <_puts> + df0: ee840713 addi x14,x8,-280 + df4: 00400613 addi x12,x0,4 df8: 000017b7 lui x15,0x1 - dfc: 2f078513 addi x10,x15,752 # 12f0 <__errno+0x40> - e00: c5cff0ef jal x1,25c <_puts> - e04: 000017b7 lui x15,0x1 - e08: 31078513 addi x10,x15,784 # 1310 <__errno+0x60> - e0c: c50ff0ef jal x1,25c <_puts> - e10: fadff06f jal x0,dbc - e14: ee840713 addi x14,x8,-280 - e18: 00100613 addi x12,x0,1 + dfc: 30478593 addi x11,x15,772 # 1304 <__errno+0x3c> + e00: 00070513 addi x10,x14,0 + e04: c69ff0ef jal x1,a6c <_strncmp> + e08: 00050793 addi x15,x10,0 + e0c: 02079063 bne x15,x0,e2c + e10: 000017b7 lui x15,0x1 + e14: 30c78513 addi x10,x15,780 # 130c <__errno+0x44> + e18: c44ff0ef jal x1,25c <_puts> e1c: 000017b7 lui x15,0x1 - e20: 33478593 addi x11,x15,820 # 1334 <__errno+0x84> - e24: 00070513 addi x10,x14,0 - e28: c45ff0ef jal x1,a6c <_strncmp> - e2c: 00050793 addi x15,x10,0 - e30: 02079863 bne x15,x0,e60 - e34: ee840793 addi x15,x8,-280 - e38: 00278793 addi x15,x15,2 - e3c: 00000593 addi x11,x0,0 - e40: 00078513 addi x10,x15,0 - e44: 839ff0ef jal x1,67c <_s2d> - e48: fea42423 sw x10,-24(x8) - e4c: fe842783 lw x15,-24(x8) - e50: f6f056e3 bge x0,x15,dbc - e54: fe842503 lw x10,-24(x8) - e58: cadff0ef jal x1,b04 <_buadrateset> - e5c: f61ff06f jal x0,dbc - e60: ee840713 addi x14,x8,-280 - e64: 00100613 addi x12,x0,1 - e68: 000017b7 lui x15,0x1 - e6c: 33878593 addi x11,x15,824 # 1338 <__errno+0x88> - e70: 00070513 addi x10,x14,0 - e74: bf9ff0ef jal x1,a6c <_strncmp> - e78: 00050793 addi x15,x10,0 - e7c: f40790e3 bne x15,x0,dbc - e80: ee840793 addi x15,x8,-280 - e84: 00278793 addi x15,x15,2 - e88: 00000593 addi x11,x0,0 - e8c: 00078513 addi x10,x15,0 - e90: 8e9ff0ef jal x1,778 <_s2h> - e94: fea42623 sw x10,-20(x8) - e98: fec42783 lw x15,-20(x8) - e9c: 00f05663 bge x0,x15,ea8 - ea0: fec42703 lw x14,-20(x8) - ea4: c2e1ae23 sw x14,-964(x3) # 278c - ea8: c9dff0ef jal x1,b44 - eac: f11ff06f jal x0,dbc + e20: 32c78513 addi x10,x15,812 # 132c <__errno+0x64> + e24: c38ff0ef jal x1,25c <_puts> + e28: f95ff06f jal x0,dbc + e2c: ee840713 addi x14,x8,-280 + e30: 00100613 addi x12,x0,1 + e34: 000017b7 lui x15,0x1 + e38: 35078593 addi x11,x15,848 # 1350 <__errno+0x88> + e3c: 00070513 addi x10,x14,0 + e40: c2dff0ef jal x1,a6c <_strncmp> + e44: 00050793 addi x15,x10,0 + e48: 02079863 bne x15,x0,e78 + e4c: ee840793 addi x15,x8,-280 + e50: 00278793 addi x15,x15,2 + e54: 00000593 addi x11,x0,0 + e58: 00078513 addi x10,x15,0 + e5c: 821ff0ef jal x1,67c <_s2d> + e60: fea42423 sw x10,-24(x8) + e64: fe842783 lw x15,-24(x8) + e68: f4f05ae3 bge x0,x15,dbc + e6c: fe842503 lw x10,-24(x8) + e70: c95ff0ef jal x1,b04 <_buadrateset> + e74: f49ff06f jal x0,dbc + e78: ee840713 addi x14,x8,-280 + e7c: 00100613 addi x12,x0,1 + e80: 000017b7 lui x15,0x1 + e84: 35478593 addi x11,x15,852 # 1354 <__errno+0x8c> + e88: 00070513 addi x10,x14,0 + e8c: be1ff0ef jal x1,a6c <_strncmp> + e90: 00050793 addi x15,x10,0 + e94: f20794e3 bne x15,x0,dbc + e98: ee840793 addi x15,x8,-280 + e9c: 00278793 addi x15,x15,2 + ea0: 00000593 addi x11,x0,0 + ea4: 00078513 addi x10,x15,0 + ea8: 8d1ff0ef jal x1,778 <_s2h> + eac: fea42623 sw x10,-20(x8) + eb0: fec42783 lw x15,-20(x8) + eb4: 00f05663 bge x0,x15,ec0 + eb8: fec42703 lw x14,-20(x8) + ebc: c2e1ae23 sw x14,-964(x3) # 27a4 + ec0: c85ff0ef jal x1,b44 + ec4: ef9ff06f jal x0,dbc -00000eb0 : - eb0: ff010113 addi x2,x2,-16 - eb4: 00000593 addi x11,x0,0 - eb8: 00812423 sw x8,8(x2) - ebc: 00112623 sw x1,12(x2) - ec0: 00050413 addi x8,x10,0 - ec4: 194000ef jal x1,1058 <__call_exitprocs> - ec8: c281a503 lw x10,-984(x3) # 2778 <_global_impure_ptr> - ecc: 03c52783 lw x15,60(x10) - ed0: 00078463 beq x15,x0,ed8 - ed4: 000780e7 jalr x1,0(x15) - ed8: 00040513 addi x10,x8,0 - edc: 3a4000ef jal x1,1280 <_exit> +00000ec8 : + ec8: ff010113 addi x2,x2,-16 + ecc: 00000593 addi x11,x0,0 + ed0: 00812423 sw x8,8(x2) + ed4: 00112623 sw x1,12(x2) + ed8: 00050413 addi x8,x10,0 + edc: 194000ef jal x1,1070 <__call_exitprocs> + ee0: c281a503 lw x10,-984(x3) # 2790 <_global_impure_ptr> + ee4: 03c52783 lw x15,60(x10) + ee8: 00078463 beq x15,x0,ef0 + eec: 000780e7 jalr x1,0(x15) + ef0: 00040513 addi x10,x8,0 + ef4: 3a4000ef jal x1,1298 <_exit> -00000ee0 <__libc_init_array>: - ee0: ff010113 addi x2,x2,-16 - ee4: 00812423 sw x8,8(x2) - ee8: 01212023 sw x18,0(x2) - eec: 00002437 lui x8,0x2 - ef0: 00002937 lui x18,0x2 - ef4: 34040793 addi x15,x8,832 # 2340 <__init_array_start> - ef8: 34090913 addi x18,x18,832 # 2340 <__init_array_start> - efc: 40f90933 sub x18,x18,x15 - f00: 00112623 sw x1,12(x2) - f04: 00912223 sw x9,4(x2) - f08: 40295913 srai x18,x18,0x2 - f0c: 02090063 beq x18,x0,f2c <__libc_init_array+0x4c> - f10: 34040413 addi x8,x8,832 - f14: 00000493 addi x9,x0,0 - f18: 00042783 lw x15,0(x8) - f1c: 00148493 addi x9,x9,1 - f20: 00440413 addi x8,x8,4 - f24: 000780e7 jalr x1,0(x15) - f28: fe9918e3 bne x18,x9,f18 <__libc_init_array+0x38> - f2c: 00002437 lui x8,0x2 - f30: 00002937 lui x18,0x2 - f34: 34040793 addi x15,x8,832 # 2340 <__init_array_start> - f38: 34890913 addi x18,x18,840 # 2348 <__do_global_dtors_aux_fini_array_entry> - f3c: 40f90933 sub x18,x18,x15 - f40: 40295913 srai x18,x18,0x2 - f44: 02090063 beq x18,x0,f64 <__libc_init_array+0x84> - f48: 34040413 addi x8,x8,832 - f4c: 00000493 addi x9,x0,0 - f50: 00042783 lw x15,0(x8) - f54: 00148493 addi x9,x9,1 - f58: 00440413 addi x8,x8,4 - f5c: 000780e7 jalr x1,0(x15) - f60: fe9918e3 bne x18,x9,f50 <__libc_init_array+0x70> - f64: 00c12083 lw x1,12(x2) - f68: 00812403 lw x8,8(x2) - f6c: 00412483 lw x9,4(x2) - f70: 00012903 lw x18,0(x2) - f74: 01010113 addi x2,x2,16 - f78: 00008067 jalr x0,0(x1) +00000ef8 <__libc_init_array>: + ef8: ff010113 addi x2,x2,-16 + efc: 00812423 sw x8,8(x2) + f00: 01212023 sw x18,0(x2) + f04: 00002437 lui x8,0x2 + f08: 00002937 lui x18,0x2 + f0c: 35c40793 addi x15,x8,860 # 235c <__init_array_start> + f10: 35c90913 addi x18,x18,860 # 235c <__init_array_start> + f14: 40f90933 sub x18,x18,x15 + f18: 00112623 sw x1,12(x2) + f1c: 00912223 sw x9,4(x2) + f20: 40295913 srai x18,x18,0x2 + f24: 02090063 beq x18,x0,f44 <__libc_init_array+0x4c> + f28: 35c40413 addi x8,x8,860 + f2c: 00000493 addi x9,x0,0 + f30: 00042783 lw x15,0(x8) + f34: 00148493 addi x9,x9,1 + f38: 00440413 addi x8,x8,4 + f3c: 000780e7 jalr x1,0(x15) + f40: fe9918e3 bne x18,x9,f30 <__libc_init_array+0x38> + f44: 00002437 lui x8,0x2 + f48: 00002937 lui x18,0x2 + f4c: 35c40793 addi x15,x8,860 # 235c <__init_array_start> + f50: 36490913 addi x18,x18,868 # 2364 <__do_global_dtors_aux_fini_array_entry> + f54: 40f90933 sub x18,x18,x15 + f58: 40295913 srai x18,x18,0x2 + f5c: 02090063 beq x18,x0,f7c <__libc_init_array+0x84> + f60: 35c40413 addi x8,x8,860 + f64: 00000493 addi x9,x0,0 + f68: 00042783 lw x15,0(x8) + f6c: 00148493 addi x9,x9,1 + f70: 00440413 addi x8,x8,4 + f74: 000780e7 jalr x1,0(x15) + f78: fe9918e3 bne x18,x9,f68 <__libc_init_array+0x70> + f7c: 00c12083 lw x1,12(x2) + f80: 00812403 lw x8,8(x2) + f84: 00412483 lw x9,4(x2) + f88: 00012903 lw x18,0(x2) + f8c: 01010113 addi x2,x2,16 + f90: 00008067 jalr x0,0(x1) -00000f7c : - f7c: 00f00313 addi x6,x0,15 - f80: 00050713 addi x14,x10,0 - f84: 02c37e63 bgeu x6,x12,fc0 - f88: 00f77793 andi x15,x14,15 - f8c: 0a079063 bne x15,x0,102c - f90: 08059263 bne x11,x0,1014 - f94: ff067693 andi x13,x12,-16 - f98: 00f67613 andi x12,x12,15 - f9c: 00e686b3 add x13,x13,x14 - fa0: 00b72023 sw x11,0(x14) - fa4: 00b72223 sw x11,4(x14) - fa8: 00b72423 sw x11,8(x14) - fac: 00b72623 sw x11,12(x14) - fb0: 01070713 addi x14,x14,16 - fb4: fed766e3 bltu x14,x13,fa0 - fb8: 00061463 bne x12,x0,fc0 - fbc: 00008067 jalr x0,0(x1) - fc0: 40c306b3 sub x13,x6,x12 - fc4: 00269693 slli x13,x13,0x2 - fc8: 00000297 auipc x5,0x0 - fcc: 005686b3 add x13,x13,x5 - fd0: 00c68067 jalr x0,12(x13) - fd4: 00b70723 sb x11,14(x14) - fd8: 00b706a3 sb x11,13(x14) - fdc: 00b70623 sb x11,12(x14) - fe0: 00b705a3 sb x11,11(x14) - fe4: 00b70523 sb x11,10(x14) - fe8: 00b704a3 sb x11,9(x14) - fec: 00b70423 sb x11,8(x14) - ff0: 00b703a3 sb x11,7(x14) - ff4: 00b70323 sb x11,6(x14) - ff8: 00b702a3 sb x11,5(x14) - ffc: 00b70223 sb x11,4(x14) - 1000: 00b701a3 sb x11,3(x14) - 1004: 00b70123 sb x11,2(x14) - 1008: 00b700a3 sb x11,1(x14) - 100c: 00b70023 sb x11,0(x14) - 1010: 00008067 jalr x0,0(x1) - 1014: 0ff5f593 andi x11,x11,255 - 1018: 00859693 slli x13,x11,0x8 - 101c: 00d5e5b3 or x11,x11,x13 - 1020: 01059693 slli x13,x11,0x10 - 1024: 00d5e5b3 or x11,x11,x13 - 1028: f6dff06f jal x0,f94 - 102c: 00279693 slli x13,x15,0x2 - 1030: 00000297 auipc x5,0x0 - 1034: 005686b3 add x13,x13,x5 - 1038: 00008293 addi x5,x1,0 - 103c: fa0680e7 jalr x1,-96(x13) - 1040: 00028093 addi x1,x5,0 # 1030 - 1044: ff078793 addi x15,x15,-16 - 1048: 40f70733 sub x14,x14,x15 - 104c: 00f60633 add x12,x12,x15 - 1050: f6c378e3 bgeu x6,x12,fc0 - 1054: f3dff06f jal x0,f90 +00000f94 : + f94: 00f00313 addi x6,x0,15 + f98: 00050713 addi x14,x10,0 + f9c: 02c37e63 bgeu x6,x12,fd8 + fa0: 00f77793 andi x15,x14,15 + fa4: 0a079063 bne x15,x0,1044 + fa8: 08059263 bne x11,x0,102c + fac: ff067693 andi x13,x12,-16 + fb0: 00f67613 andi x12,x12,15 + fb4: 00e686b3 add x13,x13,x14 + fb8: 00b72023 sw x11,0(x14) + fbc: 00b72223 sw x11,4(x14) + fc0: 00b72423 sw x11,8(x14) + fc4: 00b72623 sw x11,12(x14) + fc8: 01070713 addi x14,x14,16 + fcc: fed766e3 bltu x14,x13,fb8 + fd0: 00061463 bne x12,x0,fd8 + fd4: 00008067 jalr x0,0(x1) + fd8: 40c306b3 sub x13,x6,x12 + fdc: 00269693 slli x13,x13,0x2 + fe0: 00000297 auipc x5,0x0 + fe4: 005686b3 add x13,x13,x5 + fe8: 00c68067 jalr x0,12(x13) + fec: 00b70723 sb x11,14(x14) + ff0: 00b706a3 sb x11,13(x14) + ff4: 00b70623 sb x11,12(x14) + ff8: 00b705a3 sb x11,11(x14) + ffc: 00b70523 sb x11,10(x14) + 1000: 00b704a3 sb x11,9(x14) + 1004: 00b70423 sb x11,8(x14) + 1008: 00b703a3 sb x11,7(x14) + 100c: 00b70323 sb x11,6(x14) + 1010: 00b702a3 sb x11,5(x14) + 1014: 00b70223 sb x11,4(x14) + 1018: 00b701a3 sb x11,3(x14) + 101c: 00b70123 sb x11,2(x14) + 1020: 00b700a3 sb x11,1(x14) + 1024: 00b70023 sb x11,0(x14) + 1028: 00008067 jalr x0,0(x1) + 102c: 0ff5f593 andi x11,x11,255 + 1030: 00859693 slli x13,x11,0x8 + 1034: 00d5e5b3 or x11,x11,x13 + 1038: 01059693 slli x13,x11,0x10 + 103c: 00d5e5b3 or x11,x11,x13 + 1040: f6dff06f jal x0,fac + 1044: 00279693 slli x13,x15,0x2 + 1048: 00000297 auipc x5,0x0 + 104c: 005686b3 add x13,x13,x5 + 1050: 00008293 addi x5,x1,0 + 1054: fa0680e7 jalr x1,-96(x13) + 1058: 00028093 addi x1,x5,0 # 1048 + 105c: ff078793 addi x15,x15,-16 + 1060: 40f70733 sub x14,x14,x15 + 1064: 00f60633 add x12,x12,x15 + 1068: f6c378e3 bgeu x6,x12,fd8 + 106c: f3dff06f jal x0,fa8 -00001058 <__call_exitprocs>: - 1058: fd010113 addi x2,x2,-48 - 105c: 01412c23 sw x20,24(x2) - 1060: c281aa03 lw x20,-984(x3) # 2778 <_global_impure_ptr> - 1064: 03212023 sw x18,32(x2) - 1068: 02112623 sw x1,44(x2) - 106c: 148a2903 lw x18,328(x20) - 1070: 02812423 sw x8,40(x2) - 1074: 02912223 sw x9,36(x2) - 1078: 01312e23 sw x19,28(x2) - 107c: 01512a23 sw x21,20(x2) - 1080: 01612823 sw x22,16(x2) - 1084: 01712623 sw x23,12(x2) - 1088: 01812423 sw x24,8(x2) - 108c: 04090063 beq x18,x0,10cc <__call_exitprocs+0x74> - 1090: 00050b13 addi x22,x10,0 - 1094: 00058b93 addi x23,x11,0 - 1098: 00100a93 addi x21,x0,1 - 109c: fff00993 addi x19,x0,-1 - 10a0: 00492483 lw x9,4(x18) - 10a4: fff48413 addi x8,x9,-1 - 10a8: 02044263 blt x8,x0,10cc <__call_exitprocs+0x74> - 10ac: 00249493 slli x9,x9,0x2 - 10b0: 009904b3 add x9,x18,x9 - 10b4: 040b8463 beq x23,x0,10fc <__call_exitprocs+0xa4> - 10b8: 1044a783 lw x15,260(x9) - 10bc: 05778063 beq x15,x23,10fc <__call_exitprocs+0xa4> - 10c0: fff40413 addi x8,x8,-1 - 10c4: ffc48493 addi x9,x9,-4 - 10c8: ff3416e3 bne x8,x19,10b4 <__call_exitprocs+0x5c> - 10cc: 02c12083 lw x1,44(x2) - 10d0: 02812403 lw x8,40(x2) - 10d4: 02412483 lw x9,36(x2) - 10d8: 02012903 lw x18,32(x2) - 10dc: 01c12983 lw x19,28(x2) - 10e0: 01812a03 lw x20,24(x2) - 10e4: 01412a83 lw x21,20(x2) - 10e8: 01012b03 lw x22,16(x2) - 10ec: 00c12b83 lw x23,12(x2) - 10f0: 00812c03 lw x24,8(x2) - 10f4: 03010113 addi x2,x2,48 - 10f8: 00008067 jalr x0,0(x1) - 10fc: 00492783 lw x15,4(x18) - 1100: 0044a683 lw x13,4(x9) - 1104: fff78793 addi x15,x15,-1 - 1108: 04878e63 beq x15,x8,1164 <__call_exitprocs+0x10c> - 110c: 0004a223 sw x0,4(x9) - 1110: fa0688e3 beq x13,x0,10c0 <__call_exitprocs+0x68> - 1114: 18892783 lw x15,392(x18) - 1118: 008a9733 sll x14,x21,x8 - 111c: 00492c03 lw x24,4(x18) - 1120: 00f777b3 and x15,x14,x15 - 1124: 02079263 bne x15,x0,1148 <__call_exitprocs+0xf0> - 1128: 000680e7 jalr x1,0(x13) - 112c: 00492703 lw x14,4(x18) - 1130: 148a2783 lw x15,328(x20) - 1134: 01871463 bne x14,x24,113c <__call_exitprocs+0xe4> - 1138: f92784e3 beq x15,x18,10c0 <__call_exitprocs+0x68> - 113c: f80788e3 beq x15,x0,10cc <__call_exitprocs+0x74> - 1140: 00078913 addi x18,x15,0 - 1144: f5dff06f jal x0,10a0 <__call_exitprocs+0x48> - 1148: 18c92783 lw x15,396(x18) - 114c: 0844a583 lw x11,132(x9) - 1150: 00f77733 and x14,x14,x15 - 1154: 00071c63 bne x14,x0,116c <__call_exitprocs+0x114> - 1158: 000b0513 addi x10,x22,0 - 115c: 000680e7 jalr x1,0(x13) - 1160: fcdff06f jal x0,112c <__call_exitprocs+0xd4> - 1164: 00892223 sw x8,4(x18) - 1168: fa9ff06f jal x0,1110 <__call_exitprocs+0xb8> - 116c: 00058513 addi x10,x11,0 - 1170: 000680e7 jalr x1,0(x13) - 1174: fb9ff06f jal x0,112c <__call_exitprocs+0xd4> +00001070 <__call_exitprocs>: + 1070: fd010113 addi x2,x2,-48 + 1074: 01412c23 sw x20,24(x2) + 1078: c281aa03 lw x20,-984(x3) # 2790 <_global_impure_ptr> + 107c: 03212023 sw x18,32(x2) + 1080: 02112623 sw x1,44(x2) + 1084: 148a2903 lw x18,328(x20) + 1088: 02812423 sw x8,40(x2) + 108c: 02912223 sw x9,36(x2) + 1090: 01312e23 sw x19,28(x2) + 1094: 01512a23 sw x21,20(x2) + 1098: 01612823 sw x22,16(x2) + 109c: 01712623 sw x23,12(x2) + 10a0: 01812423 sw x24,8(x2) + 10a4: 04090063 beq x18,x0,10e4 <__call_exitprocs+0x74> + 10a8: 00050b13 addi x22,x10,0 + 10ac: 00058b93 addi x23,x11,0 + 10b0: 00100a93 addi x21,x0,1 + 10b4: fff00993 addi x19,x0,-1 + 10b8: 00492483 lw x9,4(x18) + 10bc: fff48413 addi x8,x9,-1 + 10c0: 02044263 blt x8,x0,10e4 <__call_exitprocs+0x74> + 10c4: 00249493 slli x9,x9,0x2 + 10c8: 009904b3 add x9,x18,x9 + 10cc: 040b8463 beq x23,x0,1114 <__call_exitprocs+0xa4> + 10d0: 1044a783 lw x15,260(x9) + 10d4: 05778063 beq x15,x23,1114 <__call_exitprocs+0xa4> + 10d8: fff40413 addi x8,x8,-1 + 10dc: ffc48493 addi x9,x9,-4 + 10e0: ff3416e3 bne x8,x19,10cc <__call_exitprocs+0x5c> + 10e4: 02c12083 lw x1,44(x2) + 10e8: 02812403 lw x8,40(x2) + 10ec: 02412483 lw x9,36(x2) + 10f0: 02012903 lw x18,32(x2) + 10f4: 01c12983 lw x19,28(x2) + 10f8: 01812a03 lw x20,24(x2) + 10fc: 01412a83 lw x21,20(x2) + 1100: 01012b03 lw x22,16(x2) + 1104: 00c12b83 lw x23,12(x2) + 1108: 00812c03 lw x24,8(x2) + 110c: 03010113 addi x2,x2,48 + 1110: 00008067 jalr x0,0(x1) + 1114: 00492783 lw x15,4(x18) + 1118: 0044a683 lw x13,4(x9) + 111c: fff78793 addi x15,x15,-1 + 1120: 04878e63 beq x15,x8,117c <__call_exitprocs+0x10c> + 1124: 0004a223 sw x0,4(x9) + 1128: fa0688e3 beq x13,x0,10d8 <__call_exitprocs+0x68> + 112c: 18892783 lw x15,392(x18) + 1130: 008a9733 sll x14,x21,x8 + 1134: 00492c03 lw x24,4(x18) + 1138: 00f777b3 and x15,x14,x15 + 113c: 02079263 bne x15,x0,1160 <__call_exitprocs+0xf0> + 1140: 000680e7 jalr x1,0(x13) + 1144: 00492703 lw x14,4(x18) + 1148: 148a2783 lw x15,328(x20) + 114c: 01871463 bne x14,x24,1154 <__call_exitprocs+0xe4> + 1150: f92784e3 beq x15,x18,10d8 <__call_exitprocs+0x68> + 1154: f80788e3 beq x15,x0,10e4 <__call_exitprocs+0x74> + 1158: 00078913 addi x18,x15,0 + 115c: f5dff06f jal x0,10b8 <__call_exitprocs+0x48> + 1160: 18c92783 lw x15,396(x18) + 1164: 0844a583 lw x11,132(x9) + 1168: 00f77733 and x14,x14,x15 + 116c: 00071c63 bne x14,x0,1184 <__call_exitprocs+0x114> + 1170: 000b0513 addi x10,x22,0 + 1174: 000680e7 jalr x1,0(x13) + 1178: fcdff06f jal x0,1144 <__call_exitprocs+0xd4> + 117c: 00892223 sw x8,4(x18) + 1180: fa9ff06f jal x0,1128 <__call_exitprocs+0xb8> + 1184: 00058513 addi x10,x11,0 + 1188: 000680e7 jalr x1,0(x13) + 118c: fb9ff06f jal x0,1144 <__call_exitprocs+0xd4> -00001178 <__libc_fini_array>: - 1178: ff010113 addi x2,x2,-16 - 117c: 00812423 sw x8,8(x2) - 1180: 000027b7 lui x15,0x2 - 1184: 00002437 lui x8,0x2 - 1188: 34878793 addi x15,x15,840 # 2348 <__do_global_dtors_aux_fini_array_entry> - 118c: 34c40413 addi x8,x8,844 # 234c <__fini_array_end> - 1190: 40f40433 sub x8,x8,x15 - 1194: 00912223 sw x9,4(x2) - 1198: 00112623 sw x1,12(x2) - 119c: 40245493 srai x9,x8,0x2 - 11a0: 02048063 beq x9,x0,11c0 <__libc_fini_array+0x48> - 11a4: ffc40413 addi x8,x8,-4 - 11a8: 00f40433 add x8,x8,x15 - 11ac: 00042783 lw x15,0(x8) - 11b0: fff48493 addi x9,x9,-1 - 11b4: ffc40413 addi x8,x8,-4 - 11b8: 000780e7 jalr x1,0(x15) - 11bc: fe0498e3 bne x9,x0,11ac <__libc_fini_array+0x34> - 11c0: 00c12083 lw x1,12(x2) - 11c4: 00812403 lw x8,8(x2) - 11c8: 00412483 lw x9,4(x2) - 11cc: 01010113 addi x2,x2,16 - 11d0: 00008067 jalr x0,0(x1) +00001190 <__libc_fini_array>: + 1190: ff010113 addi x2,x2,-16 + 1194: 00812423 sw x8,8(x2) + 1198: 000027b7 lui x15,0x2 + 119c: 00002437 lui x8,0x2 + 11a0: 36478793 addi x15,x15,868 # 2364 <__do_global_dtors_aux_fini_array_entry> + 11a4: 36840413 addi x8,x8,872 # 2368 + 11a8: 40f40433 sub x8,x8,x15 + 11ac: 00912223 sw x9,4(x2) + 11b0: 00112623 sw x1,12(x2) + 11b4: 40245493 srai x9,x8,0x2 + 11b8: 02048063 beq x9,x0,11d8 <__libc_fini_array+0x48> + 11bc: ffc40413 addi x8,x8,-4 + 11c0: 00f40433 add x8,x8,x15 + 11c4: 00042783 lw x15,0(x8) + 11c8: fff48493 addi x9,x9,-1 + 11cc: ffc40413 addi x8,x8,-4 + 11d0: 000780e7 jalr x1,0(x15) + 11d4: fe0498e3 bne x9,x0,11c4 <__libc_fini_array+0x34> + 11d8: 00c12083 lw x1,12(x2) + 11dc: 00812403 lw x8,8(x2) + 11e0: 00412483 lw x9,4(x2) + 11e4: 01010113 addi x2,x2,16 + 11e8: 00008067 jalr x0,0(x1) -000011d4 : - 11d4: 00050593 addi x11,x10,0 - 11d8: 00000693 addi x13,x0,0 - 11dc: 00000613 addi x12,x0,0 - 11e0: 00000513 addi x10,x0,0 - 11e4: 0040006f jal x0,11e8 <__register_exitproc> +000011ec : + 11ec: 00050593 addi x11,x10,0 + 11f0: 00000693 addi x13,x0,0 + 11f4: 00000613 addi x12,x0,0 + 11f8: 00000513 addi x10,x0,0 + 11fc: 0040006f jal x0,1200 <__register_exitproc> -000011e8 <__register_exitproc>: - 11e8: c281a703 lw x14,-984(x3) # 2778 <_global_impure_ptr> - 11ec: 14872783 lw x15,328(x14) - 11f0: 04078c63 beq x15,x0,1248 <__register_exitproc+0x60> - 11f4: 0047a703 lw x14,4(x15) - 11f8: 01f00813 addi x16,x0,31 - 11fc: 06e84e63 blt x16,x14,1278 <__register_exitproc+0x90> - 1200: 00271813 slli x16,x14,0x2 - 1204: 02050663 beq x10,x0,1230 <__register_exitproc+0x48> - 1208: 01078333 add x6,x15,x16 - 120c: 08c32423 sw x12,136(x6) # 1b8 <_putchar> - 1210: 1887a883 lw x17,392(x15) - 1214: 00100613 addi x12,x0,1 - 1218: 00e61633 sll x12,x12,x14 - 121c: 00c8e8b3 or x17,x17,x12 - 1220: 1917a423 sw x17,392(x15) - 1224: 10d32423 sw x13,264(x6) - 1228: 00200693 addi x13,x0,2 - 122c: 02d50463 beq x10,x13,1254 <__register_exitproc+0x6c> - 1230: 00170713 addi x14,x14,1 - 1234: 00e7a223 sw x14,4(x15) - 1238: 010787b3 add x15,x15,x16 - 123c: 00b7a423 sw x11,8(x15) - 1240: 00000513 addi x10,x0,0 - 1244: 00008067 jalr x0,0(x1) - 1248: 14c70793 addi x15,x14,332 - 124c: 14f72423 sw x15,328(x14) - 1250: fa5ff06f jal x0,11f4 <__register_exitproc+0xc> - 1254: 18c7a683 lw x13,396(x15) - 1258: 00170713 addi x14,x14,1 - 125c: 00e7a223 sw x14,4(x15) - 1260: 00c6e6b3 or x13,x13,x12 - 1264: 18d7a623 sw x13,396(x15) - 1268: 010787b3 add x15,x15,x16 - 126c: 00b7a423 sw x11,8(x15) - 1270: 00000513 addi x10,x0,0 - 1274: 00008067 jalr x0,0(x1) - 1278: fff00513 addi x10,x0,-1 - 127c: 00008067 jalr x0,0(x1) +00001200 <__register_exitproc>: + 1200: c281a703 lw x14,-984(x3) # 2790 <_global_impure_ptr> + 1204: 14872783 lw x15,328(x14) + 1208: 04078c63 beq x15,x0,1260 <__register_exitproc+0x60> + 120c: 0047a703 lw x14,4(x15) + 1210: 01f00813 addi x16,x0,31 + 1214: 06e84e63 blt x16,x14,1290 <__register_exitproc+0x90> + 1218: 00271813 slli x16,x14,0x2 + 121c: 02050663 beq x10,x0,1248 <__register_exitproc+0x48> + 1220: 01078333 add x6,x15,x16 + 1224: 08c32423 sw x12,136(x6) # 1b8 <_putchar> + 1228: 1887a883 lw x17,392(x15) + 122c: 00100613 addi x12,x0,1 + 1230: 00e61633 sll x12,x12,x14 + 1234: 00c8e8b3 or x17,x17,x12 + 1238: 1917a423 sw x17,392(x15) + 123c: 10d32423 sw x13,264(x6) + 1240: 00200693 addi x13,x0,2 + 1244: 02d50463 beq x10,x13,126c <__register_exitproc+0x6c> + 1248: 00170713 addi x14,x14,1 + 124c: 00e7a223 sw x14,4(x15) + 1250: 010787b3 add x15,x15,x16 + 1254: 00b7a423 sw x11,8(x15) + 1258: 00000513 addi x10,x0,0 + 125c: 00008067 jalr x0,0(x1) + 1260: 14c70793 addi x15,x14,332 + 1264: 14f72423 sw x15,328(x14) + 1268: fa5ff06f jal x0,120c <__register_exitproc+0xc> + 126c: 18c7a683 lw x13,396(x15) + 1270: 00170713 addi x14,x14,1 + 1274: 00e7a223 sw x14,4(x15) + 1278: 00c6e6b3 or x13,x13,x12 + 127c: 18d7a623 sw x13,396(x15) + 1280: 010787b3 add x15,x15,x16 + 1284: 00b7a423 sw x11,8(x15) + 1288: 00000513 addi x10,x0,0 + 128c: 00008067 jalr x0,0(x1) + 1290: fff00513 addi x10,x0,-1 + 1294: 00008067 jalr x0,0(x1) -00001280 <_exit>: - 1280: 05d00893 addi x17,x0,93 - 1284: 00000073 ecall - 1288: 00054463 blt x10,x0,1290 <_exit+0x10> - 128c: 0000006f jal x0,128c <_exit+0xc> - 1290: ff010113 addi x2,x2,-16 - 1294: 00812423 sw x8,8(x2) - 1298: 00050413 addi x8,x10,0 - 129c: 00112623 sw x1,12(x2) - 12a0: 40800433 sub x8,x0,x8 - 12a4: 00c000ef jal x1,12b0 <__errno> - 12a8: 00852023 sw x8,0(x10) - 12ac: 0000006f jal x0,12ac <_exit+0x2c> +00001298 <_exit>: + 1298: 05d00893 addi x17,x0,93 + 129c: 00000073 ecall + 12a0: 00054463 blt x10,x0,12a8 <_exit+0x10> + 12a4: 0000006f jal x0,12a4 <_exit+0xc> + 12a8: ff010113 addi x2,x2,-16 + 12ac: 00812423 sw x8,8(x2) + 12b0: 00050413 addi x8,x10,0 + 12b4: 00112623 sw x1,12(x2) + 12b8: 40800433 sub x8,x0,x8 + 12bc: 00c000ef jal x1,12c8 <__errno> + 12c0: 00852023 sw x8,0(x10) + 12c4: 0000006f jal x0,12c4 <_exit+0x2c> -000012b0 <__errno>: - 12b0: c341a503 lw x10,-972(x3) # 2784 <_impure_ptr> - 12b4: 00008067 jalr x0,0(x1) +000012c8 <__errno>: + 12c8: c341a503 lw x10,-972(x3) # 279c <_impure_ptr> + 12cc: 00008067 jalr x0,0(x1) Disassembly of section .rodata: -000012b8 <.rodata>: - 12b8: 2020 c.fld f8,64(x8) - 12ba: 0000 c.unimp - 12bc: 2020 c.fld f8,64(x8) - 12be: 0020 c.addi4spn x8,x2,8 - 12c0: 0020 c.addi4spn x8,x2,8 - 12c2: 0000 c.unimp - 12c4: 202d c.jal 12ee <__errno+0x3e> - 12c6: 0000 c.unimp - 12c8: 2020 c.fld f8,64(x8) - 12ca: 007c c.addi4spn x15,x2,12 - 12cc: 0a7c c.addi4spn x15,x2,284 - 12ce: 0000 c.unimp - 12d0: 000a c.slli x0,0x2 +000012d0 <.rodata>: + 12d0: 2020 c.fld f8,64(x8) 12d2: 0000 c.unimp - 12d4: 6548 c.flw f10,12(x10) - 12d6: 6c6c c.flw f11,92(x8) - 12d8: 57202c6f jal x24,384a <__global_pointer$+0xcfa> - 12dc: 646c726f jal x4,c8922 <__global_pointer$+0xc5dd2> - 12e0: 000a c.slli x0,0x2 - 12e2: 0000 c.unimp - 12e4: 3e3e c.fldsp f28,488(x2) + 12d4: 2020 c.fld f8,64(x8) + 12d6: 0020 c.addi4spn x8,x2,8 + 12d8: 0020 c.addi4spn x8,x2,8 + 12da: 0000 c.unimp + 12dc: 202d c.jal 1306 <__errno+0x3e> + 12de: 0000 c.unimp + 12e0: 2020 c.fld f8,64(x8) + 12e2: 007c c.addi4spn x15,x2,12 + 12e4: 0a7c c.addi4spn x15,x2,284 12e6: 0000 c.unimp - 12e8: 6568 c.flw f10,76(x10) - 12ea: 706c c.flw f11,100(x8) - 12ec: 0020 c.addi4spn x8,x2,8 - 12ee: 0000 c.unimp - 12f0: 2020 c.fld f8,64(x8) - 12f2: 2064 c.fld f9,192(x8) - 12f4: 613c c.flw f15,64(x10) - 12f6: 6464 c.flw f9,76(x8) - 12f8: 3e72 c.fldsp f28,312(x2) - 12fa: 2d20 c.fld f8,88(x10) - 12fc: 202d c.jal 1326 <__errno+0x76> - 12fe: 6964 c.flw f9,84(x10) - 1300: 616c7073 csrrci x0,0x616,24 - 1304: 2079 c.jal 1392 <__errno+0xe2> - 1306: 656d c.lui x10,0x1b - 1308: 6f6d c.lui x30,0x1b - 130a: 7972 c.flwsp f18,60(x2) - 130c: 0a20 c.addi4spn x8,x2,280 - 130e: 0000 c.unimp - 1310: 2020 c.fld f8,64(x8) - 1312: 2062 c.fldsp f0,24(x2) - 1314: 623c c.flw f15,64(x12) - 1316: 7561 c.lui x10,0xffff8 - 1318: 7264 c.flw f9,100(x12) - 131a: 7461 c.lui x8,0xffff8 - 131c: 3e65 c.jal ed4 - 131e: 2d20 c.fld f8,88(x10) - 1320: 202d c.jal 134a <__errno+0x9a> - 1322: 20746573 csrrsi x10,0x207,8 - 1326: 6162 c.flwsp f2,24(x2) - 1328: 6475 c.lui x8,0x1d - 132a: 6172 c.flwsp f2,28(x2) - 132c: 6574 c.flw f13,76(x10) - 132e: 0a20 c.addi4spn x8,x2,280 - 1330: 0000 c.unimp - 1332: 0000 c.unimp - 1334: 0062 c.slli x0,0x18 - 1336: 0000 c.unimp - 1338: 0064 c.addi4spn x9,x2,12 + 12e8: 000a c.slli x0,0x2 + 12ea: 0000 c.unimp + 12ec: 6548 c.flw f10,12(x10) + 12ee: 6c6c c.flw f11,92(x8) + 12f0: 57202c6f jal x24,3862 <__global_pointer$+0xcfa> + 12f4: 646c726f jal x4,c893a <__global_pointer$+0xc5dd2> + 12f8: 000a c.slli x0,0x2 + 12fa: 0000 c.unimp + 12fc: 3e3e c.fldsp f28,488(x2) + 12fe: 0000 c.unimp + 1300: 003a c.slli x0,0xe + 1302: 0000 c.unimp + 1304: 6568 c.flw f10,76(x10) + 1306: 706c c.flw f11,100(x8) + 1308: 0020 c.addi4spn x8,x2,8 + 130a: 0000 c.unimp + 130c: 2020 c.fld f8,64(x8) + 130e: 2064 c.fld f9,192(x8) + 1310: 613c c.flw f15,64(x10) + 1312: 6464 c.flw f9,76(x8) + 1314: 3e72 c.fldsp f28,312(x2) + 1316: 2d20 c.fld f8,88(x10) + 1318: 202d c.jal 1342 <__errno+0x7a> + 131a: 6964 c.flw f9,84(x10) + 131c: 616c7073 csrrci x0,0x616,24 + 1320: 2079 c.jal 13ae <__errno+0xe6> + 1322: 656d c.lui x10,0x1b + 1324: 6f6d c.lui x30,0x1b + 1326: 7972 c.flwsp f18,60(x2) + 1328: 0a20 c.addi4spn x8,x2,280 + 132a: 0000 c.unimp + 132c: 2020 c.fld f8,64(x8) + 132e: 2062 c.fldsp f0,24(x2) + 1330: 623c c.flw f15,64(x12) + 1332: 7561 c.lui x10,0xffff8 + 1334: 7264 c.flw f9,100(x12) + 1336: 7461 c.lui x8,0xffff8 + 1338: 3e65 c.jal ef0 + 133a: 2d20 c.fld f8,88(x10) + 133c: 202d c.jal 1366 <__errno+0x9e> + 133e: 20746573 csrrsi x10,0x207,8 + 1342: 6162 c.flwsp f2,24(x2) + 1344: 6475 c.lui x8,0x1d + 1346: 6172 c.flwsp f2,28(x2) + 1348: 6574 c.flw f13,76(x10) + 134a: 0a20 c.addi4spn x8,x2,280 + 134c: 0000 c.unimp + 134e: 0000 c.unimp + 1350: 0062 c.slli x0,0x18 + 1352: 0000 c.unimp + 1354: 0064 c.addi4spn x9,x2,12 Disassembly of section .eh_frame: -0000233c <__FRAME_END__>: - 233c: 0000 c.unimp +00002358 <__FRAME_END__>: + 2358: 0000 c.unimp ... Disassembly of section .init_array: -00002340 <__init_array_start>: - 2340: 0074 c.addi4spn x13,x2,12 +0000235c <__init_array_start>: + 235c: 0074 c.addi4spn x13,x2,12 ... -00002344 <__frame_dummy_init_array_entry>: - 2344: 011c c.addi4spn x15,x2,128 +00002360 <__frame_dummy_init_array_entry>: + 2360: 011c c.addi4spn x15,x2,128 ... Disassembly of section .fini_array: -00002348 <__do_global_dtors_aux_fini_array_entry>: - 2348: 00d8 c.addi4spn x14,x2,68 +00002364 <__do_global_dtors_aux_fini_array_entry>: + 2364: 00d8 c.addi4spn x14,x2,68 ... Disassembly of section .data: -00002350 : - 2350: 0000 c.unimp - 2352: 0000 c.unimp - 2354: 263c c.fld f15,72(x12) - 2356: 0000 c.unimp - 2358: 26a4 c.fld f9,72(x13) - 235a: 0000 c.unimp - 235c: 270c c.fld f11,8(x14) +00002368 : + 2368: 0000 c.unimp + 236a: 0000 c.unimp + 236c: 2654 c.fld f13,136(x12) + 236e: 0000 c.unimp + 2370: 26bc c.fld f15,72(x13) + 2372: 0000 c.unimp + 2374: 2724 c.fld f9,72(x14) ... - 23f6: 0000 c.unimp - 23f8: 0001 c.addi x0,0 - 23fa: 0000 c.unimp - 23fc: 0000 c.unimp - 23fe: 0000 c.unimp - 2400: 330e c.fldsp f6,224(x2) - 2402: abcd c.j 29f4 <__BSS_END__+0x248> - 2404: 1234 c.addi4spn x13,x2,296 - 2406: e66d c.bnez x12,24f0 - 2408: deec c.sw x11,124(x13) - 240a: 0005 c.addi x0,1 - 240c: 0000000b 0xb + 240e: 0000 c.unimp + 2410: 0001 c.addi x0,0 + 2412: 0000 c.unimp + 2414: 0000 c.unimp + 2416: 0000 c.unimp + 2418: 330e c.fldsp f6,224(x2) + 241a: abcd c.j 2a0c <__BSS_END__+0x248> + 241c: 1234 c.addi4spn x13,x2,296 + 241e: e66d c.bnez x12,2508 + 2420: deec c.sw x11,124(x13) + 2422: 0005 c.addi x0,1 + 2424: 0000000b 0xb ... Disassembly of section .sdata: -00002778 <_global_impure_ptr>: - 2778: 2350 c.fld f12,128(x14) +00002790 <_global_impure_ptr>: + 2790: 2368 c.fld f10,192(x14) ... -0000277c <__dso_handle>: - 277c: 0000 c.unimp +00002794 <__dso_handle>: + 2794: 0000 c.unimp ... -00002780 <_uartaddr>: - 2780: 0100 c.addi4spn x8,x2,128 - 2782: f000 c.fsw f8,32(x8) +00002798 <_uartaddr>: + 2798: 0100 c.addi4spn x8,x2,128 + 279a: f000 c.fsw f8,32(x8) -00002784 <_impure_ptr>: - 2784: 2350 c.fld f12,128(x14) +0000279c <_impure_ptr>: + 279c: 2368 c.fld f10,192(x14) ... Disassembly of section .sbss: -00002788 <_uartstate>: - 2788: 0000 c.unimp +000027a0 <_uartstate>: + 27a0: 0000 c.unimp ... -0000278c : - 278c: 0000 c.unimp +000027a4 : + 27a4: 0000 c.unimp ... Disassembly of section .bss: -00002790 : - 2790: 0000 c.unimp +000027a8 : + 27a8: 0000 c.unimp ... -00002794 : +000027ac : ... Disassembly of section .comment: @@ -1398,18 +1406,19 @@ Disassembly of section .comment: Disassembly of section .riscv.attributes: 00000000 <.riscv.attributes>: - 0: 2541 c.jal 680 <_s2d+0x4> + 0: 2041 c.jal 80 2: 0000 c.unimp 4: 7200 c.flw f8,32(x12) 6: 7369 c.lui x6,0xffffa 8: 01007663 bgeu x0,x16,14 - c: 0000001b 0x1b + c: 0016 c.slli x0,0x5 + e: 0000 c.unimp 10: 1004 c.addi4spn x9,x2,32 12: 7205 c.lui x4,0xfffe1 14: 3376 c.fldsp f6,376(x2) 16: 6932 c.flwsp f18,12(x2) 18: 7032 c.flwsp f0,44(x2) 1a: 5f30 c.lw x12,120(x14) - 1c: 326d c.jal fffff9c6 <__global_pointer$+0xffffce76> + 1c: 326d c.jal fffff9c6 <__global_pointer$+0xffffce5e> 1e: 3070 c.fld f12,224(x8) - 20: 615f 7032 0030 0x307032615f + ... diff --git a/examples/hdl4se_riscv/verilog/riscv_core_v4.v b/examples/hdl4se_riscv/verilog/riscv_core_v4.v index 1a149ec..05e5ee4 100644 --- a/examples/hdl4se_riscv/verilog/riscv_core_v4.v +++ b/examples/hdl4se_riscv/verilog/riscv_core_v4.v @@ -31,13 +31,11 @@ */ /* riscv_core_v4.v */ -`define RISCVSTATE_INIT_REGX1 0 -`define RISCVSTATE_INIT_REGX2 1 -`define RISCVSTATE_READ_INST 2 -`define RISCVSTATE_EXEC_INST 3 -`define RISCVSTATE_WAIT_LD 4 -`define RISCVSTATE_WAIT_ST 5 -`define RISCVSTATE_WAIT_DIV 6 +`define RISCVSTATE_STARTUP 0 +`define RISCVSTATE_EXEC_INST 1 +`define RISCVSTATE_WAIT_LD 2 +`define RISCVSTATE_WAIT_ST 3 +`define RISCVSTATE_WAIT_DIV 4 `define RAMSIZE 4096 @@ -54,31 +52,10 @@ module riscv_core( output [3:0] bWriteMask, output reg wRead, output reg [31:0] bReadAddr, - input [31:0] bReadData, - output reg [4:0] regno, - output reg [3:0] regena, - output reg [31:0] regwrdata, - output reg regwren, - input [31:0] regrddata, - output reg [4:0] regno2, - output reg [3:0] regena2, - output reg [31:0] regwrdata2, - output reg regwren2, - input [31:0] regrddata2 + input [31:0] bReadData ); reg [31:0] pc; //GREG(pc, 32, riscv_core_reg_gen_pc); - reg write; //GREG(write, 1, riscv_core_gen_write); - reg [31:0] writeaddr; //GREG(writeaddr, 32, riscv_core_gen_write); - reg [31:0] writedata; //GREG(writedata, 32, riscv_core_gen_write); - reg [3:0] writemask; //GREG(writemask, 4, riscv_core_gen_write); - reg [4:0] readreg; //GREG(readreg, 5, riscv_core_reg_gen_readreg); - reg [3:0] state; //GREG(state, 4, riscv_core_gen_state); - reg [31:0] imm; //GREG(imm, 32, riscv_core_gen_imm); - reg [4:0] dstreg; //GREG(dstreg, 5, riscv_core_gen_dstreg); - reg [31:0] dstvalue; //GREG(dstvalue, 32, riscv_core_gen_dstreg); - reg [1:0] ldaddr; //GREG(ldaddr, 2, riscv_core_gen_ldaddr); - reg [4:0] divclk; reg [31:0] x1; reg [31:0] x2; @@ -112,11 +89,25 @@ module riscv_core( reg [31:0] x30; reg [31:0] x31; + reg [3:0] state; + + reg [31:0] imm; + reg [4:0] dstreg; + reg [31:0] dstvalue; + reg [4:0] divclk; + + reg write; + reg [31:0] writeaddr; + reg [31:0] writedata; + reg [3:0] writemask; + + assign wWrite = write; assign bWriteAddr = writeaddr; assign bWriteData = writedata; assign bWriteMask = writemask; + wire [31:0] instr = bReadData; wire [4:0] rs1_no = bReadData[19:15]; wire [4:0] rs2_no = bReadData[24:20]; @@ -231,7 +222,11 @@ module riscv_core( endcase always@(posedge wClk) - if (state == `RISCVSTATE_EXEC_INST) + if (~nwReset) begin + x1 <= 32'h0000008c; + x2 <= `RAMSIZE * 4 - 16; + end + else case (dstreg) 5'd0: ;//0 <= dstvalue; 5'd1: x1 <= dstvalue; @@ -278,137 +273,154 @@ module riscv_core( 7:/*bgeu*/cond = rs1 >= rs2; default: cond = 1'b0; endcase - - //DEFINE_FUNC(riscv_core_reg_gen_pc, "nwReset, state, instr, pc, rs1, imm, regrddata") { + always @(bReadData) + case (bReadData[6:2]) + 5'h0d: imm = {bReadData[31:12], 12'b0}; + 5'h05: imm = {bReadData[31:12], 12'b0}; + 5'h1b: imm = {{12{bReadData[31]}}, bReadData[19:12], bReadData[20], bReadData[30:21], 1'b0}; + 5'h19: imm = {{20{bReadData[31]}}, bReadData[31:20]}; + 5'h18: imm = {{20{bReadData[31]}}, bReadData[7], bReadData[30:25], bReadData[11:8], 1'b0}; + 5'h00: imm = {{20{bReadData[31]}}, bReadData[31:20]}; + 5'h08: imm = {{20{bReadData[31]}}, bReadData[31:25], bReadData[11:7]}; + 5'h04: imm = {{20{bReadData[31]}}, bReadData[31:20]}; + endcase + + + /* state */ + always @(posedge wClk) + if (!nwReset) begin + state <= `RISCVSTATE_STARTUP; + end else begin + case (state) + `RISCVSTATE_STARTUP: state <= `RISCVSTATE_EXEC_INST; + `RISCVSTATE_EXEC_INST: begin + if (opcode == 5'h00) + state <= `RISCVSTATE_WAIT_LD; + else if (opcode == 5'h08) + state <= `RISCVSTATE_WAIT_ST; + else if (opcode == 5'h0c && instr[25] && func3[2] && (rs2 != 0)) begin + state <= `RISCVSTATE_WAIT_DIV; + divclk <= 11; + end + end + `RISCVSTATE_WAIT_LD: state <= `RISCVSTATE_EXEC_INST; + `RISCVSTATE_WAIT_ST: state <= `RISCVSTATE_EXEC_INST; + `RISCVSTATE_WAIT_DIV: begin + if (divclk == 0) + state <= `RISCVSTATE_EXEC_INST; + else + divclk <= divclk - 1; + end + endcase + end + + reg [31:0] newpc; + always @(state or pc or rs1 or imm or cond or opcode) + if (state == `RISCVSTATE_EXEC_INST) begin + case (opcode) + 5'h1b: newpc = pc + imm; + 5'h19: newpc = rs1 + imm; + 5'h18: newpc = cond ? pc + imm : pc + 4; + default: newpc = pc + 4; + endcase + end else begin + newpc = pc; + end + + /* pc */ always @(posedge wClk) if (!nwReset) begin pc <= 32'h00000074; end else begin + pc <= newpc; + end + + /* read and readaddr */ + always @(state or pc or opcode or imm or rs1 or nwReset) + if (~nwReset) begin + wRead = 0; + bReadAddr = 0; + end else begin + wRead = 1; + bReadAddr = newpc; if (state == `RISCVSTATE_EXEC_INST) begin - case (opcode) - 5'h1b: pc <= pc + imm; - 5'h19: pc <= rs1 + imm; - 5'h18: pc <= cond ? pc + imm : pc + 4; - default: pc <= pc + 4; - endcase + if (opcode == 5'h00) begin /*LOAD*/ + wRead = 1; + bReadAddr = rs1 + imm; + end else if (opcode == 5'h08) begin /*STORE*/ + wRead = 0; + bReadAddr = 0; + end end end wire [31:0] newwriteaddr = rs1 + imm; - //DEFINE_FUNC(riscv_core_gen_write, "nwReset, state, pc, instr, rs1, regrddata, imm") { - always @(posedge wClk) - if (!nwReset) begin - write <= 0; - end else if (state == `RISCVSTATE_EXEC_INST) begin - write <= 0; - if (opcode == 5'h08) begin + + /* write */ + always @(nwReset or state or opcode or newwriteaddr or rs1 or imm or rs2) + begin + write = 0; + writeaddr = 0; + writemask = 0; + writedata = 0; + if (nwReset && (state == `RISCVSTATE_EXEC_INST) && (opcode == 5'h08)) begin /* riscv支持地址不对齐访问,但是假定写在一个32位字中 */ - writeaddr <= newwriteaddr; - writemask <= 4'h0; - writedata <= rs2; - write <= 1'b1; + writeaddr = newwriteaddr; + writemask = 4'h0; + writedata = rs2; + write = 1'b1; case (func3) 0:/*sb*/ begin case (newwriteaddr[1:0]) 0: begin - writemask <= 4'he; - writedata <= rs2; + writemask = 4'he; + writedata = rs2; end 1: begin - writemask <= 4'hd; - writedata <= {rs2[23:0], 8'h33}; + writemask = 4'hd; + writedata = {rs2[23:0], 8'h0}; end 2: begin - writemask <= 4'hb; - writedata <= {rs2[15:0], 16'h4455}; + writemask = 4'hb; + writedata = {rs2[15:0], 16'h0}; end 3: begin - writemask <= 4'h7; - writedata <= {rs2[7:0], 24'h667788}; + writemask = 4'h7; + writedata = {rs2[7:0], 24'h0}; end endcase end 1:/*sh*/ begin case (newwriteaddr[1:0]) 0: begin - writemask <= 4'hc; - writedata <= rs2; + writemask = 4'hc; + writedata = rs2; end 1: begin - writemask <= 4'h9; - writedata <= {rs2[23:0], 8'h40}; + writemask = 4'h9; + writedata = {rs2[23:0], 8'h0}; end 2: begin - writemask <= 4'h3; - writedata <= {rs2[15:0], 16'h0307}; + writemask = 4'h3; + writedata = {rs2[15:0], 16'h0}; end endcase end endcase end - end else begin - write <= 0; - end - - //DEFINE_FUNC(riscv_core_gen_state, "state, instr, nwReset") { - always @(posedge wClk) - if (!nwReset) begin - state <= `RISCVSTATE_INIT_REGX1; - end else begin - case (state) - `RISCVSTATE_INIT_REGX1: state <= `RISCVSTATE_INIT_REGX2; - `RISCVSTATE_INIT_REGX2: state <= `RISCVSTATE_READ_INST; - `RISCVSTATE_READ_INST: state <= `RISCVSTATE_EXEC_INST; - `RISCVSTATE_EXEC_INST: begin - if (opcode == 5'h00) - state <= `RISCVSTATE_WAIT_LD; - else if (opcode == 5'h08) - state <= `RISCVSTATE_WAIT_ST; - else if (opcode == 5'h0c && instr[25] && func3[2] && (rs2 != 0)) begin - state <= `RISCVSTATE_WAIT_DIV; - divclk <= 11; - end - end - `RISCVSTATE_WAIT_LD: state <= `RISCVSTATE_READ_INST; - `RISCVSTATE_WAIT_ST: state <= `RISCVSTATE_READ_INST; - `RISCVSTATE_WAIT_DIV: begin - if (divclk == 0) - state <= `RISCVSTATE_READ_INST; - else - divclk <= divclk - 1; - end - endcase end - //DEFINE_FUNC(riscv_core_gen_imm, "bReadData, state") { - /* 在RISCVSTATE_READ_REGS周期生成imm */ - always @(bReadData) - case (bReadData[6:2]) - 5'h0d: imm = {bReadData[31:12], 12'b0}; - 5'h05: imm = {bReadData[31:12], 12'b0}; - 5'h1b: imm = {{12{bReadData[31]}}, bReadData[19:12], bReadData[20], bReadData[30:21], 1'b0}; - 5'h19: imm = {{20{bReadData[31]}}, bReadData[31:20]}; - 5'h18: imm = {{20{bReadData[31]}}, bReadData[7], bReadData[30:25], bReadData[11:8], 1'b0}; - 5'h00: imm = {{20{bReadData[31]}}, bReadData[31:20]}; - 5'h08: imm = {{20{bReadData[31]}}, bReadData[31:25], bReadData[11:7]}; - 5'h04: imm = {{20{bReadData[31]}}, bReadData[31:20]}; - endcase - + reg [4:0] readreg; + reg [1:0] ldaddr; - //DEFINE_FUNC(riscv_core_gen_ldaddr, "state, pc, instr, rs1") { always @(posedge wClk) - if (state == `RISCVSTATE_READ_INST) begin - ldaddr <= pc; - end else if (state == `RISCVSTATE_EXEC_INST) begin - if (opcode == 5'h00) begin - /* ld inst */ - ldaddr <= rs1 + imm; - end + if (state == `RISCVSTATE_EXEC_INST) begin + ldaddr <= rs1 + imm; + readreg <= rd; end - //DEFINE_FUNC(riscv_core_gen_dstreg, "state, instr, ldaddr, readreg, bReadData, pc, rs1, regrddata, imm") { - always @(state or readreg or ldaddr or func3 or bReadData or divclk or imm or pc or rs1 or rs2 or instr) + always @(state or ldaddr or func3 or bReadData or divclk or imm or pc or rs1 or rs2 or instr) case (state) `RISCVSTATE_WAIT_LD: begin dstreg = readreg; @@ -452,19 +464,19 @@ module riscv_core( dstreg = 0; case (func3[1:0]) 0: begin //div - dstreg = rd; + dstreg = readreg; dstvalue = divs_result; end 1: begin //divu - dstreg = rd; + dstreg = readreg; dstvalue = div_result; end 2: begin//rem - dstreg = rd; + dstreg = readreg; dstvalue = mods_result; end 3: begin //remu - dstreg = rd; + dstreg = readreg; dstvalue = mod_result; end endcase @@ -590,20 +602,4 @@ module riscv_core( end endcase - //DEFINE_FUNC(riscv_core_read_sig, "state, pc, instr, bReadData, rs1") { - always @(state or pc or opcode or imm or rs1) begin - wRead = 0; - bReadAddr = 0; - if (state == `RISCVSTATE_READ_INST) begin - wRead = 1; - bReadAddr = pc; - end else if (state == `RISCVSTATE_EXEC_INST) begin - if (opcode == 5'h00) begin - /* ld inst */ - bReadAddr = rs1 + imm; - wRead = 1; - end - end - end - endmodule \ No newline at end of file -- GitLab

LbY_T8nX9S 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