|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
上篇:FPGA ---- ROM/EPROM的设计(使用加载文件的方式初始化),提到了这篇博文中要用的方式初始化ROM,在代码中用case语句的方式,给一个地址,给一个数据。
' u% v; l" z. K' O, A6 w
4 s3 t8 h; B! M4 R, W( y
) U' H% W( t$ i6 E6 n很容易,通过异步的方式来给出代码设计:/ V1 B- o0 @2 {4 d1 i3 [
5 W: H& H' k0 L& ?0 S' a( p
6 v8 `; @0 }( L- c' _- `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
5 N+ v! B6 `! v7 B
4 N2 _+ X2 I, B [$ {2 {$ `/ G2 G- X, e- k5 ]$ w# y! |, Z* h
5 R( R5 c. F6 K R8 ~( J" g8 ~2 ?9 e( E2 l
/ u- D: i9 C* s; y6 a! k
仿真波形如下:2 ]% p% F. L" e) K( @
' W8 R1 h1 v* J
7 G- N. W9 U' A" C4 X) d% z
; c% G4 o) F% B0 w: G
3 n% q+ K) y9 r# _. r% T! o I5 L, K- S
6 i; z. K" [4 z, @" \% y/ t0 D
: z2 t, W4 }* v4 I X" h! C3 ^. p' m, |
) S* H) G% u K* a7 b
' c* g5 n) Y2 b n. M- v0 X2 h# O( A- @; b: k/ t) K
|
|