use*_*795 12 ternary-operator vhdl
我喜欢三元运算符vs if子句的整洁.
该运算符是否存在于vhdl中?我的搜索恰恰相反.我还检查了when语句,但它不是运算符,我希望能够在进程中使用它...
EML*_*EML 12
没有.有人讨论过VHDL-2008,但没有进入.你有几个选择.如果您的工具支持VHDL-2008,则现在支持条件赋值作为顺序语句(它们之前只是并发),因此您可以编写如下内容:
process(clock)
begin
if rising_edge(clock) then
q <= '0' when reset else d; -- ie. much like q <= reset? '0':d;
end if;
end process;
Run Code Online (Sandbox Code Playgroud)
如果你还没有2008,那就写一个函数(q <= sel(reset, '0', d)).但是,您必须为您感兴趣的每种类型编写它.
Cal*_*dan 11
不是你喜欢的C/C++,但你可以使用:
destination <= signal1 when condition else signal2;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8088 次 |
| 最近记录: |