色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

RAM初始化的下板驗(yàn)證

FPGA之家 ? 來(lái)源:FPGA開(kāi)源工作室 ? 2023-04-11 10:51 ? 次閱讀

本實(shí)驗(yàn)基于xilinx ARTIX-7芯片驗(yàn)證實(shí)現(xiàn),有時(shí)間有興趣的朋友可在其他FPGA芯片上實(shí)現(xiàn)驗(yàn)證。

當(dāng)大家看到《xilinx verilog語(yǔ)法技巧(三)–RAM的初始化》文章的時(shí)候很多人認(rèn)為initial語(yǔ)句,$readmemb語(yǔ)句均是不可綜合語(yǔ)句(只能用來(lái)寫(xiě)測(cè)試文件),但是xilinx的綜合器已經(jīng)悄然改變了這一點(diǎn)。

rams_init_file源碼:

// Initializing Block RAM from external data file
// Binary data
// File: rams_init_file.v

module rams_init_file (clk, we, addr, din, dout);
input clk;
input we;
input [5:0] addr;
input [31:0] din;
output [31:0] dout;

reg [31:0] ram [0:63];
reg [31:0] dout;

initial begin
$readmemb("rams_init_file.data",ram);
end

always @(posedge clk)
begin
  if (we)
     ram[addr] <= din;
  dout <= ram[addr];
end endmodule

rams_init_file.data源文件:

00001110110000011001111011000110
00101011001011010101001000100011
01110100010100011000011100001111
01000001010000100101001110010100
00001001101001111111101000101011
00101101001011111110101010100111
11101111000100111000111101101101
10001111010010011001000011101111
00000001100011100011110010011111
11011111001110101011111001001010
11100111010100111110110011001010
11000100001001101100111100101001
10001011100101011111111111100001
11110101110110010000010110111010
01001011000000111001010110101110
11100001111111001010111010011110
01101111011010010100001101110001
01010100011011111000011000100100
11110000111101101111001100001011
10101101001111010100100100011100
01011100001010111111101110101110
01011101000100100111010010110101
11110111000100000101011101101101
11100111110001111010101100001101
01110100000011101111111000011111
00010011110101111000111001011101
01101110001111100011010101101111
10111100000000010011101011011011
11000001001101001101111100010000
00011111110010110110011111010101
01100100100000011100100101110000
10001000000100111011001010001111
11001000100011101001010001100001
10000000100111010011100111100011
11011111010010100010101010000111
10000000110111101000111110111011
10110011010111101111000110011001
00010111100001001010110111011100
10011100101110101111011010110011
01010011101101010001110110011010
01111011011100010101000101000001
10001000000110010110111001101010
11101000001101010000111001010110
11100011111100000111110101110101
01001010000000001111111101101111
00100011000011001000000010001111
10011000111010110001001011100100
11111111111011110101000101000111
11000011000101000011100110100000
01101101001011111010100011101001
10000111101100101001110011010111
11010110100100101110110010100100
01001111111001101101011111001011
11011001001101110110000100110111
10110110110111100101110011100110
10011100111001000010111111010110
00000000001011011111001010110010
10100110011010000010001000011011
11001010111111001001110001110101
00100001100010000111000101001000
00111100101111110001101101111010
11000010001010000000010100100001
11000001000110001101000101001110
10010011010100010001100100100111

tb_rams_init_file測(cè)試頂層文件:

