衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SpinalHDL中不可不知的位拼接符

Spinal FPGA ? 來源:Spinal FPGA ? 作者:玉騏 ? 2022-11-12 11:34 ? 次閱讀

編 者 按

在之前寫Verilog時,位拼接符是一個很常見的東西,今天來看下在SpinalHDL中常見的位拼接符的使用。

建議SpinalHDL 版本不低于1.7.1(1.7.1版本Bug較多,再往上~)

》{a,b,c}=c 將一個信號的不同bit賦值給不同的信號,這種拼接方式可以在SpinalHDL中按照如下的形式進行書寫:

case class demo() extends Component{
  val dataIn=in Bits(8 bits)
  val dataOut0,dataOut1= out Bits(4 bits)
  (dataOut0,dataOut1):=dataIn
}
》d={a,b,c}

對于這種形式的拼接賦值,在SpinalHDL中可以采用如下形式:

case class demo() extends Component{
  val a,b,c=in Bits(2 bits)
  val d= out Bits(6 bits)
  d:=Cat(a,b,c)
}
》{d,e}={a,b,c}

對于這種形式的拼接賦值,是上面兩種形式的組合體,那么可以這么來寫:

case class demo() extends Component{
  val a,b,c=in Bits(2 bits)
  val d,e= out Bits(3 bits)
  (d,e):=Cat(a,b,c)
}

針對這種形式,當然也可以更簡化一些:

case class demo() extends Component{
  val a,b,c=in Bits(2 bits)
  val d,e= out Bits(3 bits)
  (d,e):=(a,b,c)
}
》b={n{a}}

這種類型的賦值在SpinalHDL中提供了兩個API

case class demo() extends Component{
  val a=in Bits(2 bits)
  val b= out Bits(6 bits)
  b:=B(a,3) //不是B(a,3 bits),別搞混
}
case class demo() extends Component{
 val a=in Bits(2 bits)
  val b= out Bits(6 bits)
  b:=Repeat(a,3)
}

這兩種實現方式最終生成的Verilog代碼略不優雅,只是將a機械的重復了n次:

