mul8_unsigned multipliter
李亚民老师更注重硬件设计思想的训练。
他给出的硬件设计方法更贴近底层硬件,下面看看他的设计思想:
a7a6a5a4a3a2a1a0
* b7b6b5b4b3b2b1b0
--------------------------------------------------
a7b0 a6b0 a5b0 a4b0 a3b0 a2b0 a1b0 a0b0
a7b1 a6b1 a5b1 a4b1 a3b1 a2b1 a1b1 a0b1
a7b2 a6b2 a5b2 a4b2 a3b2 a2b2 a1b2 a0b2
a7b3 a6b3 a5b3 a4b3 a3b3 a2b3 a1b3 a0b3
a7b4 a6b4 a5b4 a4b4 a3b4 a2b4 a1b4 a0b4
a7b5 a6b5 a5b5 a4b5 a3b5 a2b5 a1b5 a0b5
a7b6 a6b6 a5b6 a4b6 a3b6 a2b6 a1b6 a0b6
+ a7b7 a6b7 a5b7 a4b7 a3b7 a2b7 a1b7 a0b7
-----------------------------------------------------------------------------------------------------------------------------------------------------------
//date :2013/6/20
//designer :pengxiaoen
//function : unsigned 8 bit multipliter module mul8_unsigned (
a_in,b_in,
result
);
input [:] a_in, b_in;
output [:] result ; wire [:] ab0 = b_in[] ? a_in : 'd0;
wire [:] ab1 = b_in[] ? a_in : 'd0;
wire [:] ab2 = b_in[] ? a_in : 'd0;
wire [:] ab3 = b_in[] ? a_in : 'd0;
wire [:] ab4 = b_in[] ? a_in : 'd0;
wire [:] ab5 = b_in[] ? a_in : 'd0;
wire [:] ab6 = b_in[] ? a_in : 'd0;
wire [:] ab7 = b_in[] ? a_in : 'd0; assign result = ( ({'b0,ab0[7:0]} +
{'b0,ab1[7:0],1'b0}) +
({'b0,ab2[7:0],2'b0} +
{'b0,ab3[7:0],3'b0}) +
({'b0,ab4[7:0],4'b0} +
{'b0,ab5[7:0],5'b0}) +
({'b0,ab6[7:0],6'b0} +
{'b0,ab7[7:0],7'b0})
); endmodule
这种设计思想很好,但是这个就有点悲剧了
一共用了126个逻辑单元
特权的16bit unsigned multipliter 才用了103个。
吴厚航 PK 李亚民 ,呵呵,不知道怎么样去比较这两个设计思想的优缺点,求指点啊
李老师说如果没有加括号,就也许会顺序执行,但是我加了和么有加么有区别啊
mul8_unsigned multipliter的更多相关文章
- iOS 屏幕适配:autoResizing autoLayout和sizeClass
1. autoResizing autoresizing是苹果早期的ui布局适配的解决办法,iOS6之前完全可以胜任了,因为苹果手机只有3.5寸的屏幕,在加上手机app很少支持横屏,所以iOS开发者基 ...
- iOS开发——屏幕适配篇&autoResizing autoLayout和sizeClass
autoResizing autoLayout和sizeClass,VFL,Masonry详解 1. autoResizing autoresizing是苹果早期的ui布局适配的解决办法,iOS6之前 ...
- ChatCell
import UIKit let chatCellHeight: CGFloat = 72 let chatCellInsetLeft = chatCellHeight + 8 class Chat ...
- 转:iOS 屏幕适配,autoResizing autoLayout和sizeClass图文详解
1. autoResizing autoresizing是苹果早期的ui布局适配的解决办法,iOS6之前完全可以胜任了,因为苹果手机只有3.5寸的屏幕,在加上手机app很少支持横屏,所以iOS开发者基 ...
- MobileNets总结
Google在2017年上半年发表了一篇关于可以运行在手机等移动设备上的神经网络结构--MobileNets.MobileNets是基于深度可分离卷积(depthwise separable conv ...
- (STM32F4) 精準的Delay不透過Timer
從一個厲害的國外工程師看來的delay寫法,使用while loop會使用幾個指令去計算,可能會需要多少時間. while(variable--); 這行代碼執行一次預估會消耗MCU 4 clock ...
- iOS 屏幕适配,autoResizing autoLayout和sizeClass图文详解
=== 1. autoResizing autoresizing是苹果早期的ui布局适配的解决办法,iOS6之前完全可以胜任了,因为苹果手机只有3.5寸的屏幕,在加上手机app很少支持横屏,所以iOS ...
- autoResizing autoLayout和sizeClass
原文网址: http://www.cnblogs.com/cxbblog/p/4166876.html 1. autoResizing autoresizing是苹果早期的ui布局适配的解决办法,iO ...
随机推荐
- [LeetCode]题解(python):076-Minimum Window Substring
题目来源: https://leetcode.com/problems/minimum-window-substring/ 题意分析: 给定两个字符串S和T.在S中找到最短的一个子字符串使得他包括所有 ...
- shell学习-读取输入
功能:读取输入,打印:如果长度小于MINLEN,那么输出空格. #!/bin/bash # paragraph-space.sh # Insert a blank line between parag ...
- png的格式及像素存储分析
从图片的数据块存储方式来看png分两种 1.索引色模式存储.png8的索引色透明就采取该种方式.该种方式是将颜色存在png的可选模块调色板中,调色板的色彩存储格式为RGB(各1byte).而图片的数据 ...
- C# Best Practices - Accessing and Using Classes
References and Using Do: Take care when defining references References must be one way (or circular ...
- ListView列表项
方法,在xml文件中添加一个ListView,然后在MainActivity中 private ListView listView; private ArrayAdapter<String> ...
- Week 5a - Mouse input and more lists ----mouse input
<span style="font-size:14px;">import simplegui import math # global variables ball_p ...
- BZOJ 1059: [ZJOI2007]矩阵游戏( 匈牙利 )
只要存在N个x, y坐标均不相同的黑格, 那么就一定有解. 二分图匹配, 假如最大匹配=N就是有解的, 否则无解 ------------------------------------------- ...
- 设计模式值六大原则——迪米特法则(LoD)也称为最少知识原则(LKP)。
定义: 迪米特法则(Law of Demeter,LoD)也称为最少知识原则(Least Knowledge Principle,LKP). 一个对象应该对其他对象有最少的了解.通俗地讲,一个类应该对 ...
- Linux下同步工具inotify+rsync使用详解
1. rsync 1.1 什么是rsync rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.它使用所谓的“Rsync演算法”来使本地和远程两个主机之间的文件达到同步,这 ...
- Android 网络交互之MD5为什么要加盐
MD5为什么要加盐 之前面试的时候,遇到一个面试的哥哥.不停的跟我确认我对网络传输过程中的password进行MD5加密的时候,是否加key了. 当时我很纳闷,因为MD5本身已经是不可逆的了,需要破解 ...