第十二篇 - 如虎添翼之Custom Instruction
时间:2019-12-25
大小:163.69KB
阅读数:134
查看他发布的资源
资料介绍
Altera Nios嵌入式处理器大赛知识讲座 如虎添翼之 Custom Instruction
我们首先来想一个问题,我们为什么要用 NiosII 这么个 CPU?当然答案会有很多的,其中
一个就是它可以在 FPGA 中实现。那么在 FPGA 中实现有什么特别的呢?那就是 FPGA 中
有其他的硬件逻辑可以使用。而最大的使用这些硬件,就是 NiosII 可以获得的最大优势。
其中一种方式就是使用硬件模块,而另一种方式,就是使用自定义指令。所谓的自定义指令
并不是常规意义上的宏定义。而是说,我可以用硬件逻辑来实现一些功能,把这些硬件嵌入
到 NiosII 中间去作为它的一个指令来使用。这样的方式,对于硬件本身的调用,资源复用,
以及产品的灵活性都是有非常大的好处的。所以通过这样一种模式来使得 NiosII 本身的能
力数倍的增强。
具体实现什么功能,当然要大家自己辛苦辛苦了,我这里只是介绍一些接口啊什么乱七八糟
的。对大家有一些引导作用就好。至于具体的应用,还是需要自己深入了解和尝试。否则还
是会玩不太好。
这就是所有 Custom instruction 需要用到的接口了。
Combinatorial:
这很容易理解,就是一些组合逻辑做出来的硬件。它需要你在一个时钟内完成操作。Dataa
和 datab 都是输入,而 result 当然就是结果了。比如说:
Result = dataa + datab
当然我们不会真的去做这么简单的逻辑,否则也不需要设计了,NiosII 自己就可以有。但是
比如说, (dataa + datab + D) * E 这种呢?(D 和 E 为常数)
Multi-Cycle
一个时钟有的时候实在是做不了什么事情,所以我们可以有多时钟模式。在这种模式中有两
种实现方法,一种是已经知道时钟数,或者说处理的时钟数是固定的,这只需要在参数中设
置就好了。还有一种方式是处理时间不固定……
版权说明:本资料由用户提供并上传,仅用于学习交流;若内容存在侵权,请进行举报,或
联系我们 删除。