基於FPGA的乘法器原理介紹及設計實現
基於FPGA的乘法器原理介紹及設計實現
引言
在軟體設計裡兩個數的相乘可以直接“*”,但是在FPGA的設計裡面,如果直接將兩個數相乘,不僅會佔用大量的cell單元,而且會大大減慢硬體的運算速度。而在越來越多的FPGA設計應用領域,乘法器都被廣泛應用到。本文設計的便是一款計數精度高,計數速度快,節省電路資源的乘法器。通過移位相加的原理來實現乘法器的設計實現。
乘法器原理介紹
乘法器的設計實現
首先介紹乘法器的設計埠:
接下來介紹乘法器的設計核心:
乘法器的模擬驗證
乘法器的模擬testbench設計如下:
按照上面的testbench模擬設計所示,乘數1:mul_data1= 21;乘數2:mul_data2=31;
那麼模擬結果應該為muliplicator=25*31=775;
如下圖所示,mul_en使能開啟後,進入乘法運算,muliplicator=775,乘法完成訊號mul_done=1同時拉高。
設計總結
乘法器具有以下優點:
1:通過移位相加的操作代替乘法,具有節省電路資源的優點;
2:計數精度與預期的一致,且計數速度快,所消耗的時鐘不多。
相關文章
- 基於Verilog的陣列乘法器設計陣列
- Flink sql實現原理及Apache Calcite介紹SQLApache
- Kafka的原理介紹及實踐Kafka
- 基於FPGA的DDS研究與設計FPGA
- 數字IC設計 FPGA——再談乘法器設計(使用Verilog 原語 LUT 進行四位乘法器設計)FPGA
- 基於 Formily 的表單設計器實現原理分析 ORM
- tornado原理介紹及非同步非阻塞實現方式非同步
- FPGA經典:Verilog傳奇與基於FPGA的數字影像處理原理及應用FPGA
- Docker的原理及特性介紹Docker
- golang實現常用集合原理介紹Golang
- 基於迴圈佇列的BFS的原理及實現佇列
- rxjs Observable filter Operator 的實現原理介紹JSFilter
- 簡單介紹numpy實現RNN原理實現RNN
- Docker容器實現原理及容器隔離性踩坑介紹Docker
- BiLSTM介紹及程式碼實現
- CNN介紹及程式碼實現CNN
- FFT原理及C++與MATLAB混合程式設計詳細介紹FFTC++Matlab程式設計
- sku演算法介紹及實現演算法
- 快速傅立葉變換原理介紹及遞迴程式碼實現遞迴
- 單目測距的基本介紹和實現原理
- 原型設計之校友圈APP功能實現介紹原型APP
- 技術分享| 基於 Etcd 的分散式鎖實現原理及方案分散式
- 基於 Angular Material 的 Data Grid 設計實現Angular
- 條形碼生成原理介紹及簡介
- 函式程式設計基本原理介紹函式程式設計
- Angular 依賴注入機制實現原理的深入介紹Angular依賴注入
- Redis(設計與實現):---釋出與訂閱介紹Redis
- 基於CPLD/FPGA的呼吸燈效果實現(附全部verilog原始碼)FPGA原始碼
- 簡單介紹基於Redis的List實現特價商品列表功能Redis
- 介紹基於事件的架構事件架構
- Spring Security——基於表單登入認證原理及實現Spring
- OSPF介紹及基礎配置
- 基於android的智慧導診的設計與實現Android
- mybatis原理,配置介紹及原始碼分析MyBatis原始碼
- Spring Cloud Stream 體系及原理介紹SpringCloud
- 簡單易懂的 Go 泛型使用和實現原理介紹Go泛型
- HanLP-基於HMM-Viterbi的人名識別原理介紹HanLPHMMViterbi
- 簡單介紹recorder.js 基於Html5錄音功能的實現JSHTML