欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

什么是寄存器

jf_78858299 ? 來(lái)源:沈土豪的書(shū)屋 ? 作者:沈土豪 ? 2023-01-30 16:36 ? 次閱讀

有一個(gè)很無(wú)語(yǔ)的問(wèn)題,什么是register?天天在配寄存器,但是不知道寄存器是什么。寄存器的地址偏移有的是1,有的是4。這個(gè)偏移量為什么偏移不是3?偏移量和register的data位數(shù)有沒(méi)有關(guān)系

基本隨便打開(kāi)一份數(shù)字IC的數(shù)據(jù)手冊(cè)我們就會(huì)得到designer提供的register table。

圖片

比如一顆DAC,通過(guò)SPI接口,配置電壓寄存器。

24bit的register,A2:A0 選擇DAC地址,DB15:DB2設(shè)置DAC輸出電壓。

給自己的一點(diǎn)理解:

所有register,如果是接入clk的,xilinx稱為原語(yǔ)D flip-flop,就是大學(xué)本科的教材,D觸發(fā)器。

圖片

有32 bit的 register,就是32個(gè)DFF。DFF值從哪里來(lái)的?就是RTL級(jí)code的數(shù)百個(gè)module/IP里面input,output,reg信號(hào)。

這些信號(hào)拉到哪里去?拉到reg access的module,這個(gè)reg access的module就是通過(guò)填表,通過(guò)腳本gen出來(lái)的電路。

這個(gè)module port數(shù)非常大,大到只要register table里的有的信號(hào),就會(huì)從其他各個(gè)模塊電路拉進(jìn)來(lái),input output信號(hào)極其多。

這份文檔有描述FPGA/ASIC狀態(tài)寄存器和控制寄存器的做法:

csrGen: Automated CSRs for ASIC/FPGA Processor Interfaces .pdf

control/status registers (CSRs),的意思IC內(nèi)部的控制寄存器和狀態(tài)寄存器。

文檔大概的意思是說(shuō)是用csrGen寫(xiě)的一個(gè)腳本一樣的code,用戶可以通過(guò)填寫(xiě)register table,最后可以綜合生成verilog register RTL code。

填表

用戶填表:

圖片

大概的意思是:

第一行就是定義:A就是register的地址address縮寫(xiě), 為0x0,共8bit,名字field1

第三行就是定義:A就是register的地址address縮寫(xiě), 為0x1,共8bit,名字version,類(lèi)型是RO

后面還有一些W1C,wite 1 clear register value,這種太難了我也看不懂怎么實(shí)現(xiàn)的。我們就看一個(gè)register讀的,和寫(xiě)的。

后面通過(guò)它寫(xiě)的CSRGen,可以gen出一份RTL code。

我們來(lái)看一下上面csrGen出來(lái)的RTL code。

RTL級(jí)code定義了一個(gè)module,可以看到實(shí)際上對(duì)于讀寫(xiě)指令,實(shí)際上就是1bit控制信號(hào)read/write,傳入的address[3:0],和up_datain[7:0]。

圖片

同時(shí)可以看到剛才看到RO類(lèi)型的寄存器8bit version,實(shí)際上是從其他IP拉過(guò)來(lái)的,可以認(rèn)為IC內(nèi)部有很多個(gè)module/IP,這個(gè)viersion[7:0]就是從其他IP拉給chip_up_ifc 模塊的。

Read

當(dāng)我們?nèi)プx寫(xiě)reg的時(shí)候,實(shí)際上就傳入read的命令和address。

RTL怎么實(shí)現(xiàn)的呢?就是通過(guò)在chip_up_ifc,在敏感列表響應(yīng)到read == 1’b1,采樣address值,通過(guò)case匹配,把需要RW的register地址,賦值到用戶的讀寫(xiě)reg的接口上,即up_dataout_D[7:0] = version ;

version是其他module拉線來(lái)的,對(duì)于這個(gè)chip_up_ifc來(lái)說(shuō)是input信號(hào),up_dataout_D[7:0]是chip_up_ifc輸出的。

Write

當(dāng)我們?nèi)?xiě)reg的時(shí)候,實(shí)際上就傳入write的命令和address和data值。

