c65gs icon indicating copy to clipboard operation
c65gs copied to clipboard

unsigned(r_blnd) => antialiased_red,

Open AnttiLukats opened this issue 8 years ago • 6 comments

in viciv.hdl

          unsigned(r_blnd) => antialiased_red,
          unsigned(g_blnd) => antialiased_green,
          unsigned(b_blnd) => antialiased_blue

reported as bad VHDL syntax by Vviado synthesis

AnttiLukats avatar Apr 09 '16 08:04 AnttiLukats

Please indicate the commit ID, and some more context would be helpful. Is there more detail in the error message?

On Sat, Apr 9, 2016 at 5:58 PM, Antti Lukats [email protected] wrote:

in viciv.hdl

      unsigned(r_blnd) => antialiased_red,
      unsigned(g_blnd) => antialiased_green,
      unsigned(b_blnd) => antialiased_blue

reported as bad VHDL syntax by Vviado synthesis

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/gardners/c65gs/issues/48

gardners avatar Apr 09 '16 10:04 gardners

This one might be fixable by changing them to something like:

r_blnd => std_logic_vector(antialiased_red)

Otherwise, you will need to harmonise the types somehow.

gardners avatar Apr 09 '16 10:04 gardners

I got my board, your change results in the following error

[Synth 8-959] output designator r_blnd cannot contain an actual type-conversion ["/home/user/Code/c65gs/viciv.vhdl":1107]

I also had to comment out use work.version.all; from uart_monitor.vhdl, as it was saying it didn't exist

pmprog avatar Apr 10 '16 15:04 pmprog

Hello,

version.vhdl is generated by running the make file first: it generates version strings based on the git commit ID.

As for the Vivado error, I'm not sure off the top of my head what the correct Vivado-compatible solution is there. Some research will probably be required.

Paul.

On Mon, Apr 11, 2016 at 12:57 AM, Marq Watkin [email protected] wrote:

I got my board, your change results in the following error

[Synth 8-959] output designator r_blnd cannot contain an actual type-conversion ["/home/user/Code/c65gs/viciv.vhdl":1107]

I also had to comment out use work.version.all; from uart_monitor.vhdl, as it was saying it didn't exist

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/gardners/c65gs/issues/48#issuecomment-207999228

gardners avatar Apr 10 '16 20:04 gardners

I have to say that I was VERY surprised to see that code, see it would never come to my mind to try to-do type type conversion on the left side of => in the port map... from my head I would have assumed it is truly illegal... it really wonders me that ISE eats that... well it does, and vivado does not...

i can commit fix later, but description HOWTO

  1. add 3 signals
  2. do type conversion outside the port map
  3. assign in the port map converted signal

antialiased_red <= unsigned(antialiased_red_from_blender); antialiased_green <= unsigned(antialiased_green_from_blender); antialiased_blue <= unsigned(antialiased_blue_from_blender);

antialiasblender: component alpha_blend_top port map (clk1x => pixelclock, --snip r_blnd => antialiased_red_from_blender, g_blnd => antialiased_green_from_blender, b_blnd => antialiased_blue_from_blender);

I know, I know this solution uses 6 more VHDL code lines than the original code :(

But it truly fixes the issue.

AnttiLukats avatar Apr 15 '16 19:04 AnttiLukats

Hello,

Oh well. If 6 extra lines is all that is required, then this is no big problem.

Paul.

On Sat, Apr 16, 2016 at 5:12 AM, Antti Lukats [email protected] wrote:

I have to say that I was VERY surprised to see that code, see it would never come to my mind to try to-do type type conversion on the left side of => in the port map... from my head I would have assumed it is truly illegal... it really wonders me that ISE eats that... well it does, and vivado does not...

i can commit fix later, but description HOWTO

  1. add 3 signals
  2. do type conversion outside the port map
  3. assign in the port map converted signal

antialiased_red <= unsigned(antialiased_red_from_blender); antialiased_green <= unsigned(antialiased_green_from_blender); antialiased_blue <= unsigned(antialiased_blue_from_blender);

antialiasblender: component alpha_blend_top port map (clk1x => pixelclock, --snip r_blnd => antialiased_red_from_blender, g_blnd => antialiased_green_from_blender, b_blnd => antialiased_blue_from_blender);

I know, I know this solution uses 6 more VHDL code lines than the original code :(

But it truly fixes the issue.

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/gardners/c65gs/issues/48#issuecomment-210612165

gardners avatar Apr 15 '16 23:04 gardners