tcdev
23rd January 2008, 02:43 PM
I've just modified the PACE video controller architecture slightly in an attempt to eliminate multiple projects for VGA/CVBS builds (which don't use a scan-doubler). This has eliminated about a dozen projects from the repository now.
See the pacman P2 project for an example.
There is a new package - video_controller_pkg - which must be included in all project packages which use the PACE video controllers. There is also a new constant which must be defined, PACE_VIDEO_CONTROLLER_TYPE. Valid types are defined in the abovementioned package.
There is one pace_video_controller entity, with several architectures - one for each PACE_VIDEO_CONTROLLER_TYPE. The idea was to use configurations to include the selected controller in the build.
As different controllers require different clocks, it's likely that the project package will now have a block of constants defined for each supported video controller. You need to comment-out those that pertain to disabled controllers. It's a bit of a pain atm, but will suffice until I can work out a better way to do it.
What's really yukky atm is the way the PACE GRAPHICS module instantiates the chosen VIDEO_CONTROLLER. Atm it's using if-generate statements, which is nasty because it replicates the component instantiation.
What would be ideal is some method of using configurations which are somehow selected by a constant in the project package. I can't work out if/how this is done, so we're stuck with the current implementation.
And I also moved the ADV724 constant definitions into the P2 target package. So all P2 projects now need to use target_pkg.
See the pacman P2 project for an example.
There is a new package - video_controller_pkg - which must be included in all project packages which use the PACE video controllers. There is also a new constant which must be defined, PACE_VIDEO_CONTROLLER_TYPE. Valid types are defined in the abovementioned package.
There is one pace_video_controller entity, with several architectures - one for each PACE_VIDEO_CONTROLLER_TYPE. The idea was to use configurations to include the selected controller in the build.
As different controllers require different clocks, it's likely that the project package will now have a block of constants defined for each supported video controller. You need to comment-out those that pertain to disabled controllers. It's a bit of a pain atm, but will suffice until I can work out a better way to do it.
What's really yukky atm is the way the PACE GRAPHICS module instantiates the chosen VIDEO_CONTROLLER. Atm it's using if-generate statements, which is nasty because it replicates the component instantiation.
What would be ideal is some method of using configurations which are somehow selected by a constant in the project package. I can't work out if/how this is done, so we're stuck with the current implementation.
And I also moved the ADV724 constant definitions into the P2 target package. So all P2 projects now need to use target_pkg.