26个字母大小写的ASCII码值

'0'=48;

小写:
a → 97,b → 98,c → 99,d → 100,e → 101,f → 102,
g → 103,h → 104,i → 105,j → 106,k → 107,l → 108,
m → 109,n → 110,o → 111,p→ 112,q → 113,r → 114,
s → 115,t → 116,u → 117,v → 118,w → 119,x → 120,y → 121,z → 122

大写:
A → 65,B → 66,C → 67,D → 68,E → 69,
F → 70,G → 71,H → 72,I → 73,J → 74,
K → 75,L → 76,M → 77,N → 78,O → 79,
P → 80,Q → 81,R → 82,S → 83,T → 84,
U → 85,V → 86,W → 87,X → 88,Y → 89,Z → 90

 大+32=小

在 VHDL 中,`BIT_VECTOR` 和 `STD_LOGIC_VECTOR` 是两种常见的向量类型,它们的赋规则有所不同,特别是在使用特殊字符(如 `'Z'` 或 `'X'`)时。 ### `BIT_VECTOR` 的赋规则 `BIT_VECTOR` 类型仅支持 `'0'` 和 `'1'` 两种逻辑,不能使用 `'Z'`、`X` 等其他特殊字符。例如,赋 `'1011'` 是合法的,而 `'1Z11'` 是非法的,会导致编译错误。这是因为 `BIT_VECTOR` 是基于 `BIT` 类型的数组,而 `BIT` 只能表示二进制逻辑 [^3]。 ```vhdl signal bv : BIT_VECTOR(3 downto 0); bv <= "1011"; -- 合法 -- bv <= "1Z11"; -- 非法,BIT_VECTOR 不支持 'Z' ``` ### `STD_LOGIC_VECTOR` 的赋规则 与 `BIT_VECTOR` 不同,`STD_LOGIC_VECTOR` 基于 `STD_LOGIC` 类型,支持多种逻辑状态,包括 `'0'`、`'1'`、`'Z'`、`'X'`、`'L'`、`'H'`、`'-'` 和 `'U'`。因此,`STD_LOGIC_VECTOR` 可以使用 `'Z'` 进行赋,例如 `'1Z11'` 是合法的。这种灵活性使其适用于更复杂的数字设计,尤其是在三态总线建模中 [^3]。 ```vhdl signal slv : STD_LOGIC_VECTOR(3 downto 0); slv <= "1Z11"; -- 合法 ``` ### 综合与仿真中的行为差异 在综合工具中,某些特殊字符(如 `'Z'`)可能仅在特定上下文中被接受。例如,当用于三态缓冲器建模时,`'Z'` 表示高阻态,综合工具会将其映射为三态逻辑。然而,某些形式验证工具(如 SymbiYosys 配合 Verific 前端)可能对动态范围赋或特殊字符的使用有更严格的限制,可能导致编译失败 [^2]。 ### 示例代 以下是一个使用 `STD_LOGIC_VECTOR` 并赋 `'1Z11'` 的完整示例: ```vhdl library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity test_vector is port ( output_vector : out STD_LOGIC_VECTOR(3 downto 0) ); end entity test_vector; architecture Behavioral of test_vector is signal internal_vector : STD_LOGIC_VECTOR(3 downto 0) := "1Z11"; begin output_vector <= internal_vector; end architecture Behavioral; ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值