G
Gabriel Schuster
Guest
Hi there,
I want to build a microcontroller core using VHDL. Currently I'm
planning the structure of the system internals and as a matter of fact
the bus system is a pretty awkward thing: I want to keep the core as
upgradeable as possible so that it would be an easy thing to add new
system peripherals - without much effort. Consequently the easiest
implementation would be using one bus connected to each timer, port, etc
using a tri-state data-port. New devices would only need to be
connected to the address- and data-port. Functionality would be defined
by Special Function Registers inside of each device, which would be
addressed over the common bus.
However, I've seen IP Cores developed for ASIC technologies which
strictly avoid the use of the signal attribute 'Z' and furthermore using
only 'in' and 'out' ports in all entities. Is that really neccessary?
If I would do the same in my project it would be quite complex to add
new stuff, because each device would need to have a separate bus system
to the control unit.
I know that there are plenty of uC-Cores in the www, but I do this for
educational reasons and most important: I want to do it right from the
beginning, so I would appreciate any help, info or advice.
Thanks
Gabriel
I want to build a microcontroller core using VHDL. Currently I'm
planning the structure of the system internals and as a matter of fact
the bus system is a pretty awkward thing: I want to keep the core as
upgradeable as possible so that it would be an easy thing to add new
system peripherals - without much effort. Consequently the easiest
implementation would be using one bus connected to each timer, port, etc
using a tri-state data-port. New devices would only need to be
connected to the address- and data-port. Functionality would be defined
by Special Function Registers inside of each device, which would be
addressed over the common bus.
However, I've seen IP Cores developed for ASIC technologies which
strictly avoid the use of the signal attribute 'Z' and furthermore using
only 'in' and 'out' ports in all entities. Is that really neccessary?
If I would do the same in my project it would be quite complex to add
new stuff, because each device would need to have a separate bus system
to the control unit.
I know that there are plenty of uC-Cores in the www, but I do this for
educational reasons and most important: I want to do it right from the
beginning, so I would appreciate any help, info or advice.
Thanks
Gabriel