在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4401|回复: 10

[求助] 请问verilog可以读xlsx文件吗?

[复制链接]
发表于 2023-3-16 21:05:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 调皮捣蛋 于 2023-3-16 21:06 编辑

请问verilog可以读xlsx文件吗?我试一下好像没读出来
是不能读还是我语法有错误?有没有试过的告诉我一下呗

哎,真是一个错误改一天
发表于 2023-3-16 21:52:43 | 显示全部楼层
可能的,但非常痛苦因为 xlsx 的底层是XML 非常复杂并且解析起来很烦人
但是,如果你将 xlsx 转变到 csv 然后你可以使用 $fopen/$fseek/$fgetc 直接读取文件
这个我以前做过,花了大约一天的时间
 楼主| 发表于 2023-3-16 23:00:48 | 显示全部楼层


xiaoxiaochen 发表于 2023-3-16 21:52
可能的,但非常痛苦因为 xlsx 的底层是XML 非常复杂并且解析起来很烦人
但是,如果你将 xlsx 转变到 csv 然 ...


感谢回帖
发表于 2023-3-17 03:23:42 | 显示全部楼层
本帖最后由 轩辕志瑜 于 2023-3-17 03:24 编辑


您好,这是必应。根据我的搜索结果123,我找到了一些用verilog读写csv文件的示例代码,您可以参考一下:

这是一个用verilog读取csv文件中的正弦和余弦数据,并将其转换为二进制数的代码1:




  1. module sin_cos_lut(
  2.     input clk,
  3.     input rst,
  4.     input [10:0] angle,
  5.     output reg signed [17:0] sin_out,
  6.     output reg signed [17:0] cos_out
  7. );

  8. reg signed [17:0] sin_lut[0:2047];
  9. reg signed [17:0] cos_lut[0:2047];

  10. integer file_id;
  11. integer i;
  12. integer status;

  13. initial begin
  14.   file_id = $fopen("sincos.csv", "r");
  15.   if (file_id == 0) begin
  16.     $display("Error opening file");
  17.     $finish;
  18.   end
  19.   for (i = 0; i < 2048; i = i + 1) begin
  20.     status = $fscanf(file_id, "%d,%d\n", sin_lut[i], cos_lut[i]);
  21.     if (status == -1) begin
  22.       $display("Error reading file");
  23.       $finish;
  24.     end
  25.   end
  26. end

  27. always @(posedge clk) begin
  28.   if (rst) begin
  29.     sin_out <= 18'd0;
  30.     cos_out <= 18'd0;
  31.   end else begin
  32.     sin_out <= sin_lut[angle];
  33.     cos_out <= cos_lut[angle];
  34.   end
  35. end

  36. endmodule


复制代码


这是一个用verilog写入csv文件中的计数器值的代码2:




  1. module counter # (
  2.    parameter BITS = 8;
  3. ) (
  4.    input wire clock,
  5.    input wire reset,
  6.    output reg [BITS-1 : 0] count
  7. );

  8. integer file_id;

  9. initial begin
  10.    file_id = $fopen("counter.csv", "w");
  11.    if (file_id == 0) begin
  12.       $display("Error opening file");
  13.       $finish;
  14.    end   
  15. end

  16. always @(posedge clock) begin
  17.    if (reset) begin
  18.       count <= {BITS{1'b0}};
  19.    end else begin
  20.       count <= count + {BITS{1'b1}};
  21.       // write the counter value to the csv file with a newline character at the end
  22.       $fputc(file_id, "%d\n", count);
  23.    end   
  24. end

  25. endmodule


复制代码



发表于 2023-3-17 08:31:27 | 显示全部楼层


轩辕志瑜 发表于 2023-3-17 03:23
您好,这是必应。根据我的搜索结果123,我找到了一些用verilog读写csv文件的示例代码,您可以参考一下:

...


chatGPT牛X!!!
发表于 2023-3-17 08:54:18 | 显示全部楼层


pandaroy 发表于 2023-3-17 08:31
chatGPT牛X!!!


这是BingGPT不是ChatGPT, 虽然都是用GPT-3.5的模型但前者可以联网找资料后者不能联网。
 楼主| 发表于 2023-3-17 11:27:59 | 显示全部楼层


轩辕志瑜 发表于 2023-3-17 03:23
您好,这是必应。根据我的搜索结果123,我找到了一些用verilog读写csv文件的示例代码,您可以参考一下:

...


哈哈 我还没反应过来这是GPT
发表于 2023-3-17 13:19:40 | 显示全部楼层


轩辕志瑜 发表于 2023-3-17 08:54
这是BingGPT不是ChatGPT, 虽然都是用GPT-3.5的模型但前者可以联网找资料后者不能联网。
...


bing接入的应该就是ChatGPT吧,好像new bing已经接入ChatGPT-4.0了?具体的我也不了解hhh
发表于 2023-3-17 13:21:23 | 显示全部楼层


轩辕志瑜 发表于 2023-3-17 08:54
这是BingGPT不是ChatGPT, 虽然都是用GPT-3.5的模型但前者可以联网找资料后者不能联网。
...


我明白了,GPT是底层模型,不管是chatGTP还是bing,都只是接口不一样,对吧大佬
发表于 2023-3-17 14:43:18 | 显示全部楼层
没想到chatgpt这么牛逼
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-5-16 03:47 , Processed in 0.026045 second(s), 7 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表