0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

IC設(shè)計(jì)基礎(chǔ):Verilog計(jì)算1的數(shù)量

ruikundianzi ? 來(lái)源:IP與SoC設(shè)計(jì) ? 2023-05-11 11:38 ? 次閱讀

1、采用循環(huán)語(yǔ)句+移位+邏輯& 1來(lái)計(jì)算1的數(shù)量

如下所示,采用循環(huán)語(yǔ)句+移位+邏輯與1+累加來(lái)實(shí)現(xiàn)1的統(tǒng)計(jì)。最終調(diào)用函數(shù)獲得輸入信號(hào)中1的數(shù)量。

module clk_mux #(parameter CLK_MASK = 16'hffff) (
    input xxxx,
    input xxxx,
    output xxxx,
    output xxxx
 
);
 
    localparam NUM_INPUT_CLK = 16;
 
    function integer countones;
        input [NUM_INPUT_CLK-1:0] x;
        integer k;
        begin
            countones = 0;
            while(x > 0) begin
                countones += x & 1;
                x = x >> 1;
            end
        end
    endfunction
 
    localparam NUM_CLK = countones(CLK_MASK);
 
 
endmodule

2、采用for循環(huán)來(lái)計(jì)算1的數(shù)量

采用for循環(huán)語(yǔ)句,逐個(gè)bit位判斷是否為1,為1則累加,否則保持不變,最終輸出輸入信號(hào)中1的數(shù)量。

wire            [64-1:0]                                mem_addr_hit                            ;   //
reg             [7-1:0]                                 mem_addr_hit_cnt                        ;   //
 
always@(*) begin
    mem_addr_hit_cnt                =               'b0                             ;   
    for(int i=0; i<64;i=i+1) begin : mem_addr_hit_cnt
    if(mem_addr_hit[i])
        mem_addr_hit_cnt             =          mem_addr_hit_cnt + 1'b1                 ;   //spyglass disable W415a W484
    else
        mem_addr_hit_cnt             =          mem_addr_hit_cnt                        ;   //spyglass disable W415a W484
    end
end

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • IC設(shè)計(jì)
    +關(guān)注

    關(guān)注

    38

    文章

    1298

    瀏覽量

    104133
  • 信號(hào)
    +關(guān)注

    關(guān)注

    11

    文章

    2798

    瀏覽量

    76942
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1351

    瀏覽量

    110190
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4343

    瀏覽量

    62809
  • 調(diào)用函數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    2347

原文標(biāo)題:IC設(shè)計(jì)基礎(chǔ):Verilog計(jì)算1的數(shù)量

