quartus之ram的IP測試

2022-09-02 19:21:09 字數 3373 閱讀 4335

ram,讀取儲存器,用於儲存資料。基本的原理就是使用時鐘驅動時序,利用位址區分位置,使用使能控制寫入。輸出的結果以寫入的位寬輸出。

頂層**:

module

ram(

input

clk,

input

rst_n,

output [7:0

] q);

reg [7:0

] address;

reg [7:0

] data;

always@(posedge clk)begin

if(!rst_n)begin

address

<=8

'd0;

data<=8

'd0;

endelse

if(address<8

'd100)begin

address<=address+1

'b1;

data<=address;

endend

ram_ip u1(

.address(address),

.clock(clk),

.data(data),

.wren(rst_n),

.q(q)

);endmodule

ram_ip是quartus中直接呼叫ip得到的檔案,ip的所有設定均為預設。

測試檔案:

`timescale 1ns/1ns

module

ram_tb;

regclk;

regrst_n;

wire [7:0

] q;

initial

begin

clk<=1

'b0;

rst_n<=1

'b0;

endalways #10 clk<=~clk;

initial

begin

$monitor($

time,,"

q=%h

",q);

#20rst_n

<=1

'b1;

#10000

$stop;

endram u1_tb(

.clk(clk),

.rst_n(rst_n),

.q(q)

);endmodule

這個是測試的激勵檔案,採用變數監測的方式得到想要的結果。

0 q=00

30 q=xx

50 q=00

90 q=01

110 q=02

130 q=03

150 q=04

170 q=05

190 q=06

210 q=07

230 q=08

250 q=09

270 q=0a

290 q=0b

310 q=0c

330 q=0d

350 q=0e

370 q=0f

390 q=10

410 q=11

430 q=12

450 q=13

470 q=14

490 q=15

510 q=16

530 q=17

550 q=18

570 q=19

590 q=1a

610 q=1b

630 q=1c

650 q=1d

670 q=1e

690 q=1f

710 q=20

730 q=21

750 q=22

770 q=23

790 q=24

810 q=25

830 q=26

850 q=27

870 q=28

890 q=29

910 q=2a

930 q=2b

950 q=2c

970 q=2d

990 q=2e

1010 q=2f

1030 q=30

1050 q=31

1070 q=32

1090 q=33

1110 q=34

1130 q=35

1150 q=36

1170 q=37

1190 q=38

1210 q=39

1230 q=3a

1250 q=3b

1270 q=3c

1290 q=3d

1310 q=3e

1330 q=3f

1350 q=40

1370 q=41

1390 q=42

1410 q=43

1430 q=44

1450 q=45

1470 q=46

1490 q=47

1510 q=48

1530 q=49

1550 q=4a

1570 q=4b

1590 q=4c

1610 q=4d

1630 q=4e

1650 q=4f

1670 q=50

1690 q=51

1710 q=52

1730 q=53

1750 q=54

1770 q=55

1790 q=56

1810 q=57

1830 q=58

1850 q=59

1870 q=5a

1890 q=5b

1910 q=5c

1930 q=5d

1950 q=5e

1970 q=5f

1990 q=60

2010 q=61

2030 q=62

2050 q=63** note: $stop : d:/library/fpga_altera/a3_ram/ram_tb.v(20

) time:

10020 ns iteration: 0 instance: /ram_tb

資料比較多,通過儲存器的檢視檢視:

從前面的30ns時q的值為xx的情況可以看出,在乙個完整的時鐘週期內,如果wren發生了變化,讀取的資料也將不確定。這也是非同步時序的缺點,容易出現未知情況。如果使能訊號為同步時序,則可以有效避免。

ram還是使用的比較多的ip,一般的設計中需要處理大量的資料時,一般會採用ram來完成。與之相似的還有rom,其值是直接配置好後讀取的,無法寫入,具體的操作和ram類似。rom資料的配置檔案可以了解一下。

如何固定Linux系統的IP位址 親測有效

今天想連線winscp,發現連不上,原來linux系統的ip位址變了,為了避免ip位址的變動,我就想固定ip位址 1 輸入ifconfig 如果centos是最小化安裝,是沒有ifconfig命令的 或ip addr 可以檢視網路相關配置資訊 2 輸入 vi etc sysconfig networ...

測開之 python的虛擬環境

虛擬環境 virtual environment 它是乙個虛擬化,從電腦獨立開闢出來的環境。通俗的來講,虛擬環境就是借助虛擬機器docker來把一部分內容獨立出來,我們把這部分獨立出來的東西稱作 容器 在這個容器中,我們可以只安裝我們需要的依賴包,各個容器之間互相隔離,互不影響。譬如,本次學習需要用...

Nginx之 獲取客戶端的真實IP

為了獲取客戶端的真實ip。該模組需要安裝read ip模組,運維應該預設有安裝。沒有的話也可自行安裝 配置方式相當簡單,重新編譯 nginx 加上 with http realip module 引數,如 make install在server中增加 set real ip from 192.168...