ascii - 如何将 ASCII 码转换为 Verilog 语言中的字符
问题描述
我一直在研究这个,但搜索似乎一无所获。描述起来可能太简单了,但我在这里,挠头......任何帮助将不胜感激。
解决方案
Verilog 知道“字符串”。
单个 ASCII 字符需要 8 位。因此,要存储 8 个字符,您需要 64 位:
wire [63:0] string8;
assign string8 = "12345678";
有一些陷阱:
- 没有字符串结尾字符(如 C 空字符)
- 最多的 RHS 字符在位 7:0 中。
因此 string8[7:0] 将保持 8h'38。(“8”)。 - 要遍历字符串,您必须使用例如:
string[ index +: 8];
- 与所有 Verilog 向量分配一样:未使用的位因此设置为零
assign string8 = "ABCD"; // MS bit63:32 are zero
- 您不能使用二维数组:
wire [7:0] string5 [0:4]; assign string5 = "Wrong";
推荐阅读
- amazon-web-services - AWS 管理的区块链超级账本结构如何加入开源超级账本结构通道并查询链码?
- sqlite - Flutter - 使用来自 sqlite 数据库的建议自动完成文本字段
- r - 错误:当我想在 R 中的 facet_wrap 中进行注释时,美学必须是长度 1 或与数据 (1) 相同
- python - 查找四个用户输入的最大数字
- python - PIL Gif 生成未按预期工作
- node.js - 将 Redis 与 Docker 与 Bull 与 Throng 与 Node 连接起来
- json - 从雪花表中获取数据并将 JSON 值插入另一个雪花表中的 VARIANT 列
- symfony - 在 symfony 3 中插入多行很慢
- python - 如何在 Python 函数中提取变量的名称
- javascript - 无法让 localhost 模式在 split.io 中工作