Forum Discussion
Altera_Forum
Honored Contributor
14 years ago --- Quote Start --- - Read is an output of a master that indicates that it wants to read from 'address'. 'Read' is an input to a slave. - Write is also an ouput, but indicates that the master wants to write to 'address'. 'Write is an input to a slave. --- Quote End --- By the way, there is an equally valid interpretation that says - The 'read' output of a 'master' is equivalent to a data 'sink' indicating that it is 'ready'. The 'waitrequest' output of a slave can be thought of as the logical not() of a data 'valid' signal from a data 'source'. - The 'write' output of a 'master' is equivalent to a data 'source' indicating that data is 'valid'. The 'waitrequest' output of a slave can be thought of as the logical not() of a data 'ready' signal from a data 'sink'. The signals 'ready' and 'valid' are what Avalon uses for what it calls an 'ST' (streaming transfer) interface which consists of data 'sources' and data 'sinks'. Sometimes this view of things is easier to get a handle on, but logically they are bascially interchangable. Given that, the one advantage of an Avalon master is that it can be both a reader and a writer, but a streaming transfer can only be one...however a widget can simply have two ST interfaces to accomplish the same feat. Kevin Jennings