色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

x
x

零基礎(chǔ)學(xué)FPGA(八)手把手解析時(shí)序邏輯乘法器代碼

發(fā)布時(shí)間:2016-2-25 11:50    發(fā)布者:designapp
關(guān)鍵詞: FPGA , Verilog , 時(shí)序邏輯
  上次看了一下關(guān)于乘法器的Verilog代碼,有幾個(gè)地方一直很迷惑,相信很多初學(xué)者看這段代碼一定跟我當(dāng)初一樣,看得一頭霧水,在網(wǎng)上也有一些網(wǎng)友提問,說這段代碼不好理解,今天小墨同學(xué)就和大家一起來看一下這段代碼,我會(huì)親自在草稿紙上演算,盡量把過程寫的詳細(xì)些,讓更多的人了解乘法器的設(shè)計(jì)思路。
  下面是一段16位乘法器的代碼,大家可以先瀏覽一下,之后我再做詳細(xì)解釋
  module mux16(
  clk,rst_n,
  start,ain,bin,yout,done
  );
  input clk; //芯片的時(shí)鐘信號(hào)。
  input rst_n; //低電平復(fù)位、清零信號(hào)。定義為0表示芯片復(fù)位;定義為1表示復(fù)位信號(hào)無效。
  input start; //芯片使能信號(hào)。定義為0表示信號(hào)無效;定義為1表示芯片讀入輸入管腳得乘數(shù)和被乘數(shù),并將乘積復(fù)位清零。
  input[15:0] ain; //輸入a(被乘數(shù)),其數(shù)據(jù)位寬為16bit.
  input[15:0] bin; //輸入b(乘數(shù)),其數(shù)據(jù)位寬為16bit.
  output[31:0] yout; //乘積輸出,其數(shù)據(jù)位寬為32bit.
  output done; //芯片輸出標(biāo)志信號(hào)。定義為1表示乘法運(yùn)算完成.
  reg[15:0] areg; //乘數(shù)a寄存器
  reg[15:0] breg; //乘數(shù)b寄存器
  reg[31:0] yout_r; //乘積寄存器
  reg done_r;
  reg[4:0] i; //移位次數(shù)寄存器
  //------------------------------------------------
  //數(shù)據(jù)位控制
  always @(posedge clk or negedge rst_n)
  if(!rst_n) i  5'd0 && i >1; //移位不累加
  end
  else if(i == 5'd16 && areg[15]) yout_r[31:16]


  


  


  以上部分是最主要的計(jì)算部分,其他地方相對(duì)來說還比較簡單,例如當(dāng)乘數(shù)某一位為0時(shí),不用累加,直接右移,當(dāng)i計(jì)數(shù)到16時(shí),此時(shí)就不用再移位了,可以直接用位數(shù)表示,直接累加即可。
  下面是仿真
  

                               
               
本文地址:http://www.54549.cn/thread-161210-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表