RTL級(jí)code如下,當(dāng)always塊敏感列表有write指令的時(shí)候,

看到case敏感列表里面是address,這里IC內(nèi)部排布的reg地址是從0 1 2 3 4….

當(dāng)對(duì)address 0,寫(xiě)的時(shí)候,就把用戶想要寫(xiě)入的數(shù)據(jù)up_datain[7:0],賦值給address 為0的field1_D。

圖片

我們剛才填寫(xiě)的register profile就是

%A 0

7:0 field1

這里是對(duì)field1_D賦值而不是field1的原因是,在內(nèi)部生成了2個(gè)reg。一個(gè)是field1,field1_D。以我?guī)讉€(gè)禮拜的RTL coding基礎(chǔ),猜測(cè)是防止直接操作field1影響它原本所在的電路,通過(guò)下一個(gè)clk信號(hào),

才把field1 <= field1_D,打了一拍。

RTL在下面63行也有體現(xiàn)。register的初值怎么做到的,也在always塊的init1下降沿觸發(fā)賦值有體現(xiàn)。

圖片

所以就有了以下結(jié)論,

Q:IC內(nèi)部的寄存器偏移地址一定是1或4,有什么含義嗎?

A:沒(méi)有任何意義。這邊address,在always塊每次匹配的是多少就是訪問(wèn)的哪個(gè)reg,它可以偏移1,偏移100,1000都可以,甚至排布可以是1 3 5 7 9;

圖片

A:每個(gè)address獲得的reg數(shù)據(jù)位寬和偏移有關(guān)系嗎?

Q:也沒(méi)有,想定義每個(gè)address的reg的位寬是13個(gè)bit都可以,并不是8 /16/32 bit。RTL決定了本質(zhì)是多少個(gè)DFF。在clock節(jié)拍下寄存下別的module拉過(guò)來(lái)的信號(hào)值。但是多少考慮到數(shù)據(jù)位寬,也要定義成8/16/32吧。

圖片

A:上面結(jié)論是不是都對(duì)的?

Q:不一定,都是我猜的,其實(shí)我是做硬件的不太懂FPGA,有幸在南郵讀書(shū)期間和FPGA coder聯(lián)調(diào)過(guò)小半年。這邊我猜測(cè):軟件跑在SOC,SOC有些reg地址,好像就是access sram,sram有大小的,8k的sram就被分成了那么多地址。軟件那邊定義的應(yīng)該有關(guān)聯(lián)的吧?RTL實(shí)現(xiàn)的reg是無(wú)關(guān)聯(lián)的。

