Jump to content
    

Gowin EDA отказывается синтезировать примитивы

Здравья всем! Занялся портированием ранних проектов на gowin и уперся в примитивнейшую проблему - синтезатор gowin не хочет работать с такой табличкой состояний:

primitive dffep (q, ck, en, d, s, r);
	output q; // dff output
	input ck; // clock
	input en; // clock enable
	input d; // dff data input
	input s; // async set
	input r; // async reset

	table
	//  ck  en  d  s  r  :  q 
// rising transitions on ck
		p   1  0  0  ?  :    0;		
		p   1  1  ?  0  :    1;
		p   1  1  ?  1  :    0;
		p   0  ?  ?  1  :    0;
		p   0  ?  1  0  :    1;
		p   0  ?  0  0  :    -;
// falling transitions on ck
		n   ?  ?  0  0  :    -;
		n   ?  ?  ?  1  :    0;
		n   ?  ?  1  0  :    1;
// transition on reset
		?   ?  ?  ?  p  :    0;
		?   ?  ?  0  n  :    -;
		?   ?  ?  x  n  :    -;	// to handle time 0 transition in modelsim
		?   ?  ?  1  n  :    1;
// transition on set
		?   ?  ?  p  0  :    1;
		?   ?  ?  n  0  :    -;
		?   ?  ?  *  1  :    0;
// set/reset precedence over ck transition & reset precedence over set
		*   ?  ?  ?  1  :    0;
		*   ?  ?  1  0  :    1;
// data changes on steady ck
		?   ?  *  0  0  :    -;
		?   ?  *  ?  1  :    0;
		?   ?  *  1  0  :    1;
// level sensitive descriptions
		?   ?  ?  ?  1  :    0;
		?   ?  ?  1  0  :    1;	
		?   0  ?  0  0  :    -;	
// transitions on en
		?   *  ?  0  0  :    -;
		?   *  ?  ?  1  :    0;
		?   *  ?  1  0  :    1;
	endtable
endprimitive

ругается приблизительно так:

ERROR (EX3411) : Illegal output symbol '-' for combinational UDP("/home/tvl/Gowin/Projects/reciever/src/dffep.v":38)
...
ERROR (EX3978) : Illegal edge p100?:0 in a combinational table("/home/tvl/Gowin/Projects/reciever/src/dffep.v":67)

 

Будьте добры, если кто встречался с подобным, наставьте на путь истинный. 

Share this post


Link to post
Share on other sites

11 minutes ago, ValeiyT said:

 Занялся портированием ранних проектов на gowin

c CPLD?

Share this post


Link to post
Share on other sites

1 час назад, ValeiyT сказал:

наставьте на путь истинный. 

Вы, когда даёте отладочную информацию, привязанную к конкретному файлу, уж и сам файл давайте.
Что за строки 38 и 67?

И второе: для какого IDE был написан исходный проект?

Share this post


Link to post
Share on other sites

4 минуты назад, Zversky сказал:

Вы, когда даёте отладочную информацию, привязанную к конкретному файлу, уж и сам файл давайте.
Что за строки 38 и 67?

И второе: для какого IDE был написан исходный проект?

Да, дейставительно. Виноват. Всегда сам ругаю людей, когда задают вопрос не предоставляя необходимой информации, думая, что ты и так должен все знать с полуслова )))

Исходный проект был написан в квартусе с использование интеловских IP-ядер. В частности altshift_taps (наиболее часто используемое). Для переноса этой коры на говин решил попробовать использовать исходники, используемые квартусом для формальной верификации (конкретно вот этот: 15.1/quartus/eda/fv_lib/verilog/altshift_taps.v) и, после подключения этого файла к проекту, и связанного с ним dffep.v, получил эти ошибки синтеза.

Наверное, проще было написать собственную реализацию, тем более что altshift_taps  наиболее простое ядро из используемых с точки зрения выполняемой логики, но хотелось бы попробовать как-то упростить процесс и минимизировать модификацию самого проекта.

Вот, собственно эти самые файлы

altshift_taps.v dffep.v

Share this post


Link to post
Share on other sites

24 минуты назад, ValeiyT сказал:

используемые квартусом для формальной верификации

а какое отношение имеет верификация к синтезу?

25 минут назад, ValeiyT сказал:

хотелось бы попробовать как-то упростить процесс

процесс чего: синтеза или верификации?

Share this post


Link to post
Share on other sites

11 минут назад, Zversky сказал:

а какое отношение имеет верификация к синтезу?

Я ж говорю "хотел попробовать" ) полагая, возможно, ошибочно, что в данном случае - отншение непосредственное. 

13 минут назад, Zversky сказал:

процесс чего: синтеза или верификации?

Конечно, синтеза. Думаю, что Вы и так это поняли 😉

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...