Verilog快速入門
(1) 四選一多路器
(2)異步復(fù)位的串聯(lián)T觸發(fā)器
(3)奇偶校驗(yàn)
(4)移位運(yùn)算與乘法
(5)位拆分與運(yùn)算
(6)使用子模塊實(shí)現(xiàn)三輸入數(shù)的大小比較
(7)4位數(shù)值比較器電路
(8)4bit超前進(jìn)位加法器電路
(9)優(yōu)先編碼器電路①
(10)用優(yōu)先編碼器①實(shí)現(xiàn)鍵盤編碼電路
(11)8線-3線優(yōu)先編碼器
(12)使用8線-3線優(yōu)先編碼器實(shí)現(xiàn)16線-4線優(yōu)先編碼器
(13)用3-8譯碼器實(shí)現(xiàn)全減器
(14)使用3-8譯碼器①實(shí)現(xiàn)邏輯函數(shù)
(15)數(shù)據(jù)選擇器實(shí)現(xiàn)邏輯函數(shù)
(16)狀態(tài)機(jī)
(17)ROM的簡(jiǎn)單實(shí)現(xiàn)
一、題目描述
實(shí)現(xiàn)一個(gè)深度為8,位寬為4bit的ROM,數(shù)據(jù)初始化為0,2,4,6,8,10,12,14。可以通過(guò)輸入地址addr,輸出相應(yīng)的數(shù)據(jù)data。
接口信號(hào)圖如下:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-473992.html
輸入描述:
clk:系統(tǒng)時(shí)鐘
rst_n:異步復(fù)位信號(hào),低電平有效
addr:8bit位寬的無(wú)符號(hào)數(shù),輸入到ROM的地址
輸出描述:
data:4bit位寬的無(wú)符號(hào)數(shù),從ROM中讀出的數(shù)據(jù)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-473992.html
二、解析與代碼
`timescale 1ns/1ns
module rom(
input clk,
input rst_n,
input [7:0]addr,
output [3:0]data
);
reg [3:0] rom[7:0];
always@(posedge clk or negedge rst_n)begin
if(!rst_n)begin
rom[0] <= 4'd0;
rom[1] <= 4'd2;
rom[2] <= 4'd4;
rom[3] <= 4'd6;
rom[4] <= 4'd8;
rom[5] <= 4'd10;
rom[6] <= 4'd12;
rom[7] <= 4'd14;
end
else begin
rom[0] <= rom[0];
rom[1] <= rom[1];
rom[2] <= rom[2];
rom[3] <= rom[3];
rom[4] <= rom[4];
rom[5] <= rom[5];
rom[6] <= rom[6];
rom[7] <= rom[7];
end
end
assign data = rom[addr];
endmodule
到了這里,關(guān)于Verilog快速入門(17)—— ROM的簡(jiǎn)單實(shí)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!