Nelze nastavit smyčky itierator nad 60

R

rt900

Guest
Ahoj všem, přečetl jsem si na základě podobných příspěvků na toto téma se však nebyli schopni najít odpověď ... Snažím se realizovat 8 kousek od 8 bitů děliče bez použití "/" symbol v Verilog. Kód jsem napsal sestavuje, však bude pouze generovat správnou odpověď, když smyčka iterátor je nižší než 60. Kód jsem napsal je: Vždy @ (num1, num2) začít temp_answer = 8'b0, k = 0; temp_num1 = num1; temp_num2 = num2, zatímco (ktemp_num2) začít temp_num1 = temp_num1 - temp_num2; temp_answer = temp_answer + 1; Konec k = k +1, konec answer = temp_answer, konec endmodule num1 a num2, dva podepsané čísel (ve dvojkový doplněk formě) vstoupil (na Altera de2 desce) uživatelem. Kód kompiluje s nějakou hodnotou k, ovšem pouze vytváří správnou odpověď na simulátoru křivky, kdy k <60. To je problém, protože nejvyšší hodnotě, která může být výstup je 128 (128/1), tedy i třeba smyčku k provedení 128 iterací. Vím, že to není efektivní vůbec, ale musím si to v práci. Jakýkoliv pomoci chtěl bych být ocenil, díky
 
Možná jsem byl trochu vágní v otázce výše, tak ať mi objasnit. Existuje nějaký zjevný důvod, proč níže uvedený kód vypíše správnou odpověď, když je smyčka iterátor (k) nastavena na 60, ale výstup k X (při použití vektoru křivky simulátor), je-li smyčka iterátor nastavena na vyšší hodnotu než 60? temp_answer = 8'b0, k = 0, zatímco (knumber2) začínají č.1 = č.1 - číslo2; temp_answer = temp_answer + 1, konec k = k +1, konec answer = temp_answer, Vaše pomoc by bylo skvělé, díky
 
za prvé, že je nejhorší možnost provedení v jakémkoli jazyce. Zkuste dlouhé dělení. Za druhé, myslím, že o hardware. Zatímco smyčky jsou v podstatě nikdy použit ve skutečných vzorů, protože while téměř nikdy generovat malou / efektivní hardware.
 
Ahoj, k je definován jako celé číslo? Můžete zkusit pro smyčce celé číslo k, pro (k = 0; k <65, k = k + 1) začíná ... Konec jde
 
Body, které chybí v původním příspěvku: - definice proměnných - vysvětlení "nezkompiluje" Zmínil jste se o Altera de2 hodnotící komise, tak odhad je zřejmé, nekompiluje, protože váš návrh převyšuje počet dostupných logiky Buňky v příslušném FPGA. Což by potvrdit "nejhorší možnou realizaci v jakémkoli jazyce." While vytváří paralelní logiku, a tam bude vždy iterační číslo N, kde konstrukce přesahuje velikost čipu. Použijte přiměřený dělicí provedení z literatury např. který bit-sériové jednoho, nejlépe sekvenční zpracování, nikoliv při smyčky.
 

Welcome to EDABoard.com

Sponsor

Back
Top