zoukankan      html  css  js  c++  java
  • Verilog乘法器

    乘法器,不能用乘号直接表示,略坑呀

    坑归坑,做还是要做的


    思路:首先乘法分为有符号乘与无符号乘,所以建立两个module分别运算有符号与无符号。然后在总module中用case语句判断输出应赋的值。

    1. 有符号乘法可以用booth算法计算
    2. 无符号乘法只能用原码乘法 !

    详情点此

    实验注意:

    1. if语句和case语句都只能用于always语句内部,如果要在always语句之外应用条件语句,可用三目运算符?:如下:assigndata = ( sel ) ? a : b;
    2. 循环语句 for(i = 0; i < n; i++)中的 i++ 在Verilog中是不可以直接使用的,需要变为i = i + 1;
    3. module1 中调用 module2 ,并需要将module2的输出储存的时候,存储中间变量不能为reg,而应为wire!!!否则将会出现如下错误 :

    Illegal output or inout port connection for port 'data_out1'.

    4. 但是输入并不需要置于wire型,且如果输入需要改动,则必须是reg型的,否则会报错如下:

    Illegal reference to net "data_in1".

  • 相关阅读:
    毕设进度21
    毕设进度20
    Javascript高级程序设计第三版-笔记
    前端踩过的坑
    thinkphp笔记
    PHP 发邮件《转》
    smarty笔记
    jquery笔记
    JS笔记
    php万年历
  • 原文地址:https://www.cnblogs.com/pualus/p/5344289.html
Copyright © 2011-2022 走看看