WXing 发表于 2009-12-23 10:36:07

FPGA初始化数组

在C语言中的数组,如:uchar table1[]={0x00,0x00,0xFC,0x0F,0x04,0x08,0x04,0x08,0xFC,0x0F,0x84,0x00,0x84,0x00,0xFC,0x3F,
0x04,0x01,0x04,0x01,0x04,0x02,0x04,0x02,0x24,0x24,0x14,0x28,0x0C,0x30,0x04,0x20};
到Verilog中该如何实现,即是把几十到几百个字节数据存起来,该怎么做??

roasn 发表于 2009-12-23 10:42:48

用RAM,初始化

Fourier00 发表于 2009-12-23 12:57:25

ROM 初始化,把 mif文件加载进去,那些有rom做dds的人都是这样做的。

WXing 发表于 2009-12-23 21:27:55

感谢,呵呵。
数据少点可以自己输进MIF文件里,如果是几百上千个字节,数据又没什么规律,怎么生成MIF文件方便点。

Fourier00 发表于 2009-12-23 21:51:50

数据没有规律,随机数?

minux 发表于 2009-12-23 23:47:40

为啥一定要用mif文件
直接这样不就可以初始化了:
reg ram;
initial begin
$readmemb("ram.txt", ram);
end
数据写到ram.txt里面。

要是rom更简单了,写个小程序,生成这样的代码片段即可:
module sync_rom (clock, address, data_out);
input clock;
input address;
output data_out;
reg data_out;
always @ (posedge clock) begin
    case (address)
          8'b00000000: data_out = 6'b101111;
          8'b00000001: data_out = 6'b110110;
          ...
          8'b11111110: data_out = 6'b000001;
          8'b11111111: data_out = 6'b101010;
    endcase
end
endmodule

pinocchio 发表于 2009-12-24 07:32:05

mark

WXing 发表于 2009-12-24 10:28:10

汉字点阵数据,是没啥规律。
程序要能综合出来,initial是不可综合的吧。

Fourier00 发表于 2009-12-24 12:55:45

汉字点阵,lz是想把这个做死吗,就是不可以编程的,只有几个固定的字显示
要不然就搞个 mcu接口写入吧, mcu在和串口通信,或者直接fpga和串口通信写入到ram中。

WXing 发表于 2009-12-24 15:49:30

先做个死的,行了再做活的,死的的搞不出来,活的更难了。
LZ有没有做过这方面的东西,给个意见啊。
感谢,呵呵。

minux 发表于 2009-12-24 16:26:43

至于那样的intial能不能综合,请仔细阅读Quartus手册。这种结构没道理不能综合的。

Fourier00 发表于 2009-12-24 20:26:54

回复【9楼】WXing
先做个死的,行了再做活的,死的的搞不出来,活的更难了。LZ有没有做过这方面的东西,给个意见啊。感谢,呵呵。
-----------------------------------------------------------------------

大学的时候倒是玩过这个东西,做一个VB的客户端能够输入汉字,然后从汉字提取出点阵,然后发送给单片机,单片机扫描产生汉字。

WXing 发表于 2009-12-25 10:14:57

单片机我会整,FPGA还没整出来。

此人较为厉害 发表于 2014-1-6 19:12:28

很好,谢谢
页: [1]
查看完整版本: FPGA初始化数组