`timescale 1ns/1ps


module demo (
input      [1:0]    a,
output     [5:0]    b
);




assign b = {a,{a,a}};


endmodule
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Verilog
    +關注

    關注

    28

    文章

    1351

    瀏覽量

    110392
  • HDL
    HDL
    +關注

    關注

    8

    文章

    328

    瀏覽量

    47468

原文標題:SpinalHDL中不可不知的位拼接符

文章出處:【微信號:Spinal FPGA,微信公眾號:Spinal FPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    不可不知的嵌入式工程師經驗(總結篇)

    不可不知的嵌入式工程師經驗(總結篇)
    發表于 08-20 10:52

    不可不知的ARM技術學習訣竅

    不可不知的ARM技術學習訣竅
    發表于 08-20 23:52

    寫好LabVIEW程序不可不知的利器——匯總篇

    1、寫好LabVIEW程序不可不知的利器(一):模塊化功能 VI2、寫好LabVIEW程序不可不知的利器(二):State Machine3、寫好LabVIEW程序不可不知的利器(三):進階應用4、寫好LabVIEW程序
    發表于 11-20 15:38

    看下在SpinalHDL中常見的拼接的使用

    在之前寫Verilog時,拼接是一個很常見的東西,今天來看下在SpinalHDL中常見的拼接
    發表于 11-18 15:21

    七則不可不知的電池常識

    七則不可不知的電池常識         一、電池有保質期嗎?  電池是通過其內部的正負極發生化學反應,
    發表于 11-14 10:40 ?740次閱讀

    充電電池不可不知的基本常識

    充電電池不可不知的基本常識        一.電壓:兩極間的電位差稱為電池的電壓。主要有標稱(額定)電壓、開路電壓、充電終止(截止)
    發表于 11-14 10:45 ?3731次閱讀

    手機使用常識及手機電池不可不知的小常識

    手機使用常識及手機電池不可不知的小常識 手機使用常識 1、使用手機時,不要接觸天線,否則會影響
    發表于 11-23 15:20 ?1947次閱讀

    不可不知的投影幕選購常識

    不可不知的投影幕選購常識 前言:   當今,無論是商務活動,還是居家生活,人們對于大屏幕顯示畫面、高亮度、高分辨率以及高
    發表于 02-10 11:10 ?712次閱讀

    電腦木馬識別的三個小命令(不可不知)

    電腦木馬識別的三個小命令(不可不知) 一些基本的命令往往可以在保護網絡安全上起到很大的作用,下面幾條命令的作用就非常突出。
    發表于 02-23 14:17 ?1206次閱讀

    顯示卡不可不知15大參數

    顯示卡不可不知15大參數 1、 幀率(Frames
    發表于 01-12 09:49 ?992次閱讀

    微軟Azure大放異彩 Azure術語不可不知

    微軟Azure大數據服務魅力凸顯 Azure術語不可不知 大數據正上增工,不僅是規模,知名度也在上升。
    發表于 11-10 11:02 ?1151次閱讀

    電源常見的拓撲結構精華匯總工程師不可不知的電源11種拓撲結構

    工程師不可不知的電源11種拓撲結構基本名詞電源常見的拓撲結構■Buck降壓■Boost升壓■Buck-Boo
    的頭像 發表于 04-22 10:06 ?4w次閱讀
    電源常見的拓撲結構精華匯總工程師<b class='flag-5'>不可不知</b>的電源11種拓撲結構

    PCB板工藝不可不知的五大小原則

    本文主要詳細闡述了PCB板工藝不可不知的小原則。
    的頭像 發表于 10-05 08:48 ?6029次閱讀

    電氣人不可不知的45個電機知識盤點

    本文主要匯總了電氣人不可不知的45個電機知識,具體的跟隨小編一起來了解一下。
    的頭像 發表于 10-05 09:06 ?4779次閱讀

    MOSFET基礎電路不可不知

    MOSFET電路不可不知MOSFET已成為最常用的三端器件,給電子電路界帶來了一場革命。沒有MOSFET,現在集成電路的設計似乎是不可能的。它們非常小,制造過程非常簡單。由于MOSFET的特性,模擬
    的頭像 發表于 05-10 16:35 ?1602次閱讀
    MOSFET基礎電路<b class='flag-5'>不可不知</b>
    实战百家乐官网的玩法技巧和规则 | 百家乐官网最好的平台是哪个| 澳门葡京赌场美女| 大发888手机版下载安装| 百家乐网址官网| 百家乐出千工具价格| 帝王百家乐全讯网2| 24山向山摆设| 888百家乐官网的玩法技巧和规则| 百家乐官网赌博平台| 百家乐官网翻天快播| 百家乐官网稳赢赌法| 汉沽区| 桦甸市| 东台市| 应城市| 申城棋牌网| 顶级赌场官方客户端下载| 百家乐心得打法| 保单百家乐游戏机厂家| 百家乐三跳| 百家乐技巧-百家乐开户指定代理网址 | 香港百家乐的玩法技巧和规则| 百家乐赌博现金网| 百家乐赌场走势图| 网上百家乐骗局| 赌场百家乐试玩| 百家乐娱乐网送68元| 百家乐赌场娱乐| 百家乐黄金城游戏大厅| 赌场百家乐是如何| 天天百家乐的玩法技巧和规则 | 大杀器百家乐学院| 送彩金百家乐的玩法技巧和规则| 长春百家乐的玩法技巧和规则| 百家乐平台凯发| 葡京百家乐的玩法技巧和规则 | 玩百家乐游戏的最高技巧| 百家乐赚水方| 大发888游戏官方下载客户端| 棋牌室高尔夫娱乐场|