文章出處:【微信號(hào):IP與SoC設(shè)計(jì),微信公眾號(hào):IP與SoC設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    H[1].264 Verilog H.264 的Verilog實(shí)現(xiàn)的opencore

    H[1].264 Verilog H.264 的Verilog實(shí)現(xiàn)的opencore
    發(fā)表于 08-12 12:07

    Verilog HDL語(yǔ)言簡(jiǎn)介

    Verilog HDL語(yǔ)言簡(jiǎn)介 1.什么是Verilog HDLVerilog HDL是硬件描述語(yǔ)言的一種,用于數(shù)
    發(fā)表于 02-09 08:59 ?3916次閱讀

    如何計(jì)算UPS所配電池的數(shù)量

    UPS所配電池的數(shù)量,如何進(jìn)行計(jì)算,本文進(jìn)行詳細(xì)的介紹
    發(fā)表于 11-10 16:57 ?62次下載

    基于EP1C3的進(jìn)階實(shí)驗(yàn)_reference_verilog

    基于EP1C3的進(jìn)階實(shí)驗(yàn)_reference_verilog
    發(fā)表于 01-21 11:29 ?14次下載

    FPGA_Verilog學(xué)習(xí)資料part1

    FPGA_Verilog學(xué)習(xí)資料 part1
    發(fā)表于 03-14 14:28 ?47次下載

    基于EP1C3的進(jìn)階實(shí)驗(yàn)eference_verilog

    基于EP1C3的進(jìn)階實(shí)驗(yàn)eference_verilog
    發(fā)表于 10-27 18:20 ?3次下載

    基于EP1C3的進(jìn)階實(shí)驗(yàn)_reference_verilog

    基于EP1C3的進(jìn)階實(shí)驗(yàn)_reference_verilog
    發(fā)表于 11-18 16:05 ?4次下載

    Verilog語(yǔ)言練習(xí)與講解1

    Verilog語(yǔ)言練習(xí)與講解1,感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 11-10 15:29 ?2次下載

    Verilog_HDL基礎(chǔ)知識(shí)非常好的學(xué)習(xí)教程 (1)

    Verilog_HDL基礎(chǔ)知識(shí)非常好的學(xué)習(xí)教程 (1)
    發(fā)表于 01-04 12:33 ?0次下載

    verilog是什么_verilog的用途和特征是什么

    本文首先介紹了verilog的概念和發(fā)展歷史,其次介紹了verilog的特征與Verilog的邏輯門級(jí)描述,最后介紹了Verilog晶體管級(jí)描述與v
    發(fā)表于 05-14 14:22 ?4.6w次閱讀
    <b class='flag-5'>verilog</b>是什么_<b class='flag-5'>verilog</b>的用途和特征是什么

    數(shù)字IC設(shè)計(jì)入門(6)初識(shí)verilog

    Verilog HDL與VHDL是當(dāng)前最流行的兩種硬件設(shè)計(jì)語(yǔ)言,兩者各有優(yōu)劣,也各有相當(dāng)多的擁護(hù)者,都通過(guò)了IEEE 標(biāo)準(zhǔn)。VHDL在北美及歐洲應(yīng)用很普遍,Verilog HDL 語(yǔ)言在中國(guó)、日本
    發(fā)表于 11-06 09:05 ?15次下載
    數(shù)字<b class='flag-5'>IC</b>設(shè)計(jì)入門(6)初識(shí)<b class='flag-5'>verilog</b>

    Verilog的程序框架案例

    Verilog HDL(Hardware Description Language)是在用途最廣泛的C語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的一種硬件描述語(yǔ)言,具有靈活性高、易學(xué)易用等特點(diǎn)。Verilog HDL可以在較短的時(shí)間內(nèi)學(xué)習(xí)和掌握,目前已經(jīng)在FPGA開(kāi)發(fā)/
    發(fā)表于 09-13 14:34 ?1408次閱讀

    實(shí)時(shí)計(jì)算汽車數(shù)量開(kāi)源分享

    電子發(fā)燒友網(wǎng)站提供《實(shí)時(shí)計(jì)算汽車數(shù)量開(kāi)源分享.zip》資料免費(fèi)下載
    發(fā)表于 06-28 09:26 ?0次下載
    實(shí)時(shí)<b class='flag-5'>計(jì)算</b>汽車<b class='flag-5'>數(shù)量</b>開(kāi)源分享

    IC設(shè)計(jì)之Verilog代碼規(guī)范

    Verilog規(guī)范對(duì)于一個(gè)好的IC設(shè)計(jì)至關(guān)重要。
    的頭像 發(fā)表于 08-17 10:14 ?1570次閱讀
    <b class='flag-5'>IC</b>設(shè)計(jì)之<b class='flag-5'>Verilog</b>代碼規(guī)范

    光纖跳線的數(shù)量怎么計(jì)算

    光纖跳線的數(shù)量計(jì)算通常涉及到多個(gè)因素,以下是一些主要的考慮點(diǎn)和計(jì)算方法: 一、主要考慮因素 光纖配線架的容量: 不同類型的光纖配線架具有不同的容量,即能夠容納的光纖跳線數(shù)量。在選擇光纖跳線數(shù)量
    的頭像 發(fā)表于 09-10 10:00 ?960次閱讀