`timescale 1ns / 1ps
module tb_rams_init_file(
       input clk,
       input reset,
       output [2:0] led_rgb0,
       output [2:0] led_rgb1,
       output [2:0] led_rgb2,
       output [2:0] led_rgb3
        );
reg [5:0] addr;
wire  [31:0] dout;
reg [27:0] cnt;

assign led_rgb0 = dout[2:0];
assign led_rgb1 = dout[5:3];
assign led_rgb2 = dout[8:6];
assign led_rgb3 = dout[11:9];

always @(posedge clk ) begin
  if(reset==1'b1) begin
    cnt   <= 28'd0;
    addr <= 0;
  end
  else if(cnt == 28'd100000000)begin//1s
    cnt <= 28'd0;
    addr <= addr +1;
  end
  else begin
    cnt   <= cnt + 1;
    addr <= addr;
  end
end
rams_init_file u_rams_init_file(
               .clk(clk), 
               .we(1'b0), 
               .addr(addr), 
               .din(32'b0), 
               .dout(dout));
endmodule

約束文件(根據(jù)自己板卡):

set_property PACKAGE_PIN E3 [get_ports clk]
set_property IOSTANDARD LVCMOS33 [get_ports clk]

set_property PACKAGE_PIN D9 [get_ports reset]
set_property IOSTANDARD LVCMOS33 [get_ports reset]

set_property PACKAGE_PIN E1 [get_ports led_rgb0[0]]
set_property IOSTANDARD LVCMOS33 [get_ports led_rgb0[0]]

set_property PACKAGE_PIN G6 [get_ports led_rgb0[1]]
set_property IOSTANDARD LVCMOS33 [get_ports led_rgb0[1]]

set_property PACKAGE_PIN F6 [get_ports led_rgb0[2]]
set_property IOSTANDARD LVCMOS33 [get_ports led_rgb0[2]]

set_property PACKAGE_PIN G4 [get_ports led_rgb1[0]]
set_property IOSTANDARD LVCMOS33 [get_ports led_rgb1[0]]

set_property PACKAGE_PIN G3 [get_ports led_rgb1[1]]
set_property IOSTANDARD LVCMOS33 [get_ports led_rgb1[1]]

set_property PACKAGE_PIN J4 [get_ports led_rgb1[2]]
set_property IOSTANDARD LVCMOS33 [get_ports led_rgb1[2]]

set_property PACKAGE_PIN H4 [get_ports led_rgb2[0]]
set_property IOSTANDARD LVCMOS33 [get_ports led_rgb2[0]]

set_property PACKAGE_PIN J3 [get_ports led_rgb2[1]]
set_property IOSTANDARD LVCMOS33 [get_ports led_rgb2[1]]

set_property PACKAGE_PIN J2 [get_ports led_rgb2[2]]
set_property IOSTANDARD LVCMOS33 [get_ports led_rgb2[2]]

set_property PACKAGE_PIN K2 [get_ports led_rgb3[0]]
set_property IOSTANDARD LVCMOS33 [get_ports led_rgb3[0]]

set_property PACKAGE_PIN K1 [get_ports led_rgb3[1]]
set_property IOSTANDARD LVCMOS33 [get_ports led_rgb3[1]]

set_property PACKAGE_PIN H6 [get_ports led_rgb3[2]]
set_property IOSTANDARD LVCMOS33 [get_ports led_rgb3[2]]






審核編輯:劉清

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

    關(guān)注

    8

    文章

    1368

    瀏覽量

    114647
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2167

    瀏覽量

    121307
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1351

    瀏覽量

    110077
  • FPGA芯片
    +關(guān)注

    關(guān)注

    3

    文章

    246

    瀏覽量

    39795

原文標(biāo)題:RAM初始化的下板驗(yàn)證(Xilinx)

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    自動(dòng)初始化機(jī)制原理詳解

    自動(dòng)初始化機(jī)制是指初始化函數(shù)不需要被顯式調(diào)用,只需要在函數(shù)定義處通過(guò)宏定義的方式進(jìn)行申明,就會(huì)在系統(tǒng)啟動(dòng)過(guò)程中被執(zhí)行。這篇文章就來(lái)探索一其中的奧秘, 簡(jiǎn)單理解其原理!
    的頭像 發(fā)表于 12-16 09:33 ?1018次閱讀
    自動(dòng)<b class='flag-5'>初始化</b>機(jī)制原理詳解

    阻止RAM初始化文件

    嗨,大家好我對(duì)Xilinx上的RAM有疑問(wèn)。我正在尋找電路上給定Block RAM的VHDL描述,在那里我可以直接將內(nèi)存初始化文件的鏈接
    發(fā)表于 05-08 14:38

    電源關(guān)閉幾秒后,Ram數(shù)據(jù)不會(huì)初始化

    電源關(guān)閉幾秒后,Ram數(shù)據(jù)不會(huì)初始化以上來(lái)自于谷歌翻譯以下為原文 Ram data not init after power off for seconds
    發(fā)表于 07-10 14:03

    s32k146如何初始化RAM?

    我在當(dāng)前項(xiàng)目中使用 s32k146。因?yàn)槲倚枰?b class='flag-5'>初始化 RAM,除了上電復(fù)位之外的每次復(fù)位的特定部分。(On Power On Reset 應(yīng)初始化所有數(shù)據(jù))。有什么辦法可以做到這一點(diǎn)嗎?
    發(fā)表于 03-31 07:36

    手機(jī)模塊初始化向?qū)?/a>

    手機(jī)模塊初始化向?qū)?為了剛好的對(duì)手機(jī)模塊進(jìn)行初始化,所以把最基本的向?qū)?xiě)下來(lái).本向?qū)нm用于本公司的西門子TC35I和華為GT9000模塊。一、在初始化手機(jī)模塊前,請(qǐng)先確定DT
    發(fā)表于 09-18 09:41 ?17次下載

    RDA1846S初始化設(shè)置

    RDA1846S初始化設(shè)置RDA1846S初始化設(shè)置RDA1846S初始化設(shè)置
    發(fā)表于 01-15 17:08 ?0次下載

    UCOS_III_配置與初始化

    UCOS_III_配置與初始化
    發(fā)表于 12-20 22:53 ?5次下載

    HX711初始化程序

    這是HX711的初始化程序
    發(fā)表于 02-08 01:51 ?90次下載

    ds1302時(shí)鐘芯片初始化,自動(dòng)決定DS1302是否需要初始化程序

    ds1302芯片時(shí)鐘芯片大家都在問(wèn)到底需要不需要初始化?這篇文章將會(huì)給大家一個(gè)程序,可以自動(dòng)決定DS1302是否需要初始化。
    發(fā)表于 10-19 19:19 ?8547次閱讀

    uboot和內(nèi)核里phy的初始化_內(nèi)核里的雙網(wǎng)絡(luò)配置及phy的初始化

    uboot 和內(nèi)核里 phy 的初始化,以及內(nèi)核里的雙網(wǎng)絡(luò)配置及 phy 的初始化。 本文以盈鵬飛嵌入式的CoM-335x(基于AM335x)核心及網(wǎng)絡(luò)芯片LAN8720 為例,說(shuō)明修改步驟
    的頭像 發(fā)表于 05-17 08:19 ?1.2w次閱讀

    8253初始化程序分享_8253應(yīng)用案例

    本文首先介紹了8253概念及8253各通道的工作方式,其次詳細(xì)介紹了8253初始化要求及編程,最后用一個(gè)例子介紹了8253的初始化程序。
    發(fā)表于 05-23 15:52 ?2.2w次閱讀
    8253<b class='flag-5'>初始化</b>程序分享_8253應(yīng)用案例

    如何設(shè)置STM32單片機(jī)非初始化數(shù)據(jù)變量不被零初始化

    一些產(chǎn)品,當(dāng)系統(tǒng)復(fù)位后(非上電復(fù)位),可能要求保持住復(fù)位前RAM中的數(shù)據(jù),用來(lái)快速恢復(fù)現(xiàn)場(chǎng),或者不至于因瞬間復(fù)位而重啟現(xiàn)場(chǎng)設(shè)備。而keil mdk在默認(rèn)情況,任何形式的復(fù)位都會(huì)將RAM區(qū)的非
    發(fā)表于 01-02 15:56 ?8320次閱讀
    如何設(shè)置STM32單片機(jī)非<b class='flag-5'>初始化</b>數(shù)據(jù)變量不被零<b class='flag-5'>初始化</b>

    在51平臺(tái)初始化文件的引入導(dǎo)致全局變量無(wú)法初始化的問(wèn)題如何解決

    本文檔的主要內(nèi)容詳細(xì)介紹的是在51平臺(tái)初始化文件的引入導(dǎo)致全局變量無(wú)法初始化的問(wèn)題如何解決。
    發(fā)表于 08-20 17:31 ?0次下載
    在51平臺(tái)<b class='flag-5'>下</b><b class='flag-5'>初始化</b>文件的引入導(dǎo)致全局變量無(wú)法<b class='flag-5'>初始化</b>的問(wèn)題如何解決

    想要對(duì)RAM初始化該怎么操作

    RAM初始化并沒(méi)有那么神秘,如果是采用Xilinx的IP Core,只需提供一個(gè).coe文件,其內(nèi)容就是RAM初始值,只需要注意coe文件的格式就好,這里就不再贅述。
    的頭像 發(fā)表于 06-06 14:36 ?8709次閱讀

    C++之初始化列表學(xué)習(xí)的總結(jié)

    類中可以使用初始化列表對(duì)成員進(jìn)行初始化。
    的頭像 發(fā)表于 12-24 17:39 ?842次閱讀
    主站蜘蛛池模板: 国产学生在线播放精品视频| 日本妈妈在线观看中文字幕| 夜夜艹日日干| 看了n遍舍不得删的黄文| 中文字幕亚洲乱码熟女在线萌芽| 久久久免费观看| 99国产在线精品视频| 奇米网一区二区三区在线观看| wankz tv videos国产| 深夜释放自己污在线看| 国产亚洲欧美在线中文BT天堂网 | AV亚洲精品少妇毛片无码| 青草影院内射中出高潮-百度| 朝鲜美女bbwbbw撒尿| 性夜a爽黄爽| 精品久久久麻豆国产精品| 2020国产成人精品免费视频| 欧美成人中文字幕在线看| 国产成人无码精品久久久按摩 | 亚洲 日韩经典 中文字幕| 久久久国产精品免费A片3D| xxxxxl荷兰| 亚洲人美女肛交真人全程| 欧美视频毛片在线播放| 国产在线高清亚洲精品一区| 97成人碰碰在线人妻少妇| 色一欲一性一乱一区二区三区| 久久99r66热这里有精品| TUBE8最新日本护士| 亚洲午夜久久久久中文字幕 | 忘忧草研究所 麻豆| 久久天天躁狠狠躁夜夜躁| 国产SUV精品一区二区69| 亚洲综合中文| 天天躁日日躁狠狠躁午夜剧场| 六级黄色片| 精品久久免费观看| 宫交拔不出来了h黑人| 97精品国偷拍自产在线 | 国产成人精品久久一区二区三区| 中文字幕在线不卡日本v二区|