目录
产生字模
字模的概念:
将一个字符用01表示出来,有数的地方为1.
图中选的是高位在前。
整理verilog能读入的格式
16bit为1个数据,并存放在文件中。可以存放在新建csdn.hex文件中。
//csdn.v
03E0
0C18
1004
1004
1004
1008
1C10
0000
0000
0E1C
1104
1084
1084
1044
1C38
0000
1004
1FFC
1004
1004
1004
0808
07F0
0000
1004
1FFC
0C04
0300
00E0
1018
1FFC
1000
读入文件,并且显示
`timescale 1 ns / 100 ps
module tb();
reg rst_n=0,clk_x2=0;
reg clk= 0;
reg[31:0]rand1;
always clk = #5 ~clk;
always @(posedge clk) rand1 <= {$random} % 100;
initial begin//复位
rst_n = 1'b0;
#30;
rst_n = 1'b1;
end
reg[15:0] memory [0:63];//
reg[7:0] n;
initial
begin
$readmemh("csdn.hex",memory);
for(n=0;n<=31;n=n+1)
$display("%h",memory[n]);
for(n=0;n<=31;n=n+1)
$display("%b",memory[n]);
end
reg [15:0] out =0;
reg [15:0] cnt =0;
always @(posedge clk or negedge rst_n) begin
if(~rst_n)
out <= 16'h0;
else
out <= memory[cnt];
end
always @(posedge clk or negedge rst_n) begin
if(~rst_n)
cnt <= 16'h0;
else if(cnt==16'd31)
cnt <= 16'd0;
else
cnt <= cnt+ 16'd1;
end
wire [15:0] char,char1 ,char_inv;
assign char= {16{clk==1'b0}} & out;
//加clk==1'b0 迎合人类的直觉,并且消毛刺,仅仅仿真
endmodule