聲明:本文內(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)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5367

    瀏覽量

    121222
  • Register
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

    13956
  • 地址
    +關(guān)注

    關(guān)注

    1

    文章

    32

    瀏覽量

    10829
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    寄存器是什么?怎么操作寄存器點(diǎn)亮LED燈?

    寄存器,是集成電路中非常重要的一種存儲(chǔ)單元,通常由觸發(fā)組成。在集成電路設(shè)計(jì)中,寄存器可分為電路內(nèi)部使用的寄存器和充當(dāng)內(nèi)外部接口的寄存器這兩
    的頭像 發(fā)表于 07-21 16:59 ?4131次閱讀
    <b class='flag-5'>寄存器</b>是什么?怎么操作<b class='flag-5'>寄存器</b>點(diǎn)亮LED燈?

    寄存器與移位寄存器

    寄存器與移位寄存器 寄存器是用來(lái)寄存數(shù)碼的邏輯部件,所以必須具備接收和寄存數(shù)碼的功能。任何一種觸發(fā)
    發(fā)表于 03-12 15:19 ?59次下載

    寄存器,寄存器是什么意思

    寄存器,寄存器是什么意思 寄存器定義  寄存器是中央處理內(nèi)的組成部分。寄存器是有限存貯容量
    發(fā)表于 03-08 14:26 ?2.2w次閱讀

    數(shù)據(jù)寄存器,數(shù)據(jù)寄存器是什么意思

    數(shù)據(jù)寄存器,數(shù)據(jù)寄存器是什么意思 數(shù)據(jù)寄存器數(shù)據(jù)寄存器包括累加AX、基址寄存器BX、計(jì)數(shù)
    發(fā)表于 03-08 14:38 ?1.3w次閱讀

    移位寄存器,移位寄存器是什么意思

    移位寄存器,移位寄存器是什么意思 移位寄存器_
    發(fā)表于 03-08 14:50 ?1.8w次閱讀

    寄存器培訓(xùn)教程

    寄存器培訓(xùn)教程 7.4.1 寄存器1.定義2.電路舉例 3.邏輯功能分析7.4.2 移位寄存器一、單向移位寄存器㈠ 由4個(gè)維持阻塞D觸發(fā)
    發(fā)表于 03-08 14:52 ?1259次閱讀

    寄存器與移位寄存器

    寄存器與移位寄存器:介紹寄存器原理和移位寄存器的原理及實(shí)現(xiàn)。
    發(fā)表于 05-20 11:47 ?0次下載

    移位寄存器怎么用_如何使用移位寄存器_移位寄存器的用途

    移位寄存器是一個(gè)具有移位功能的寄存器,是指寄存器中所存的代碼能夠在移位脈沖的作用下依次左移或右移。本文主要介紹了移位寄存器的用途以及移位寄存器
    發(fā)表于 12-22 15:49 ?2w次閱讀

    寄存器變量

    C語(yǔ)言中使用關(guān)鍵字register來(lái)聲明局部變量為寄存器變量。寄存器變量的值會(huì)被存放在CPU的寄存器中,每當(dāng)需要使用它們時(shí),CPU就可以直接使用,而無(wú)須再通過(guò)控制從內(nèi)存中獲取。由于操
    發(fā)表于 06-03 10:13 ?2423次閱讀

    移位寄存器的原理

    移位寄存器按照不同的分類(lèi)方法可以分為不同的類(lèi)型。 如果按照移位寄存器的移位方向來(lái)進(jìn)行分類(lèi), 可以分為左移移位寄存器、移位寄存器和雙向移位寄存器
    發(fā)表于 07-15 09:38 ?7.5w次閱讀
    移位<b class='flag-5'>寄存器</b>的原理

    AD轉(zhuǎn)換寄存器設(shè)置

    AD轉(zhuǎn)換寄存器設(shè)置AD轉(zhuǎn)換寄存器設(shè)置AD轉(zhuǎn)換寄存器設(shè)置
    發(fā)表于 11-10 17:36 ?16次下載
    AD轉(zhuǎn)換<b class='flag-5'>寄存器</b>設(shè)置

    ARM通用寄存器及狀態(tài)寄存器詳解

    筆者來(lái)聊聊ARM通用寄存器以及狀態(tài)寄存器的認(rèn)識(shí)與理解。
    的頭像 發(fā)表于 01-06 14:58 ?7411次閱讀

    單片機(jī)工作寄存器作用 單片機(jī)常用專(zhuān)用寄存器

    除了通用寄存器(如累加、通用寄存器等),單片機(jī)中還會(huì)有特定功能的寄存器,如定時(shí)寄存器、中斷控
    的頭像 發(fā)表于 04-08 14:46 ?7724次閱讀

    CPSR寄存器和APSR寄存器的組成

    程序狀態(tài)寄存器的作用就是反映處理的狀態(tài)信息。在程序運(yùn)行期間我們可以通過(guò)查看程序狀態(tài)寄存器的狀態(tài)位來(lái)進(jìn)行程序的分支跳轉(zhuǎn)處理,或者我們可以設(shè)置程序狀態(tài)寄存器的模式位來(lái)改變處理
    的頭像 發(fā)表于 10-20 11:38 ?4898次閱讀
    CPSR<b class='flag-5'>寄存器</b>和APSR<b class='flag-5'>寄存器</b>的組成

    寄存器分為基本寄存器和什么兩種

    寄存器是計(jì)算機(jī)中用于存儲(chǔ)數(shù)據(jù)的高速存儲(chǔ)單元,它們是CPU內(nèi)部的重要組成部分。寄存器可以分為基本寄存器和擴(kuò)展寄存器兩種類(lèi)型。 一、基本寄存器
    的頭像 發(fā)表于 07-12 10:31 ?1627次閱讀