国防部在VHDL操作

C

cowslip

Guest
嗨,我能做些什么,如果我想在VHDL语言,其中Y是不是2的乘方xmody?让我们说这是y =例如48。然后,我应该用什么硬件?我只是想处理的其余部分。提前感谢!
 
您好一般科,MOD和exponentation经营者没有直接合成。您可能要制定一个整数的整数除法的硬件生产你想要的东西(其余为你提到的,以及商的结果)。在微处理器,通常是div和国防部模拟软件。如果在硬件所需的通用整数除法是*的(硬件)重型*片。顺便说一句,我不能认为现在仅仅国防部竭诚为计算电路。
 
您使用的乘数。一个办法做到这一点...你multimly的Y yx1 .. yx2以训3,... yxN。每次主持人与X如果是yxN = X时,提示为0。如果yxN> x则提醒是X - yx(N - 1个),否则增加ñ ...
 
这取决于如果y(不是2的幂)是变量或常量。假设它是常量,那么你可以优化很多。你可以预先计算一个查找表,离开优化综合工具。它可能会发现一个简单的函数或诉诸分布式RAM来产生结果。如果输入范围也不为过(例如,8位),这可能是便宜的FPGA资源条件。亚型t_input是很自然的范围为0 ...;亚型t_output是很自然的范围在0至47;类型t_mod48是数组t_output(t_input);功能initialisation_function返回t_mod48是可变的v_result:t_mod48;开始...一个循环来填补v_result,使用正常的VHDL Mod运算符。 ...作为国防部已在这里使用的常量,它是综合的。返回v_result;结束;不断mod48:t_mod48:= initialisation_function;然后你可以简单地输出
 
对于由常量划分,你想要什么,其余的?一个柜台?使用第二个计数器,计数从0到n - 1。复位后计数器溢出之前,第二个计数器将始终拥有除以- N的其余部分。部分加密算法?利用模运算的优点,只使用剩余物。 (一+二)模n =(一模n + b的mod n)的全模而且,由于重复的加法乘法,从头模n =(一mod n)的(二mod n)的全模
 
感谢所有。最后我用司的标准算法,减法,因为我想在一个时钟周期内执行一个xmod Ÿ。呕吐的解决方案似乎不错,但不幸的是X输入范围是太过分。我不知道我unsterstand第二个计数器的解决方案,tkbis提出的逻辑。是否有可能实现,在一个时钟周期?
 
如果y是常数,你要得到X X的Y模乘1 /年高位,然后取出,再乘以y的是你的剩余分数部分。
 

Welcome to EDABoard.com

Sponsor

Back
Top