基於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:計數精度與預期的一致,且計數速度快,所消耗的時鐘不多。
相關文章
- 遊戲引擎介紹,架構,設計及實現遊戲引擎架構
- Python greenlet使用介紹及實現原理Python
- Kafka的原理介紹及實踐Kafka
- 基於Verilog的陣列乘法器設計陣列
- 基於FPGA的設計解決物聯網實現的核心挑戰FPGA
- Flink sql實現原理及Apache Calcite介紹SQLApache
- 基於 Formily 的表單設計器實現原理分析 ORM
- 基於資源的HTTP Cache的實現介紹HTTP
- 【iCore1S 雙核心板_FPGA】例程十:乘法器實驗——乘法器的使用FPGA
- tornado原理介紹及非同步非阻塞實現方式非同步
- Docker的原理及特性介紹Docker
- 基於迴圈佇列的BFS的原理及實現佇列
- golang實現常用集合原理介紹Golang
- 遊戲引擎學習筆記:介紹、架構、設計及實現遊戲引擎筆記架構
- 【iCore4 雙核心板_FPGA】例程八:乘法器實驗——乘法器使用FPGA
- 【iCore3 雙核心板_FPGA】例程十一:乘法器實驗——乘法器使用FPGA
- 簡單介紹numpy實現RNN原理實現RNN
- Docker容器實現原理及容器隔離性踩坑介紹Docker
- 快速傅立葉變換原理介紹及遞迴程式碼實現遞迴
- FPGA經典:Verilog傳奇與基於FPGA的數字影像處理原理及應用FPGA
- 個推技術實現原理介紹
- CNN介紹及程式碼實現CNN
- BiLSTM介紹及程式碼實現
- rxjs Observable filter Operator 的實現原理介紹JSFilter
- OpenStack設計與實現(二)Libvirt簡介與實現原理
- FFT原理及C++與MATLAB混合程式設計詳細介紹FFTC++Matlab程式設計
- sku演算法介紹及實現演算法
- 單目測距的基本介紹和實現原理
- javascript如何實現模組程式設計簡單介紹JavaScript程式設計
- 原型設計之校友圈APP功能實現介紹原型APP
- 條形碼生成原理介紹及簡介
- Lombok介紹,使用方法及原理Lombok
- Rsync原理介紹及配置應用
- 技術分享| 基於 Etcd 的分散式鎖實現原理及方案分散式
- 函式程式設計基本原理介紹函式程式設計
- Angular 依賴注入機制實現原理的深入介紹Angular依賴注入
- 介紹基於事件的架構事件架構
- 簡單介紹基於Redis的List實現特價商品列表功能Redis