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中该如何实现,即是把几十到几百个字节数据存起来,该怎么做?? 用RAM,初始化 ROM 初始化,把 mif文件加载进去,那些有rom做dds的人都是这样做的。 感谢,呵呵。
数据少点可以自己输进MIF文件里,如果是几百上千个字节,数据又没什么规律,怎么生成MIF文件方便点。 数据没有规律,随机数? 为啥一定要用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 mark 汉字点阵数据,是没啥规律。
程序要能综合出来,initial是不可综合的吧。 汉字点阵,lz是想把这个做死吗,就是不可以编程的,只有几个固定的字显示
要不然就搞个 mcu接口写入吧, mcu在和串口通信,或者直接fpga和串口通信写入到ram中。 先做个死的,行了再做活的,死的的搞不出来,活的更难了。
LZ有没有做过这方面的东西,给个意见啊。
感谢,呵呵。 至于那样的intial能不能综合,请仔细阅读Quartus手册。这种结构没道理不能综合的。 回复【9楼】WXing
先做个死的,行了再做活的,死的的搞不出来,活的更难了。LZ有没有做过这方面的东西,给个意见啊。感谢,呵呵。
-----------------------------------------------------------------------
大学的时候倒是玩过这个东西,做一个VB的客户端能够输入汉字,然后从汉字提取出点阵,然后发送给单片机,单片机扫描产生汉字。 单片机我会整,FPGA还没整出来。 很好,谢谢
页:
[1]