OpenCores
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
    /an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc
    from Rev 44 to Rev 45
    Reverse comparison

Rev 44 → Rev 45

/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"
/boards/DE0_nano/program_device.sh
1,4 → 1,4
#!/bin/sh
#!/bin/bash
 
#usage:
# sh program_device.sh programming_file.sof
/boards/DE10_Nano_VB2/jtag_intfc.sh
1,4 → 1,4
#!/bin/sh
#!/bin/bash
 
PRODUCT_ID="0x6010"
HARDWARE_NAME='DE-SoC *'
/boards/DE10_Nano_VB2/program_device.sh
1,4 → 1,4
#!/bin/sh
#!/bin/bash
 
#usage:
# sh program_device.sh programming_file.sof
/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"
/boards/DE1_SoC/program_device.sh
1,4 → 1,4
#!/bin/sh
#!/bin/bash
 
#usage:
# sh program_device.sh programming_file.sof
/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"
/boards/DE2_115/program_device.sh
1,4 → 1,4
#!/bin/sh
#!/bin/bash
 
#usage:
# sh program_device.sh programming_file.sof
/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
/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
boards/DE5/DE5.v Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: boards/DE5/jtag_intfc.sh =================================================================== --- boards/DE5/jtag_intfc.sh (nonexistent) +++ 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" + + + +
boards/DE5/jtag_intfc.sh Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: boards/DE5/program_device.sh =================================================================== --- boards/DE5/program_device.sh (nonexistent) +++ 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
boards/DE5/program_device.sh Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: change.log =================================================================== --- change.log (revision 44) +++ 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
/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
/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){
/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');
/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};
/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){
/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
##
/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,
/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
 
 
 
/script/all.sh
1,4 → 1,4
#!/bin/sh
#!/bin/bash
 
./verilator_compile_hw.sh
./verilator_compile_sw.sh
/script/parameter.sh
1,4 → 1,4
#!/bin/sh
#!/bin/bash
 
CORE_NUM(){
# local variable x and y with passed args
/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
/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
 
/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
/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
/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
/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
/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
}
 
 
/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();
 
/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);
/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);
/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;
/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=$?"
/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
 
/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
/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
/src_processor/program_memories.sh
1,4 → 1,4
#!/bin/sh
#!/bin/bash
cd program
quartus_stp -t prog.tcl
cd ..

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.