Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
9 years ago

Qsys 15.1 IP porting Problem

Hi y'all,

MAX 10M08SAE144 device...

I have a Qsys component that was written for ver 11 and it seems to be giving me some severe grief. It is, supposed to be an I2C master. The first issue I had was that I could not use multiple export signal types. I got around this by adding a new conduit interface and giving them unique signal types, It then all compiles correctly and all is good until I try to run my NIOS firmware. Nothing appears on the I2C bus, The I2C signals are connected to bidir pins on the device and external pull ups are in place.

I have had a search on here for a solution the nearest being http://www.alteraforum.com/forum/showthread.php?t=45920&highlight=qsys+export+multiple+signal+types

The file uploader appears not to be working so: I shall have to paste my tcl and vhd files here:

# TCL File Generated by Component Editor 15.1# Sun Oct 16 12:48:51 BST 2016# DO NOT MODIFY

# # I2CMaster "I2CMaster" v1.0# 2016.10.16.12:48:51# I2CMaster# # # request TCL package from ACDS 15.1#

package require -exact qsys 15.1

# # module I2CMaster#

set_module_property DESCRIPTION I2CMaster

set_module_property NAME I2CMaster

set_module_property VERSION 1.0

set_module_property INTERNAL false

set_module_property OPAQUE_ADDRESS_MAP true

set_module_property AUTHOR ""

set_module_property DISPLAY_NAME I2CMaster

set_module_property INSTANTIATE_IN_SYSTEM_MODULE true

set_module_property EDITABLE true

set_module_property REPORT_TO_TALKBACK false

set_module_property ALLOW_GREYBOX_GENERATION false

set_module_property REPORT_HIERARCHY false

# # file sets#

add_fileset QUARTUS_SYNTH QUARTUS_SYNTH "" ""

set_fileset_property QUARTUS_SYNTH TOP_LEVEL I2CMaster

set_fileset_property QUARTUS_SYNTH ENABLE_RELATIVE_INCLUDE_PATHS false

set_fileset_property QUARTUS_SYNTH ENABLE_FILE_OVERWRITE_MODE false

add_fileset_file I2CMaster.vhdl VHDL PATH IP/I2CMaster/I2CMaster.vhdl TOP_LEVEL_FILE

# # parameters#

add_parameter CLOCK_RATE INTEGER 100000000

set_parameter_property CLOCK_RATE DEFAULT_VALUE 100000000

set_parameter_property CLOCK_RATE DISPLAY_NAME CLOCK_RATE

set_parameter_property CLOCK_RATE TYPE INTEGER

set_parameter_property CLOCK_RATE UNITS None

set_parameter_property CLOCK_RATE HDL_PARAMETER true

add_parameter I2C_CLOCK_RATE INTEGER 100000

set_parameter_property I2C_CLOCK_RATE DEFAULT_VALUE 100000

set_parameter_property I2C_CLOCK_RATE DISPLAY_NAME I2C_CLOCK_RATE

set_parameter_property I2C_CLOCK_RATE TYPE INTEGER

set_parameter_property I2C_CLOCK_RATE UNITS None

set_parameter_property I2C_CLOCK_RATE HDL_PARAMETER true

# # display items#

# # connection point clock#

add_interface clock clock end

set_interface_property clock clockRate 0

set_interface_property clock ENABLED true

set_interface_property clock EXPORT_OF ""

set_interface_property clock PORT_NAME_MAP ""

set_interface_property clock CMSIS_SVD_VARIABLES ""

set_interface_property clock SVD_ADDRESS_GROUP ""

add_interface_port clock clk clk Input 1

# # connection point reset#

add_interface reset reset end

set_interface_property reset associatedClock clock

set_interface_property reset synchronousEdges DEASSERT

set_interface_property reset ENABLED true

set_interface_property reset EXPORT_OF ""

set_interface_property reset PORT_NAME_MAP ""

set_interface_property reset CMSIS_SVD_VARIABLES ""

set_interface_property reset SVD_ADDRESS_GROUP ""

add_interface_port reset reset reset Input 1

# # connection point avalon_slave_0#

add_interface avalon_slave_0 avalon end

set_interface_property avalon_slave_0 addressUnits WORDS

set_interface_property avalon_slave_0 associatedClock clock

set_interface_property avalon_slave_0 associatedReset reset

set_interface_property avalon_slave_0 bitsPerSymbol 8

set_interface_property avalon_slave_0 burstOnBurstBoundariesOnly false

set_interface_property avalon_slave_0 burstcountUnits WORDS

set_interface_property avalon_slave_0 explicitAddressSpan 0

set_interface_property avalon_slave_0 holdTime 0

set_interface_property avalon_slave_0 linewrapBursts false

set_interface_property avalon_slave_0 maximumPendingReadTransactions 0

set_interface_property avalon_slave_0 maximumPendingWriteTransactions 0

set_interface_property avalon_slave_0 readLatency 0

set_interface_property avalon_slave_0 readWaitTime 1

set_interface_property avalon_slave_0 setupTime 0

set_interface_property avalon_slave_0 timingUnits Cycles

set_interface_property avalon_slave_0 writeWaitTime 0

set_interface_property avalon_slave_0 ENABLED true

set_interface_property avalon_slave_0 EXPORT_OF ""

set_interface_property avalon_slave_0 PORT_NAME_MAP ""

set_interface_property avalon_slave_0 CMSIS_SVD_VARIABLES ""

set_interface_property avalon_slave_0 SVD_ADDRESS_GROUP ""

add_interface_port avalon_slave_0 address address Input 1

add_interface_port avalon_slave_0 writedata writedata Input 32

add_interface_port avalon_slave_0 readdata readdata Output 32

add_interface_port avalon_slave_0 write write Input 1

add_interface_port avalon_slave_0 read read Input 1

set_interface_assignment avalon_slave_0 embeddedsw.configuration.isFlash 0

set_interface_assignment avalon_slave_0 embeddedsw.configuration.isMemoryDevice 0

set_interface_assignment avalon_slave_0 embeddedsw.configuration.isNonVolatileStorage 0

set_interface_assignment avalon_slave_0 embeddedsw.configuration.isPrintableDevice 0

# # connection point I2C#

add_interface I2C conduit end

set_interface_property I2C associatedClock clock

set_interface_property I2C associatedReset ""

set_interface_property I2C ENABLED true

set_interface_property I2C EXPORT_OF ""

set_interface_property I2C PORT_NAME_MAP ""

set_interface_property I2C CMSIS_SVD_VARIABLES ""

set_interface_property I2C SVD_ADDRESS_GROUP ""

add_interface_port I2C SDA sda Bidir 1

add_interface_port I2C SCL scl Bidir 1

Thank you for any advice.

BTW I think there something wrong with this page and possibly IE as it keeps missing typed characters.!!!
No RepliesBe the first to reply