|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
上篇:FPGA ---- ROM/EPROM的设计(使用加载文件的方式初始化),提到了这篇博文中要用的方式初始化ROM,在代码中用case语句的方式,给一个地址,给一个数据。2 o: I5 h" ]3 l9 _1 f
/ ^/ G7 T( ~, ?# J3 v3 n4 v* K+ }. V
V7 d d, p5 w3 T1 T很容易,通过异步的方式来给出代码设计:0 `9 v- }" T& X( U; m$ u4 h& F) I
1 _7 a! i, G f) C! v
# D. o# U) ^- N0 R/ n1 G+ R- `timescale 1ns / 1ps
- //////////////////////////////////////////////////////////////////////////////////
- // Create Date: 2019/05/29 11:25:09
- // Design Name:
- // Module Name: rom_using_case
- //////////////////////////////////////////////////////////////////////////////////
- module rom_using_case (
- input [3:0] address , // Address input
- output reg [7:0] data , // Data output
- input read_en , // Read Enable
- input ce // Chip Enable
- );
- always @ (ce or read_en or address)
- begin
- case (address)
- 0 : data = 10;
- 1 : data = 55;
- 2 : data = 244;
- 3 : data = 0;
- 4 : data = 1;
- 5 : data = 8'hff;
- 6 : data = 8'h11;
- 7 : data = 8'h1;
- 8 : data = 8'h10;
- 9 : data = 8'h0;
- 10 : data = 8'h10;
- 11 : data = 8'h15;
- 12 : data = 8'h60;
- 13 : data = 8'h90;
- 14 : data = 8'h70;
- 15 : data = 8'h90;
- endcase
- end
- endmodule. b; ~$ N4 k5 N% T4 l
+ ?2 `8 H( c' h* ~
" b; Z# L( B) p1 J& c: s
" R' I" W {9 s o
4 t1 \: B: j9 F3 M6 G2 n" v% w3 P6 B( n* O6 N
仿真波形如下:/ X$ `4 V4 _$ W$ z9 N, l3 F
8 K x. H4 ~5 e1 K M- e1 B, R
3 V6 z) n6 o3 Q5 g9 v
% e% l }/ {# u9 D( i8 g4 @) ]. d* Y1 R. ? {- Y1 l, t8 _
7 r# X n/ ]0 `3 `8 Q. w9 Y& ^: f6 c9 T
& V% Z% [# E5 H t0 r }
: s; G) c2 p2 C0 @
: \9 z. f$ T; ^ s% A. X3 | o2 u
. w* G. |# Q% y+ I8 D$ y- b& N) i' u4 M" [9 P
|
|