hdl - AHDL dff 重置为其默认值
问题描述
我在 AHDL 上做变频时钟。算法是:一个计数器(触发器)从 0 计数到 x,当它达到 x - 我们有脉冲。我有另一个触发器,用于存储 X。此外,我有两个输入plus
,minus
用于更改频率(增加或减少 X 值)。
我有以下代码:
constant maximum = 9;
constant minimum = 1;
constant default = 5;
subdesign generator(
plus, minus, clk: input;
pulse, level[3..0], curr_val[3..0]: output;
)
variable
level[3..0]: dff;
curr_val[3..0]: dff;
begin
defaults
level[].d = default; % load 5 as default X value %
end defaults;
level[].clk = clk;
curr_val[].clk = clk;
pulse = (curr_val[] == level[]); % if main counter reached X - send one pulsation %
% main counter %
if curr_val[] < level[] then
curr_val[] = curr_val[] + 1;
elsif curr_val[] == level[] then
curr_val[] = 0;
end if;
% buttons %
if plus then
if (level[].q > minimum) then % if X == maximum ignore button %
level[].d = level[].q - 1;
end if;
end if;
if minus then
if (level[].q < maximum) then
level[].d = level[].q + 1;
end if;
end if;
end;
问题是 - 在我更改 X ( level[]
) 值一勾之后 - 它又回到默认值。我错过了什么吗?
由于标签错误,语法突出显示是错误的。% text %
是评论。
解决方案
发现了问题。defaults
如果未设置值,则该块每次都有效。所以,如果你想存储相同的值,你应该每次都设置它。
推荐阅读
- angular - 当名称更改每次构建时,Angular pm2 如何加载 outpudHashed main.8646asdasdas6d8468.js 文件?
- kubernetes - Kubernetes 的工作节点上没有临时存储资源
- python - 一个文件中的字典或数据框未从另一个文件更新
- office-js - 使用 OfficeJS 的 Excel 桌面版中的 Office 对话框 API 问题
- azure-application-insights - 跨多个应用程序见解的 Azure Query,同时联合所有不同类型
- python - 有一个创建新命令 discord.py 的命令
- reactjs - State React 中没有价值
- java - 如何将 UriComponentsBuilder 中的 .csv 文件作为查询参数传递
- javascript - DevTools 无法在 noty.js.map 中加载 SourceMap
- javascript - Google Chrome 扩展 JS 无法按预期运行