- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
https://alteraforum.com/forum/attachment.php?attachmentid=15412&stc=1
Dear Developers, I am creating a code where I used memory , however there is a part of memory that I didn't actually use , it is "auto generated" called altshift taps as shown in image, Kindly I need a justification for adding it by Quartus. Many thanks.コピーされたリンク
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
FPGA synthesis never implements any resource that isn't "actually used". I guess the problem is that you don't understand which part of the code infers a RAM based shift register. But without seeing the code, it's hard to tell.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
FPGA synthesis never implements any resource that isn't "actually used". I guess the problem is that you don't understand which part of the code infers a RAM based shift register. But without seeing the code, it's hard to tell.
The hierarchy view already tells you that it's used in the implementation of dataodd_rtl. There's no additional autogenerated logic, it's just the way how altshift_taps is implemented.- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
--- Quote Start --- FPGA synthesis never implements any resource that isn't "actually used". I guess the problem is that you don't understand which part of the code infers a RAM based shift register. But without seeing the code, it's hard to tell. The hierarchy view already tells you that it's used in the implementation of dataodd_rtl. There's no additional autogenerated logic, it's just the way how altshift_taps is implemented. --- Quote End --- I used data odd here : BEGIN IF (rising_edge (clk)) THEN Splitter<=Original(generaladdress); dataeven <= Splitter(9 downto 0); dataodd<=Splitter(19 downto 10); if kk=2 then First_Reg<=dataeven; else evenbuff<= dataeven; end if; xoddbuff<=dataodd; oddbuff<=xoddbuff; It temporary holding a value since I need to wait for one clock cycle, however, I defined it as signal of unsigned, I don't know why it used as m4k?
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
The shown code snippet doesn't give reason to expect altshift_taps inference. I guess, i's not the full picture.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
There is nothing surprising here as by default the tool is made free to infer memory for some shift operations. The user can disable that in the project settings.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
altshift_taps is used for multicycle shift registers. But there's no respective function in the shown code snippet.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
--- Quote Start --- There is nothing surprising here as by default the tool is made free to infer memory for some shift operations. The user can disable that in the project settings. --- Quote End --- I tried to disable it here but it doesn't workhttps://www.alteraforum.com/forum/attachment.php?attachmentid=15420
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Thanks for reply, the only place I used that signal (dataodd) is here! How can I disable it? Regards.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
I don't see you have chosen the right setting.
I believe it should be something like: Auto Shift Register Recognition OFF. You can also apply it specifically to your signal using attribute.