sam716
@sam7165053
Reviews Written
1
Average Rating
5.0
Posts
Q&A
BRAM read์ ๊ดํ์ฌ
๊ทธ ๋ถ๋ถ์ ์ดํดํ์ต๋๋ค ๊ฐ์ฌํฉ๋๋ค.`timescale 1ns / 1psmodule sram_16x8(addr, clk, din, dout, we);parameter addr_width = 4, word_depth = 16, word_width = 8;input [addr_width-1:0] addr ;input [word_width-1:0] din ;output [word_width-1:0] dout ;input clk, we ;reg [word_width-1:0] mem [0:word_depth-1];reg [word_width-1:0] dout;//Writealways @(posedge clk) beginif(!we)mem[addr] end//Readalways @(posedge clk) beginif(we)dout ํ์ง๋ง ์์ ๊ฐ์ด dut๋ฅผ ์ค๊ณํ์ ๋,(์ฌ์ง)์์ ์ฝ๋๋๋ก๋ผ๋ฉด, โ ์์ addr์ 1๊ณผ we์ 1์ ์ฑ๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก โก๊ตฌ๊ฐ์ dout์ด mem[1] = 1์ด์ฌ์ผํ๋ค๊ณ ์๊ฐํ์ง๋ง, โก๊ตฌ๊ฐ์ dout์ด mem[0] = 0์ด ๋์์ต๋๋ค.read๋ฅผ ํ ๋๋ clock์ ๋๊ธฐํ๋ผ์ ๋ํ๋์ผํ๋ค๊ณ ์๊ฐํ๋๋ฐ ์ async ์ฒ๋ผ ๋์ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ps) ๋ค๋ฅธ dut ์์ฑ์ ํ์ง ์๊ณ , address๋ ์๋์ ๊ฐ์ด testbench์์ ์ง์ ๋ฃ์ด์ฃผ์์ต๋๋ค.@(posedge clk); addr = 0; @(posedge clk); addr = 1; @(posedge clk); addr = 2; @(posedge clk); addr = 3; @(posedge clk); addr = 4;
- 1
- 2
- 979
Q&A
๊ฐ๋ ์ง๋ฌธ๋๋ฆฝ๋๋ค ๋ง๋น๋.
(์ฌ์ง) ์๋ ํ์ธ์ ๋ง๋น๋! ์ฌ์ค ์ข ๋ ํท๊ฐ๋ ค์ ์์ดํจ๋์ ์จ์ ์ง๋ฌธํด๋ด ๋๋ค! ๊ณต๊ฐ์ง๋ฌธํ์ ๋ ๊ด์ฐฎ์ต๋๋ค! ์ด๋ ๊ฒ ์ง๋ฌธํ๋ฉด ํน์ ์ดํดํ์ค๊น์..?
- 3
- 3
- 972




