URL
https://opencores.org/ocsvn/an-fpga-implementation-of-low-latency-noc-based-mpsoc/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk
Subversion Repositories an-fpga-implementation-of-low-latency-noc-based-mpsoc
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 44 to Rev 45
- ↔ Reverse comparison
Rev 44 → Rev 45
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/boards/DE0_nano/jtag_intfc.sh
1,4 → 1,4
#!/bin/sh |
#!/bin/bash |
|
PRODUCT_ID="0x6001" |
JTAG_INTFC="$PRONOC_WORK/toolchain/bin/jtag_libusb -a $PRODUCT_ID" |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/boards/DE0_nano/program_device.sh
1,4 → 1,4
#!/bin/sh |
#!/bin/bash |
|
#usage: |
# sh program_device.sh programming_file.sof |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/boards/DE10_Nano_VB2/jtag_intfc.sh
1,4 → 1,4
#!/bin/sh |
#!/bin/bash |
|
PRODUCT_ID="0x6010" |
HARDWARE_NAME='DE-SoC *' |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/boards/DE10_Nano_VB2/program_device.sh
1,4 → 1,4
#!/bin/sh |
#!/bin/bash |
|
#usage: |
# sh program_device.sh programming_file.sof |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/boards/DE1_SoC/jtag_intfc.sh
1,4 → 1,4
#!/bin/sh |
#!/bin/bash |
|
PRODUCT_ID="0x6001" |
JTAG_INTFC="$PRONOC_WORK/toolchain/bin/jtag_libusb -a $PRODUCT_ID" |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/boards/DE1_SoC/program_device.sh
1,4 → 1,4
#!/bin/sh |
#!/bin/bash |
|
#usage: |
# sh program_device.sh programming_file.sof |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/boards/DE2_115/jtag_intfc.sh
1,4 → 1,4
#!/bin/sh |
#!/bin/bash |
|
PRODUCT_ID="0x6001" |
JTAG_INTFC="$PRONOC_WORK/toolchain/bin/jtag_libusb -a $PRODUCT_ID" |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/boards/DE2_115/program_device.sh
1,4 → 1,4
#!/bin/sh |
#!/bin/bash |
|
#usage: |
# sh program_device.sh programming_file.sof |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/boards/DE5/DE5.qsf
0,0 → 1,302
#============================================================ |
# Build by Terasic System Builder |
#============================================================ |
|
set_global_assignment -name FAMILY "Stratix V" |
set_global_assignment -name DEVICE 5SGXEA7N2F45C2 |
set_global_assignment -name ORIGINAL_QUARTUS_VERSION "12.0" |
set_global_assignment -name LAST_QUARTUS_VERSION "12.0" |
set_global_assignment -name PROJECT_CREATION_TIME_DATE "16:38:23 JULY 08,2019" |
set_global_assignment -name DEVICE_FILTER_PACKAGE FBGA |
set_global_assignment -name DEVICE_FILTER_PIN_COUNT 1932 |
set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 2_H2 |
set_global_assignment -name SDC_FILE Top.SDC |
|
#============================================================ |
# CLOCK |
#============================================================ |
set_location_assignment PIN_AW35 -to OSC_50_B3B |
set_instance_assignment -name IO_STANDARD "2.5 V" -to OSC_50_B3B |
set_location_assignment PIN_BC28 -to OSC_50_B3D |
set_instance_assignment -name IO_STANDARD "1.8 V" -to OSC_50_B3D |
set_location_assignment PIN_AP10 -to OSC_50_B4A |
set_instance_assignment -name IO_STANDARD "1.8 V" -to OSC_50_B4A |
set_location_assignment PIN_AY18 -to OSC_50_B4D |
set_instance_assignment -name IO_STANDARD "1.8 V" -to OSC_50_B4D |
set_location_assignment PIN_M8 -to OSC_50_B7A |
set_instance_assignment -name IO_STANDARD "1.5 V" -to OSC_50_B7A |
set_location_assignment PIN_J18 -to OSC_50_B7D |
set_instance_assignment -name IO_STANDARD "1.5 V" -to OSC_50_B7D |
set_location_assignment PIN_R36 -to OSC_50_B8A |
set_instance_assignment -name IO_STANDARD "1.5 V" -to OSC_50_B8A |
set_location_assignment PIN_R25 -to OSC_50_B8D |
set_instance_assignment -name IO_STANDARD "1.8 V" -to OSC_50_B8D |
|
#============================================================ |
# LED x 10 |
#============================================================ |
set_location_assignment PIN_AW37 -to LED[0] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to LED[0] |
set_location_assignment PIN_AV37 -to LED[1] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to LED[1] |
set_location_assignment PIN_BB36 -to LED[2] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to LED[2] |
set_location_assignment PIN_BB39 -to LED[3] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to LED[3] |
set_location_assignment PIN_AH15 -to LED_BRACKET[0] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to LED_BRACKET[0] |
set_location_assignment PIN_AH13 -to LED_BRACKET[1] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to LED_BRACKET[1] |
set_location_assignment PIN_AJ13 -to LED_BRACKET[2] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to LED_BRACKET[2] |
set_location_assignment PIN_AJ14 -to LED_BRACKET[3] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to LED_BRACKET[3] |
set_location_assignment PIN_AG15 -to LED_RJ45_L |
set_instance_assignment -name IO_STANDARD "2.5 V" -to LED_RJ45_L |
set_location_assignment PIN_AG16 -to LED_RJ45_R |
set_instance_assignment -name IO_STANDARD "2.5 V" -to LED_RJ45_R |
|
#============================================================ |
# BUTTON x 4 and CPU_RESET_n |
#============================================================ |
set_location_assignment PIN_AK15 -to BUTTON[0] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to BUTTON[0] |
set_location_assignment PIN_AK14 -to BUTTON[1] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to BUTTON[1] |
set_location_assignment PIN_AL14 -to BUTTON[2] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to BUTTON[2] |
set_location_assignment PIN_AL15 -to BUTTON[3] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to BUTTON[3] |
set_location_assignment PIN_BC37 -to CPU_RESET_n |
set_instance_assignment -name IO_STANDARD "2.5 V" -to CPU_RESET_n |
|
#============================================================ |
# SWITCH x 4 |
#============================================================ |
set_location_assignment PIN_B25 -to SW[0] |
set_instance_assignment -name IO_STANDARD "1.8 V" -to SW[0] |
set_location_assignment PIN_A25 -to SW[1] |
set_instance_assignment -name IO_STANDARD "1.8 V" -to SW[1] |
set_location_assignment PIN_B23 -to SW[2] |
set_instance_assignment -name IO_STANDARD "1.8 V" -to SW[2] |
set_location_assignment PIN_A23 -to SW[3] |
set_instance_assignment -name IO_STANDARD "1.8 V" -to SW[3] |
|
#============================================================ |
# 7-Segement |
#============================================================ |
set_location_assignment PIN_G8 -to HEX0_D[0] |
set_instance_assignment -name IO_STANDARD "1.5 V" -to HEX0_D[0] |
set_location_assignment PIN_H8 -to HEX0_D[1] |
set_instance_assignment -name IO_STANDARD "1.5 V" -to HEX0_D[1] |
set_location_assignment PIN_J9 -to HEX0_D[2] |
set_instance_assignment -name IO_STANDARD "1.5 V" -to HEX0_D[2] |
set_location_assignment PIN_K10 -to HEX0_D[3] |
set_instance_assignment -name IO_STANDARD "1.5 V" -to HEX0_D[3] |
set_location_assignment PIN_K8 -to HEX0_D[4] |
set_instance_assignment -name IO_STANDARD "1.5 V" -to HEX0_D[4] |
set_location_assignment PIN_K9 -to HEX0_D[5] |
set_instance_assignment -name IO_STANDARD "1.5 V" -to HEX0_D[5] |
set_location_assignment PIN_N8 -to HEX0_D[6] |
set_instance_assignment -name IO_STANDARD "1.5 V" -to HEX0_D[6] |
set_location_assignment PIN_P8 -to HEX0_DP |
set_instance_assignment -name IO_STANDARD "1.5 V" -to HEX0_DP |
set_location_assignment PIN_H18 -to HEX1_D[0] |
set_instance_assignment -name IO_STANDARD "1.5 V" -to HEX1_D[0] |
set_location_assignment PIN_G16 -to HEX1_D[1] |
set_instance_assignment -name IO_STANDARD "1.5 V" -to HEX1_D[1] |
set_location_assignment PIN_F16 -to HEX1_D[2] |
set_instance_assignment -name IO_STANDARD "1.5 V" -to HEX1_D[2] |
set_location_assignment PIN_A7 -to HEX1_D[3] |
set_instance_assignment -name IO_STANDARD "1.5 V" -to HEX1_D[3] |
set_location_assignment PIN_B7 -to HEX1_D[4] |
set_instance_assignment -name IO_STANDARD "1.5 V" -to HEX1_D[4] |
set_location_assignment PIN_C9 -to HEX1_D[5] |
set_instance_assignment -name IO_STANDARD "1.5 V" -to HEX1_D[5] |
set_location_assignment PIN_D10 -to HEX1_D[6] |
set_instance_assignment -name IO_STANDARD "1.5 V" -to HEX1_D[6] |
set_location_assignment PIN_E9 -to HEX1_DP |
set_instance_assignment -name IO_STANDARD "1.5 V" -to HEX1_DP |
|
#============================================================ |
# Temperature |
#============================================================ |
set_location_assignment PIN_D21 -to TEMP_CLK |
set_instance_assignment -name IO_STANDARD "2.5 V" -to TEMP_CLK |
set_location_assignment PIN_D20 -to TEMP_DATA |
set_instance_assignment -name IO_STANDARD "2.5 V" -to TEMP_DATA |
set_location_assignment PIN_C21 -to TEMP_INT_n |
set_instance_assignment -name IO_STANDARD "2.5 V" -to TEMP_INT_n |
set_location_assignment PIN_C22 -to TEMP_OVERT_n |
set_instance_assignment -name IO_STANDARD "2.5 V" -to TEMP_OVERT_n |
|
#============================================================ |
# Fan |
#============================================================ |
set_location_assignment PIN_AR32 -to FAN_CTRL |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FAN_CTRL |
|
#============================================================ |
# RS232 |
#============================================================ |
set_location_assignment PIN_AG14 -to RS422_DE |
set_instance_assignment -name IO_STANDARD "2.5 V" -to RS422_DE |
set_location_assignment PIN_AE18 -to RS422_DIN |
set_instance_assignment -name IO_STANDARD "2.5 V" -to RS422_DIN |
set_location_assignment PIN_AE17 -to RS422_DOUT |
set_instance_assignment -name IO_STANDARD "2.5 V" -to RS422_DOUT |
set_location_assignment PIN_AF17 -to RS422_RE_n |
set_instance_assignment -name IO_STANDARD "2.5 V" -to RS422_RE_n |
set_location_assignment PIN_AF16 -to RS422_TE |
set_instance_assignment -name IO_STANDARD "2.5 V" -to RS422_TE |
|
#============================================================ |
# Flash/MAX Address/Data Share Bus |
#============================================================ |
set_location_assignment PIN_AG26 -to FSM_D[0] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[0] |
set_location_assignment PIN_AD33 -to FSM_D[1] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[1] |
set_location_assignment PIN_AE34 -to FSM_D[2] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[2] |
set_location_assignment PIN_AF31 -to FSM_D[3] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[3] |
set_location_assignment PIN_AG28 -to FSM_D[4] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[4] |
set_location_assignment PIN_AG30 -to FSM_D[5] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[5] |
set_location_assignment PIN_AF29 -to FSM_D[6] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[6] |
set_location_assignment PIN_AE29 -to FSM_D[7] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[7] |
set_location_assignment PIN_AG25 -to FSM_D[8] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[8] |
set_location_assignment PIN_AF34 -to FSM_D[9] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[9] |
set_location_assignment PIN_AE33 -to FSM_D[10] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[10] |
set_location_assignment PIN_AE31 -to FSM_D[11] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[11] |
set_location_assignment PIN_AF28 -to FSM_D[12] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[12] |
set_location_assignment PIN_AE30 -to FSM_D[13] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[13] |
set_location_assignment PIN_AG29 -to FSM_D[14] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[14] |
set_location_assignment PIN_AG27 -to FSM_D[15] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[15] |
set_location_assignment PIN_AP28 -to FSM_D[16] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[16] |
set_location_assignment PIN_AN28 -to FSM_D[17] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[17] |
set_location_assignment PIN_AU31 -to FSM_D[18] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[18] |
set_location_assignment PIN_AW32 -to FSM_D[19] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[19] |
set_location_assignment PIN_BD32 -to FSM_D[20] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[20] |
set_location_assignment PIN_AY31 -to FSM_D[21] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[21] |
set_location_assignment PIN_BA30 -to FSM_D[22] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[22] |
set_location_assignment PIN_BB30 -to FSM_D[23] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[23] |
set_location_assignment PIN_AM29 -to FSM_D[24] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[24] |
set_location_assignment PIN_AR29 -to FSM_D[25] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[25] |
set_location_assignment PIN_AV31 -to FSM_D[26] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[26] |
set_location_assignment PIN_AV32 -to FSM_D[27] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[27] |
set_location_assignment PIN_BC31 -to FSM_D[28] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[28] |
set_location_assignment PIN_AW30 -to FSM_D[29] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[29] |
set_location_assignment PIN_BC32 -to FSM_D[30] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[30] |
set_location_assignment PIN_BD31 -to FSM_D[31] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_D[31] |
set_location_assignment PIN_AU32 -to FSM_A[0] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[0] |
set_location_assignment PIN_AH30 -to FSM_A[1] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[1] |
set_location_assignment PIN_AJ30 -to FSM_A[2] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[2] |
set_location_assignment PIN_AH31 -to FSM_A[3] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[3] |
set_location_assignment PIN_AK30 -to FSM_A[4] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[4] |
set_location_assignment PIN_AJ32 -to FSM_A[5] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[5] |
set_location_assignment PIN_AG33 -to FSM_A[6] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[6] |
set_location_assignment PIN_AL30 -to FSM_A[7] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[7] |
set_location_assignment PIN_AK33 -to FSM_A[8] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[8] |
set_location_assignment PIN_AJ33 -to FSM_A[9] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[9] |
set_location_assignment PIN_AN30 -to FSM_A[10] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[10] |
set_location_assignment PIN_AH33 -to FSM_A[11] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[11] |
set_location_assignment PIN_AK32 -to FSM_A[12] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[12] |
set_location_assignment PIN_AM32 -to FSM_A[13] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[13] |
set_location_assignment PIN_AM31 -to FSM_A[14] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[14] |
set_location_assignment PIN_AL31 -to FSM_A[15] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[15] |
set_location_assignment PIN_AN33 -to FSM_A[16] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[16] |
set_location_assignment PIN_AP33 -to FSM_A[17] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[17] |
set_location_assignment PIN_AT32 -to FSM_A[18] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[18] |
set_location_assignment PIN_AT29 -to FSM_A[19] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[19] |
set_location_assignment PIN_AP31 -to FSM_A[20] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[20] |
set_location_assignment PIN_AR30 -to FSM_A[21] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[21] |
set_location_assignment PIN_AU30 -to FSM_A[22] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[22] |
set_location_assignment PIN_AJ31 -to FSM_A[23] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[23] |
set_location_assignment PIN_AP30 -to FSM_A[24] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[24] |
set_location_assignment PIN_AN31 -to FSM_A[25] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[25] |
set_location_assignment PIN_AT30 -to FSM_A[26] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FSM_A[26] |
|
#============================================================ |
# Flash Control |
#============================================================ |
set_location_assignment PIN_AK29 -to FLASH_ADV_n |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FLASH_ADV_n |
set_location_assignment PIN_AE27 -to FLASH_CE_n[0] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FLASH_CE_n[0] |
set_location_assignment PIN_BA31 -to FLASH_CE_n[1] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FLASH_CE_n[1] |
set_location_assignment PIN_AL29 -to FLASH_CLK |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FLASH_CLK |
set_location_assignment PIN_AY30 -to FLASH_OE_n |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FLASH_OE_n |
set_location_assignment PIN_BA29 -to FLASH_RDY_BSY_n[0] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FLASH_RDY_BSY_n[0] |
set_location_assignment PIN_BB32 -to FLASH_RDY_BSY_n[1] |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FLASH_RDY_BSY_n[1] |
set_location_assignment PIN_AE28 -to FLASH_RESET_n |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FLASH_RESET_n |
set_location_assignment PIN_AR31 -to FLASH_WE_n |
set_instance_assignment -name IO_STANDARD "2.5 V" -to FLASH_WE_n |
|
#============================================================ |
# End of pin assignments by Terasic System Builder |
#============================================================ |
|
|
set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/boards/DE5/DE5.v
0,0 → 1,148
|
//======================================================= |
// This code is generated by Terasic System Builder |
//======================================================= |
|
module Top( |
|
//////////// CLOCK ////////// |
OSC_50_B3B, |
OSC_50_B3D, |
OSC_50_B4A, |
OSC_50_B4D, |
OSC_50_B7A, |
OSC_50_B7D, |
OSC_50_B8A, |
OSC_50_B8D, |
|
//////////// LED x 10 ////////// |
LED, |
LED_BRACKET, |
LED_RJ45_L, |
LED_RJ45_R, |
|
//////////// BUTTON x 4 and CPU_RESET_n ////////// |
BUTTON, |
CPU_RESET_n, |
|
//////////// SWITCH x 4 ////////// |
SW, |
|
//////////// 7-Segement ////////// |
HEX0_D, |
HEX0_DP, |
HEX1_D, |
HEX1_DP, |
|
//////////// Temperature ////////// |
TEMP_CLK, |
TEMP_DATA, |
TEMP_INT_n, |
TEMP_OVERT_n, |
|
//////////// Fan ////////// |
FAN_CTRL, |
|
//////////// RS232 ////////// |
RS422_DE, |
RS422_DIN, |
RS422_DOUT, |
RS422_RE_n, |
RS422_TE, |
|
//////////// Flash/MAX Address/Data Share Bus ////////// |
FSM_A, |
FSM_D, |
|
//////////// Flash Control ////////// |
FLASH_ADV_n, |
FLASH_CE_n, |
FLASH_CLK, |
FLASH_OE_n, |
FLASH_RDY_BSY_n, |
FLASH_RESET_n, |
FLASH_WE_n |
); |
|
//======================================================= |
// PARAMETER declarations |
//======================================================= |
|
|
//======================================================= |
// PORT declarations |
//======================================================= |
|
//////////// CLOCK ////////// |
input OSC_50_B3B; |
input OSC_50_B3D; |
input OSC_50_B4A; |
input OSC_50_B4D; |
input OSC_50_B7A; |
input OSC_50_B7D; |
input OSC_50_B8A; |
input OSC_50_B8D; |
|
//////////// LED x 10 ////////// |
output [3:0] LED; |
output [3:0] LED_BRACKET; |
output LED_RJ45_L; |
output LED_RJ45_R; |
|
//////////// BUTTON x 4 and CPU_RESET_n ////////// |
input [3:0] BUTTON; |
input CPU_RESET_n; |
|
//////////// SWITCH x 4 ////////// |
input [3:0] SW; |
|
//////////// 7-Segement ////////// |
output [6:0] HEX0_D; |
output HEX0_DP; |
output [6:0] HEX1_D; |
output HEX1_DP; |
|
//////////// Temperature ////////// |
output TEMP_CLK; |
inout TEMP_DATA; |
input TEMP_INT_n; |
input TEMP_OVERT_n; |
|
//////////// Fan ////////// |
inout FAN_CTRL; |
|
//////////// RS232 ////////// |
output RS422_DE; |
input RS422_DIN; |
output RS422_DOUT; |
output RS422_RE_n; |
output RS422_TE; |
|
//////////// Flash/MAX Address/Data Share Bus ////////// |
output [26:0] FSM_A; |
inout [31:0] FSM_D; |
|
//////////// Flash Control ////////// |
output FLASH_ADV_n; |
output [1:0] FLASH_CE_n; |
output FLASH_CLK; |
output FLASH_OE_n; |
input [1:0] FLASH_RDY_BSY_n; |
output FLASH_RESET_n; |
output FLASH_WE_n; |
|
|
//======================================================= |
// REG/WIRE declarations |
//======================================================= |
|
|
|
|
//======================================================= |
// Structural coding |
//======================================================= |
|
|
|
endmodule |
an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/boards/DE5/DE5.v
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/boards/DE5/jtag_intfc.sh
===================================================================
--- an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/boards/DE5/jtag_intfc.sh (nonexistent)
+++ an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/boards/DE5/jtag_intfc.sh (revision 45)
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+PRODUCT_ID="0x6010"
+HARDWARE_NAME="DE5 Standard *"
+DEVICE_NAME="@1*"
+
+JTAG_INTFC="$PRONOC_WORK/toolchain/bin/jtag_quartus_stp -a $HARDWARE_NAME -b $DEVICE_NAME"
+
+
+
+
an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/boards/DE5/jtag_intfc.sh
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/boards/DE5/program_device.sh
===================================================================
--- an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/boards/DE5/program_device.sh (nonexistent)
+++ an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/boards/DE5/program_device.sh (revision 45)
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+#usage:
+# sh program_device.sh programming_file.sof
+
+#programming file
+#given as an argument: $1
+
+#Programming mode
+PROG_MODE=jtag
+
+#cable name. Connect the board to ur PC and then run jtagconfig in terminal to find the cable name
+NAME="DE5 Standard"
+
+#device name
+#DEVICE=@2
+
+
+#programming command
+if [ -n "${QUARTUS_BIN+set}" ]; then
+ $QUARTUS_BIN/quartus_pgm -m $PROG_MODE -c "$NAME" -o "p;${1}"
+else
+ quartus_pgm -m $PROG_MODE -c "$NAME" -o "p;${1}"
+fi
an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/boards/DE5/program_device.sh
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/change.log
===================================================================
--- an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/change.log (revision 44)
+++ an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/change.log (revision 45)
@@ -1,5 +1,8 @@
All notable changes to this project will be documented in this file.
+##[1.9.1] -24-07-2019
+## changed
+- Some bugs are fixed in jtag interface.
##[1.9.0] -30-04-2019
## Added
@@ -87,7 +90,6 @@
### Added
- static straight allocator (SSA) which accelerates packets traversing to the same direction to the NoC router.
- NoC emulator.
-- Altor processor.
- Jtag_wb: allow access to the wishbone bus slave ports via Jtag.
- Jtag_main: A C code which allows host PC to have access to the jtag_wb.
## changed
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/perl_gui/ProNoC.pl
32,10 → 32,10
use File::Basename; |
|
|
our $VERSION = '1.9.0'; |
our $VERSION = '1.9.1'; |
our $END_YEAR= "2019"; |
|
|
|
sub main{ |
# check if envirement variables are defined |
my $project_dir = get_project_dir(); #mpsoc dir addr |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/perl_gui/lib/perl/compile.pl
678,7 → 678,7
$jtag="JTAG_INTFC=\"\$PRONOC_WORK/toolchain/bin/jtag_quartus_stp -a \$HARDWARE_NAME -b \$DEVICE_NAME\""; |
|
} |
print $file "#!/bin/sh |
print $file "#!/bin/bash |
|
PRODUCT_ID=\"0x$pid\" |
HARDWARE_NAME=\'$hw *\' |
694,10 → 694,10
open $file, ">", "$path/program_device.sh" or return "Error: Could not create $path/program_device.sh file in write mode!"; |
|
|
print $file "#!/bin/sh |
print $file "#!/bin/bash |
|
#usage: |
# sh program_device.sh programming_file.sof |
# bash program_device.sh programming_file.sof |
|
#programming file |
#given as an argument: \$1 |
1014,10 → 1014,10
my $Quartus_bin= $self->object_get_attribute('compile','quartus_bin');; |
add_info(\$tview, "Start Quartus compilation.....\n"); |
my @compilation_command =( |
"cd \"$target_dir/\" \n xterm -e sh -c '$Quartus_bin/quartus_map --64bit $name --read_settings_files=on; echo \$? > status' ", |
"cd \"$target_dir/\" \n xterm -e sh -c '$Quartus_bin/quartus_fit --64bit $name --read_settings_files=on; echo \$? > status' ", |
"cd \"$target_dir/\" \n xterm -e sh -c '$Quartus_bin/quartus_asm --64bit $name --read_settings_files=on; echo \$? > status' ", |
"cd \"$target_dir/\" \n xterm -e sh -c '$Quartus_bin/quartus_sta --64bit $name;echo \$? > status' "); |
"cd \"$target_dir/\" \n xterm -e bash -c '$Quartus_bin/quartus_map --64bit $name --read_settings_files=on; echo \$? > status' ", |
"cd \"$target_dir/\" \n xterm -e bash -c '$Quartus_bin/quartus_fit --64bit $name --read_settings_files=on; echo \$? > status' ", |
"cd \"$target_dir/\" \n xterm -e bash -c '$Quartus_bin/quartus_asm --64bit $name --read_settings_files=on; echo \$? > status' ", |
"cd \"$target_dir/\" \n xterm -e bash -c '$Quartus_bin/quartus_sta --64bit $name;echo \$? > status' "); |
|
foreach my $cmd (@compilation_command){ |
add_info(\$tview,"$cmd\n"); |
1065,7 → 1065,7
$error=1; |
} |
return if($error); |
my $command = "sh $bash_file $sof_file"; |
my $command = "bash $bash_file $sof_file"; |
add_info(\$tview,"$command\n"); |
my ($stdout,$exit,$stderr)=run_cmd_in_back_ground_get_stdout($command); |
if(length $stderr>1){ |
1252,7 → 1252,7
|
|
#run verilator |
#my $cmd= "cd \"$verilator/processed_rtl\" \n xterm -e sh -c ' verilator --cc $name.v --profile-cfuncs --prefix \"Vtop\" -O3 -CFLAGS -O3'"; |
#my $cmd= "cd \"$verilator/processed_rtl\" \n xterm -e bash -c ' verilator --cc $name.v --profile-cfuncs --prefix \"Vtop\" -O3 -CFLAGS -O3'"; |
foreach my $top (sort keys %tops) { |
add_colored_info(\$outtext,"Generate $top Verilator model from $tops{$top} file\n",'green'); |
my $cmd= "cd \"$verilator/processed_rtl\" \n verilator --cc $tops{$top} --prefix \"$top\" -O3 -CFLAGS -O3"; |
2191,7 → 2191,7
$run -> signal_connect("clicked" => sub{ |
my $bin="$verilator/processed_rtl/obj_dir/testbench"; |
if (-f $bin){ |
my $cmd= "cd \"$verilator/processed_rtl/obj_dir/\" \n xterm -e sh -c $bin"; |
my $cmd= "cd \"$verilator/processed_rtl/obj_dir/\" \n xterm -e bash -c $bin"; |
add_info(\$tview,"$cmd\n"); |
my ($stdout,$exit,$stderr)=run_cmd_in_back_ground_get_stdout($cmd); |
if(length $stderr>1){ |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/perl_gui/lib/perl/emulate_ram_gen.pl
41,7 → 41,7
sub reset_cmd { |
my ($ctrl_reset, $noc_reset,$jtag_intfc)=@_; |
my $reset_vector= (($ctrl_reset & 0x1) << 1) + ($noc_reset & 0x1); |
my $cmd = "sh $jtag_intfc \" -n ".JTAG_DONE_RESET_INDEX." -d I:1,D:2:$reset_vector,I:0 \" "; |
my $cmd = "bash $jtag_intfc \" -n ".JTAG_DONE_RESET_INDEX." -d I:1,D:2:$reset_vector,I:0 \" "; |
#print "$cmd\n"; |
return $cmd; |
} |
49,7 → 49,7
sub set_time_limit_cmd { |
my ($time_limit,$jtag_intfc)=@_; |
my $hex = sprintf("0x%X", $time_limit); |
my $cmd = "sh $jtag_intfc \" -n ".JTAG_COUNTER_INDEX." -d I:1,D:".CLK_CNTw.":$hex,I:0 \" "; |
my $cmd = "bash $jtag_intfc \" -n ".JTAG_COUNTER_INDEX." -d I:1,D:".CLK_CNTw.":$hex,I:0 \" "; |
#print "$cmd\n"; |
return $cmd; |
} |
291,7 → 291,7
|
|
#programe packet generators rams |
my $cmd= "sh $jtag_intfc \"-n ".JTAG_RAM_INDEX." -w 8 -i $ENV{'PRONOC_WORK'}/emulate/emulate_ram.bin -c\" "; |
my $cmd= "bash $jtag_intfc \"-n ".JTAG_RAM_INDEX." -w 8 -i $ENV{'PRONOC_WORK'}/emulate/emulate_ram.bin -c\" "; |
#my ($result,$exit) = run_cmd_in_back_ground_get_stdout($cmd); |
|
return 0 if(run_cmd_update_info ($cmd,$info)); |
309,7 → 309,7
|
sub read_jtag_memory{ |
my ($addr,$jtag_intfc,$info)=@_; |
my $cmd= "sh $jtag_intfc \" -n ".JTAG_STATIC_INDEX." -w 8 -d I:".UPDATE_WB_ADDR.",D:64:$addr,I:5,R:64:$addr,I:0\""; |
my $cmd= "bash $jtag_intfc \" -n ".JTAG_STATIC_INDEX." -w 8 -d I:".UPDATE_WB_ADDR.",D:64:$addr,I:5,R:64:$addr,I:0\""; |
#print "$cmd\n"; |
my ($result,$exit,$stderr) = run_cmd_in_back_ground_get_stdout($cmd); |
if($exit){ |
373,7 → 373,7
#read static memory |
my $end= STATISTIC_NUM * 8 *$NE; |
$end=sprintf ("%X",$end); |
my $cmd= "sh $jtag_intfc \"-n ".JTAG_STATIC_INDEX." -w 8 -r -s 0 -e $end\""; |
my $cmd= "bash $jtag_intfc \"-n ".JTAG_STATIC_INDEX." -w 8 -r -s 0 -e $end\""; |
#print "$cmd\n"; |
my ($result,$exit,$stderr) = run_cmd_in_back_ground_get_stdout($cmd); |
if($exit){ |
434,7 → 434,7
while ($done ==0){ |
usleep(300000); |
#my ($result,$exit) = run_cmd_in_back_ground_get_stdout("quartus_stp -t ./lib/tcl/read.tcl done"); |
my ($result,$exit) = run_cmd_in_back_ground_get_stdout("sh $jtag_intfc".READ_DONE_CMD); |
my ($result,$exit) = run_cmd_in_back_ground_get_stdout("bash $jtag_intfc".READ_DONE_CMD); |
if($exit != 0 ){ |
add_colored_info($info,$result,'red'); |
return undef; |
483,7 → 483,7
#print "total active router=$total_router\n"; |
#read clock counter |
my $clk_counter; |
my ($result,$exit) = run_cmd_in_back_ground_get_stdout("sh $jtag_intfc".READ_COUNTER_CMD); |
my ($result,$exit) = run_cmd_in_back_ground_get_stdout("bash $jtag_intfc".READ_COUNTER_CMD); |
if($exit != 0 ){ |
add_colored_info($info,$result,'red'); |
|
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/perl_gui/lib/perl/emulator.pl
719,7 → 719,7
set_gui_status($emulate,"ref",2); |
last; |
} |
my $cmd = "sh $programer $sof.sof"; |
my $cmd = "bash $programer $sof.sof"; |
|
|
#my $Quartus_bin= $ENV{QUARTUS_BIN}; |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/perl_gui/lib/perl/mpsoc_gen.pl
1278,6 → 1278,14
|
my @ff= ("$target_dir/src_verilog/$name.v","$target_dir/src_verilog/${name}_top.v"); |
add_to_project_file_list(\@ff,"$hw_dir/lib/",$hw_dir); |
|
|
#write perl_object_file |
mkpath("$target_dir/perl_lib/",1,01777); |
open(FILE, ">$target_dir/perl_lib/$name.SOC") || die "Can not open: $!"; |
print FILE perl_file_header("$name.MPSOC"); |
print FILE Data::Dumper->Dump([\%$mpsoc],['mpsoc']); |
|
|
message_dialog("MPSoC \"$name\" has been created successfully at $target_dir/ " ) if($show_sucess_msg); |
|
1303,8 → 1311,7
|
|
sub mpsoc_mem_prog { |
my $string=' |
#!/bin/sh |
my $string='#!/bin/bash |
|
|
#JTAG_INTFC="$PRONOC_WORK/toolchain/bin/JTAG_INTFC" |
1332,7 → 1339,7
for i in $(ls -d */); do |
echo "Enter ${i%%/}" |
cd ${i%%/} |
sh write_memory.sh |
bash write_memory.sh |
cd .. |
done |
|
1582,7 → 1589,7
} |
|
return if($error); |
my $command = "cd $sw; sh program.sh"; |
my $command = "cd $sw; bash program.sh"; |
add_info(\$tview,"$command\n"); |
my ($stdout,$exit,$stderr)=run_cmd_in_back_ground_get_stdout($command); |
if(length $stderr>1){ |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/perl_gui/lib/perl/readme_gen.pl
1,16 → 1,15
#! /usr/bin/perl -w |
|
use Time::Piece; |
|
|
sub get_license_header { |
my $file_name=shift; |
my $t = Time::Piece->new(); |
my $year=$t->year; |
|
my $head=" |
/********************************************************************** |
** File: $file_name |
** |
** Copyright (C) 2014-$year Alireza Monemi |
** Copyright (C) 2014-$ProNOC::END_YEAR Alireza Monemi |
** |
** This file is part of ProNoC $ProNOC::VERSION |
** |
54,7 → 53,7
my $head="####################################################################### |
## File: $file_name |
## |
## Copyright (C) 2014-2016 Alireza Monemi |
## Copyright (C) 2014-$ProNOC::END_YEAR Alireza Monemi |
## |
## This file is part of ProNoC $ProNOC::VERSION |
## |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/perl_gui/lib/perl/soc_gen.pl
2,6 → 2,8
use Glib qw/TRUE FALSE/; |
use strict; |
use warnings; |
use FindBin; |
use lib $FindBin::Bin; |
use soc; |
use ip; |
use interface; |
1076,10 → 1078,7
|
|
# Write system.h and Software gen files |
generate_header_file($soc,$project_dir,$sw_path,$hw_path,$dir); |
|
|
|
generate_header_file($soc,$project_dir,$sw_path,$hw_path,$dir); |
|
|
# Write main.c file if not exist |
1092,10 → 1091,12
|
} |
|
#write perl_object_file |
mkpath("$target_dir/perl_lib/",1,01777); |
open(FILE, ">$target_dir/perl_lib/$name.SOC") || die "Can not open: $!"; |
print FILE perl_file_header("$name.SOC"); |
print FILE Data::Dumper->Dump([\%$soc],['soc']); |
|
|
|
|
|
} |
|
1509,14 → 1510,6
|
|
|
|
|
|
|
|
|
|
|
sub check_entered_address{ |
my ($base_ref,$end_ref,$connect_ref,$number)=@_; |
my @bases=@{$base_ref}; |
1745,7 → 1738,7
} |
|
return if($error); |
my $command = "cd $target_dir/sw; sh program.sh"; |
my $command = "cd $target_dir/sw; bash program.sh"; |
add_info(\$tview,"$command\n"); |
my ($stdout,$exit,$stderr)=run_cmd_in_back_ground_get_stdout($command); |
if(length $stderr>1){ |
1769,8 → 1762,7
|
|
sub soc_mem_prog { |
my $string=' |
#!/bin/sh |
my $string='#!/bin/bash |
|
|
#JTAG_INTFC="$PRONOC_WORK/toolchain/bin/JTAG_INTFC" |
1795,7 → 1787,7
|
#programe the memory |
|
sh write_memory.sh |
bash write_memory.sh |
|
|
#Enable the cpu |
1934,7 → 1926,7
|
unlink "$hw_dir/file_list"; |
generate_soc($soc,$info,$target_dir,$hw_dir,$sw_path,1,1); |
#message_dialog("SoC \"$name\" has been created successfully at $target_dir/ " ); |
|
my $has_ni= check_for_ni($soc); |
if($has_ni){ |
my $dialog = Gtk2::MessageDialog->new (my $window, |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/perl_gui/lib/perl/verilog_gen.pl
786,7 → 786,7
}#foreach my $instance_id |
|
#Generate memory programming command |
my $prog='#!/bin/sh |
my $prog='#!/bin/bash |
|
#JTAG_INTFC="$PRONOC_WORK/toolchain/bin/JTAG_INTFC" |
source ./jtag_intfc.sh |
872,7 → 872,7
|
If the memory core and jtag_wb are connected to the same wishbone bus, you can program the memory using |
|
sh program.sh |
bash program.sh |
|
|
|
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/script/all.sh
1,4 → 1,4
#!/bin/sh |
#!/bin/bash |
|
./verilator_compile_hw.sh |
./verilator_compile_sw.sh |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/script/parameter.sh
1,4 → 1,4
#!/bin/sh |
#!/bin/bash |
|
CORE_NUM(){ |
# local variable x and y with passed args |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/script/run_modelsim
1,4 → 1,4
#!/bin/sh |
#!/bin/bash |
/home/alireza/intelFPGA_lite/17.1/modelsim_ase/bin/vsim -do model.tcl |
#/home/alireza/altera/13.0sp1/modelsim_ase/bin/vsim -do model.tcl |
#/home/alireza/altera/modeltech/bin/vsim -do model.tcl |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/script/verilator_2D_mesh.sh
1,4 → 1,4
#!/bin/sh |
#!/bin/bash |
set -e |
# Any subsequent commands which fail will cause the shell script to exit immediately |
|
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/script/verilator_compile_hw.sh
1,4 → 1,4
#!/bin/sh |
#!/bin/bash |
script_path=$(pwd) |
path=$script_path/.. |
src_noc_path=$path/src_noc |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/script/verilator_compile_simulator.sh
1,4 → 1,4
#!/bin/sh |
#!/bin/bash |
|
set -e |
# Any subsequent commands which fail will cause the shell script to exit immediately |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/script/verilator_compile_sw.sh
1,4 → 1,4
#!/bin/sh |
#!/bin/bash |
|
set -e |
# Any subsequent commands which fail will cause the shell script to exit immediately |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/script/verilator_run_simulation.sh
1,4 → 1,4
#!/bin/sh |
#!/bin/bash |
|
set -e |
# Any subsequent commands which fail will cause the shell script to exit immediately |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/src_c/ihex2mif/ihex.c
20,7 → 20,7
/* some ansi prototypes.. maybe ought to make a .h file */ |
|
/* this loads an intel hex file into the memory[] array */ |
void load_file(char *filename); |
int load_file(char *filename); |
|
/* this writes a part of memory[] to an intel hex file */ |
void save_file(char *command); |
77,7 → 77,7
/* loads an intel hex file into the global memory[] array */ |
/* filename is a string of the file to be opened */ |
|
void load_file(filename) |
int load_file(filename) |
char *filename; |
{ |
char line[1000]; |
89,7 → 89,7
if (strlen(filename) == 0) { |
printf(" Can't load a file without the filename."); |
printf(" '?' for help\n"); |
return; |
return 0; |
} |
fin = fopen(filename, "r"); |
if (fin == NULL) { |
116,7 → 116,8
fclose(fin); |
printf(" Loaded %d bytes between:", total); |
printf(" %04X to %04X\n", minaddr, maxaddr); |
return; |
|
return maxaddr; |
} |
if (status == 2) ; /* begin of file */ |
} else { |
124,6 → 125,7
} |
lineno++; |
} |
return maxaddr;//it should not reach here |
} |
|
|
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/src_c/ihex2mif/main.c
5,12 → 5,13
#include <stdlib.h> |
|
#define DEFAULT_OUT_FILE_NAME "out.mif" |
#define DEAFULT_END_SIZE "1FFF" |
|
|
int memory[MAX_MEMORY_SIZE+1]; /* the memory is global */ |
unsigned int end_addr_int; |
FILE * in, * out; |
char *file_name, *end_addr, *out_file_name ; |
void update_out_file(void); |
|
void usage (void) |
{ |
56,19 → 57,22
} |
} |
|
void update_out_file(void); |
|
int main ( int argc, char **argv ){ |
|
int maxaddr; |
processArgs (argc,argv ); |
if (file_name == NULL) {usage();exit(1);} |
if (end_addr == NULL) end_addr = DEAFULT_END_SIZE; |
if (out_file_name == NULL) out_file_name = DEFAULT_OUT_FILE_NAME; |
//printf("filename=%s & size=%s\n",file_name, end_addr); |
sscanf(end_addr, "%x", &end_addr_int); |
//printf("%u\n", end_addr_int); |
|
|
|
out=fopen(out_file_name,"wb"); |
if(out==NULL){printf("Output file cannot be created"); exit(1);} |
load_file(file_name); |
maxaddr=load_file(file_name); |
if (end_addr != NULL) sscanf(end_addr, "%x", &end_addr_int); |
else end_addr_int = maxaddr; |
|
|
update_out_file(); |
|
|
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/src_c/jtag/jtag_quartus_stp/jtag.c
245,6 → 245,16
//printf("%s",s); |
} |
|
|
void clean_stp_buff (){ |
char buf[1024]; |
fflush(to_stp); |
fgets(buf, sizeof(buf), from_stp); |
//printf("%s\n",buf); |
} |
|
|
|
char * read_stp (){ |
char buf[1024]; |
char * result=NULL; |
324,13 → 334,19
hextostring( hexstring, &bits, 1, sz ); |
if (!out){ |
fprintf(to_stp,"device_lock -timeout 10000\n"); |
|
fprintf(to_stp,"device_virtual_dr_shift -dr_value %s -instance_index %d -length %d -no_captured_dr_value -value_in_hex\n", hexstring,index_num,sz); |
|
//printf("device_virtual_dr_shift -dr_value %s -instance_index %d -length %d -no_captured_dr_value -value_in_hex\n",hexstring,index_num,sz); |
fprintf(to_stp,"catch {device_unlock}\n"); |
clean_stp_buff(); |
//fflush(to_stp); |
}else{ |
fprintf(to_stp,"device_lock -timeout 10000\n"); |
|
fprintf(to_stp,"set data [device_virtual_dr_shift -dr_value %s -instance_index %d -length %d -value_in_hex]\n", hexstring,index_num,sz); |
fprintf(to_stp,"catch {device_unlock}\n"); |
|
fprintf(to_stp,"catch {device_unlock}\n"); |
return_dr (out); |
} |
} |
346,6 → 362,7
//printf("device_virtual_dr_shift -dr_value %s -instance_index %d -length %d -no_captured_dr_value -value_in_hex\n",hexstring,index_num,sz); |
|
fprintf(to_stp,"catch {device_unlock}\n"); |
clean_stp_buff(); |
}else{ |
fprintf(to_stp,"device_lock -timeout 10000\n"); |
fprintf(to_stp,"set data [device_virtual_dr_shift -dr_value %s -instance_index %d -length %d -value_in_hex]\n",hexstring,index_num,sz); |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/src_c/jtag/jtag_quartus_stp/jtag_quartus_stp.c
314,6 → 314,7
jtag_vdr(BIT_NUM, 0x1, &out); |
jtag_vir(UPDATE_WB_ADDR); |
|
printf("cpu is disabled.\n"); |
|
// change memory sizes from byte to word |
memory_offset_in_word=memory_offset /BYTE_NUM; |
324,7 → 325,7
jtag_vir(UPDATE_WB_WR_DATA); |
|
printf ("start programing\n"); |
//printf ("num=%d\n",num); |
printf ("Will send %d values to memory\n",num); |
for(i=0;i<num;i++){ |
//printf("%d:%x\n",i,buffer[i]); |
|
340,7 → 341,7
} |
} |
|
//printf ("done programing\n"); |
printf ("done programing\n"); |
if(write_verify){ |
if(!(fp = fopen(binary_file_name,"rb"))){ |
fprintf (stderr,"Error: can not open %s file in read mode\n",binary_file_name); |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/src_processor/aeMB/sw/Makefile
1,5 → 1,5
all: |
cd compile; sh gccrom ../main.c; |
cd compile; bash gccrom ../main.c; |
rm -Rf ./RAM |
mkdir -p ./RAM |
cd compile; cp ram.mif ../RAM/ram0.mif; cp ram.bin ../RAM/ram0.bin; cp ram.hex ../RAM/ram0.hex; |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/src_processor/aeMB/sw/compile/gccrom
1,4 → 1,4
#!/bin/sh |
#!/bin/bash |
# $Id: gccrom,v 1.18 2008-05-01 08:35:04 sybreon Exp $ |
|
TOOLCHAIN="$PRONOC_WORK/toolchain" |
12,7 → 12,7
LNKFLAGS="-Wl,-defsym -Wl,_STACK_SIZE=${STACK_SIZE} -Wl,-defsym -Wl,_HEAP_SIZE=${HEAP_SIZE}" |
LIBFLAGS="" |
INCFLAGS="-Icc/" |
RAMSIZE="3FFF" #for aeMB ramwith of 12 |
#RAMSIZE="3FFF" #for aeMB ramwith of 12 |
|
$TOOLCHAIN/aemb/bin/mb-g++ $XILFLAGS $CXXFLAGS $LNKFLAGS $LIBFLAGS $INCFLAGS -specs=aemb.specs $@ -o $ELFFILE && \ |
echo "xgcc=$?" && \ |
35,7 → 35,8
#echo "copy2ihex=$?" && \ |
|
# Generate a MIF & BIN files from the IHEX file |
$TOOLCHAIN/bin/ihex2mif -f $ELFFILE.ihex -e $RAMSIZE -o ram.mif && \ |
#$TOOLCHAIN/bin/ihex2mif -f $ELFFILE.ihex -e $RAMSIZE -o ram.mif && \ |
$TOOLCHAIN/bin/ihex2mif -f $ELFFILE.ihex -o ram.mif && \ |
echo "ihex2mif=$?" |
$TOOLCHAIN/bin/ihex2bin -i $ELFFILE.ihex -o ram.bin && \ |
echo "ihex2bin=$?" |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/src_processor/lm32/sw/Makefile
5,7 → 5,7
|
#SREC2VRAM ?= ../../../toolchain/lm32/srec2vram/srec2vram |
|
RAMSIZE=3FFF |
#RAMSIZE=3FFF |
#CPU_FLAGS=-mbarrel-shift-enabled -mmultiply-enabled -msign-extend-enabled -mdivide-enabled |
CPU_FLAGS=-mbarrel-shift-enabled -mmultiply-enabled |
|
54,7 → 54,8
#$(SREC2VRAM) image.srec 0x40000000 0x1000 > $(VRAMFILE) |
rm -Rf ./RAM |
mkdir -p ./RAM |
$(IHEX2MIF) -f image.ihex -e $(RAMSIZE) -o RAM/ram0.mif |
#$(IHEX2MIF) -f image.ihex -e $(RAMSIZE) -o RAM/ram0.mif |
$(IHEX2MIF) -f image.ihex -o RAM/ram0.mif |
$(IHEX2BIN) -i image.ihex -o RAM/ram0.bin |
$(BIN2HEX) -f RAM/ram0.bin -h |
|
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/src_processor/mor1kx-3.1/sw/Makefile
23,7 → 23,7
|
LDFLAGS ?= -Tlink.ld -e 256 |
|
RAMSIZE=3FFF |
#RAMSIZE=3FFF |
|
# Sources to go into the liborpsoc.a support library |
COMPILE_SRCS=$(HDR_SOURCE_DIR)/exceptions.c $(HDR_SOURCE_DIR)/int.c $(HDR_SOURCE_DIR)/mmu.S $(HDR_SOURCE_DIR)/$(HDR_SOURCE_DIR)-utils.c $(HDR_SOURCE_DIR)/cache.S |
57,7 → 57,8
mkdir -p ./RAM |
$(OR32_OBJCOPY) -O ihex image image.ihex |
# Generate a MIF & BIN files from the IHEX file |
$(IHEX2MIF) -f image.ihex -e $(RAMSIZE) -o RAM/ram0.mif |
# $(IHEX2MIF) -f image.ihex -e $(RAMSIZE) -o RAM/ram0.mif |
$(IHEX2MIF) -f image.ihex -o RAM/ram0.mif |
$(IHEX2BIN) -i image.ihex -o RAM/ram0.bin |
$(BIN2HEX) -f RAM/ram0.bin -h |
rm *.o *.a |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/src_processor/or1200/sw/Makefile
23,7 → 23,7
|
LDFLAGS ?= -Tlink.ld -e 256 |
|
RAMSIZE=3FFF |
#RAMSIZE=3FFF |
|
# Sources to go into the liborpsoc.a support library |
COMPILE_SRCS=$(HDR_SOURCE_DIR)/exceptions.c $(HDR_SOURCE_DIR)/int.c $(HDR_SOURCE_DIR)/mmu.S $(HDR_SOURCE_DIR)/$(HDR_SOURCE_DIR)-utils.c $(HDR_SOURCE_DIR)/cache.S |
57,7 → 57,8
mkdir -p ./RAM |
$(OR32_OBJCOPY) -O ihex image image.ihex |
# Generate a MIF & BIN files from the IHEX file |
$(IHEX2MIF) -f image.ihex -e $(RAMSIZE) -o RAM/ram0.mif |
# $(IHEX2MIF) -f image.ihex -e $(RAMSIZE) -o RAM/ram0.mif |
$(IHEX2MIF) -f image.ihex -o RAM/ram0.mif |
$(IHEX2BIN) -i image.ihex -o RAM/ram0.bin |
$(BIN2HEX) -f RAM/ram0.bin -h |
rm *.o |
/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/src_processor/program_memories.sh
1,4 → 1,4
#!/bin/sh |
#!/bin/bash |
cd program |
quartus_stp -t prog.tcl |
cd .. |