明德扬至简设计法设计的8位串行乘法器

一、功能描述

在两个N位二进制数x、y的乘积用简单的方法计算就是利用移位操作来实现。

二进制乘法原理:

就是左移,然后相加,根据二进制数的权位来决定左移几位,实际上乘法结果就是被乘数乘以每一位乘以模(10)的N次方的累积和。

本案例实现8位串行乘法器的功能。

二、平台效果图

仿真效果图

三、实现过程

输入输出信号列表如下:


信号名


I/O


位宽


说明


clk


I


1


系统工作时钟50M


rst_n


I


1


系统复位信号,低电平有效


vld_in


I


2


输入有效指示信号


x


I


8


数据a


y


I


8


数据b


p


O


16


乘法结果


vld_out


O


1


输出有效指示信号

令寄存器a等于p,然后通过判断x的某位是1还是0来决定y要左移几位,然后将结果存入寄存器b内,并与寄存器a相加得到p,这样将x的每一次从低到高全部判断一遍后即可得到最终的乘法结果p。以此实现了8位串行乘法器的功能。

代码资料下载:http://pan.baidu.com/s/1geGxqU3

时间: 04-14

明德扬至简设计法设计的8位串行乘法器的相关文章

明德扬至简设计法--verilog综合器和仿真器

Verilg是硬件描述语言,顾名思义,就是用代码的形式描述硬件的功能.而我们最终是要在电路上实现该功能的.当Verilog描述出硬件功能后,我们需要综合器对Verilog代码进行解释,将代码转化成实际的电路来表示,最终实际的电路,我们称之为网表.这种将Verilog代码转成网表的工具,就是综合器.上图左上角是一份verilog代码,该代码描述了一个加法器功能.该代码经过综合器解释后,转化成一个加法器电路.QUARTUS.ISE和VIVADO都是综合器,集成电路常用的综合器是DC. 我们在FPGA

明德扬至简设计法设计的IP核加法器

一.功能描述 在Quartus II 和ISE中都有加法器的IP core,可以完成无符号数和有符号数的加.减法,支持有符号数的补码.原码操作及无符号数的加.减操作,引入了最佳流水线操作,可以方便的为用户生成有效的加法器,用户可以根据自己的需要来完成配置加法器 ,本案例用Altera和Xilinx的IP核实现了26位加法器的功能. 二.平台效果图 Altera仿真效果图 Xilinx仿真效果图 三.实现过程 Xilinx输入输出信号列表如下: 信号名 I/O 位宽 说明 clk I 1 系统工作

《Invert》开发日志01:核心玩法设计

前面提过,这个游戏的核心玩法基于我做的第一个Unity游戏,名字就叫<Invert>,现在在应用宝上面还能搜到.不过那个游戏也不是我原创的,它的玩法设计来自github上的一个开源项目(https://github.com/gorried/inverter),那时候我正在上培训班,它本来是我的一个课下练习.当时主要是为了熟悉游戏从制作到发布的流程,所以几乎完全模仿了原项目的设计,连方块的配色都没改(因为我觉得那配色挺好看的,还特意用Photoshop取了人家的色值). 但是现在回过头来看,这种

组合逻辑设计法的编程步骤-一帆自动化

组合逻辑设计法适合于设计开关量控制程序,它是对控制任务进行逻辑分析和综合,将元件的通.断电状态视为以触点通.断状态为逻辑变量的逻辑函数,对经过化简的逻辑函数,利用PLC逻辑指令可顺利地设计出满足要求且较为简练的程序.这种方法设计思路清晰,所编写的程序易于优化,.用组合逻辑设计法进行程序设计一般可分为以下几个步骤:1)明确控制任务和控制要求,通过分析工艺过程绘制工作循环和检测元件分布图,取得电气执行元件功能表.2)详细绘制系统状态转换表.通常它由输出信号状态表.输入信号状态表.状态转换主令表和中间

基本路径法设计测试用例

基本路径法是白盒测试中使用最为广泛的方法.以下将介绍一下基本路径法如何使用. 基本路径法设计测试用例的步骤基本如下 1.由程序的源代码作为基础导出控制流图 2.计算控制流图的环路复杂度 3.确定基本路径 4.根据基本路径设计测试用例 接下来我举个例子 1 Int IsLeap(int year) 2 { 3 if (year % 4 == 0) 4 { 5 if (year % 100 == 0) 6 { 7 if ( year % 400 == 0) 8 leap = 1; 9 else 10

【tool】运用因果图法设计象棋中马行走路线的测试用例

因果图法设计用例 需求规格: 1.如果落点在棋盘外,则不移动棋子; 2.如果落点与起点不构成日字型,则不移动棋子; 3.如果落点处有自己方棋子,则不移动棋子; 4.如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子; 5.如果不属于1-4条,且落点处无棋子,则移动棋子; 6.如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子; 7.如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束. 一.原因条件: 1. 落点在棋盘上; 2. 落点与起点构

fir 窗口设计法

加窗的原因.对于理想的低通滤波器H(exp(jw)),其h(n)是无限长序列.这是可以证明的.因此为了得到有限长的h(n)就需要截断,而这个过程就是加窗.由于h(n)截断即其频率响应就和理想的低通滤波器有差别.从感性上分析,h(n)越长,Hw(exp(jw))也就越接近理想低通滤波器,这就对应确定序列的长度.还有就是如何截断即加什么窗,对Hw(exp(jw))也是有影响.这就是对应的窗的设计. 窗口设计法:H(exp(jw)) = F(h(n)), W(exp(jw)) = F(w(n)). F

[Matlab]双线性变换法设计数字高通滤波器

测试代码: %%****bin_hp.m*******************%% %% 使用双线性变换法设计高通滤波器 %% 2018年6月13日 14:27:37 %% author:Alimy close all; clear; clc; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %代码正文 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %给定数字滤波器指标 f_p = 200 ; %阻带上截止频率 f_st = 210

[Matlab]双线性变换法设计数字带通滤波器

测试代码: %%****bin_bp.m*******************%% %% 使用双线性变换法设计带通滤波器 %% 2018年6月13日 16:30:34 %% author:Alimy close all; clear; clc; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %代码正文 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %给定数字滤波器指标 f_sl = 150 ; %阻带下限频率(Hz) f_1 = 2