- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 Spartan 6 上编写类似总线的 i2c 代码。我有很多状态,我使用以下计数器进行计时。
-- Timer --
TimesUp <= true when TmrCnt = 0 else
false when TmrCnt /= 0 else
false;
tmrProc: process(ClkxC, SetTmr, TmrInit)
begin
if (rising_edge(ClkxC)) then
if (SetTmr = '1') then
TmrCnt <= TmrInit;
elsif (TmrCnt > 0) then
TmrCnt <= TmrCnt - 1;
end if;
end if;
end process;
问题是我的状态机在同一个时钟上计时,并且在某些短持续时间的状态下它只是爆炸,就好像计时器没有及时设置一样。
所以我尝试了这个:
-- Timer --
TimesUp <= true when TmrCnt = 0 else
false when TmrCnt /= 0 else
false;
tmrProc: process(ClkxC, SetTmr, TmrInit)
begin
if (SetTmr = '1') then
TmrCnt <= TmrInit;
elsif (rising_edge(ClkxC)) then
if (TmrCnt > 0) then
TmrCnt <= TmrCnt - 1;
end if;
end if;
end process;
现在它模拟得很好,但是当我尝试实现时,我收到一条错误消息:
This design contains one or more registers/latches that are directly
incompatible with the Spartan6 architecture. The two primary causes of this is
either a register or latch described with both an asynchronous set and
asynchronous reset, or a register or latch described with an asynchronous
set or reset which however has an initialization value of the opposite
polarity (i.e. asynchronous reset with an initialization value of 1).
我真的不知道如何在不破坏斯巴达 6 规则的情况下使计时器加载得足够快。
最佳答案
该警告已在 Xilinx WP309 Targeting and Retargeting Guide for Spartan-6 FPGAs 中明确描述。 [P9-11]。
To reduce cost of the overall architecture, slices in Spartan-6 FPGAs do not have a REV
pin. As a result, flip-flops no longer implement both a set signal and a reset signal. In
addition, a register with a set or reset signal can only have an initialization value of
the same polarity. For example, a flip-flop with an asynchronous reset can only have an
initialization value of 0.
也就是说,使用 Xilinx Spartan-6 FPGA 时不推荐使用以下类型的寄存器/锁存器:
______|______
| Set |
| |
---| D Q |--- -- 1. a register/latch with both ASYNCHRONOUS
| _ | set and reset signals
---|>Clk Q |o-- -- NOT RECOMMENDED
| |
| Reset |
|___________|
|
-- 2. a register/latch described with an ASYNCHRONOUS set/reset which
however has an initialization value of the opposite polarity
-- The default value of reg is 0 which is the left
-- bound value of the integer type definition.
signal reg: integer range 0 to 7; <-----
|
process (clk, reset) |___ opposite
begin | NOT RECOMMENDED
if (reset = '0') then |
reg <= 7; <-----
elsif ( rising_edge(clk) ) then
reg <= val;
end if;
end process;
Xilinx 推荐的解决方案:
1. Remove either the set or reset from all registers and latches
if not needed for required functionality
2. Modify the code in order to produce a synchronous set and/or
reset (both is preferred)
3. Ensure all registers have the same initialization value as the
described asynchronous set or reset polarity
4. Use the -async_to_sync option to transform the asynchronous
set/reset to synchronous operation
(timing simulation highly recommended when using this option)
在您的设计中,您可以将 TmrCnt
初始化为 TmrInit
或向上计数 TmrCnt
。
关于simulation - VHDL定时器同步/异步加载速度问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18881793/
如何从 tvOS 模拟器卸载应用程序? 我已经尝试长按图标,但没有出现“关闭按钮”。 我知道,这是一个 Beta 版本,也许将来他们会实现类似 iOS 的功能。 谢谢你。 最佳答案 方法一 从主屏幕:
我在IOS 8的Xcode-6 Beta中找不到新模拟器数据的目录 它不在 〜/图书馆/应用程序支持/ iPhone模拟器/ Where does the iPhone Simulator store
苹果的Whats new in Xcode 9声明我们可以录制模拟器视频。如何做到这一点? 最佳答案 使用命令行截取屏幕截图或录制视频: 在模拟器中启动您的应用。 打开终端。 要截取屏幕截图,请使用屏
我想构建一个通过 wifi 网络与其他设备通信的应用程序。因为我没有两台真正的 iOS 设备,所以我想在虚拟网络中连接两个 iOS 模拟器。起初我不知道如何/是否可以同时运行两个模拟器,其次我不知道如
我正在尝试模拟鼠标在窗口上的点击。我目前成功地执行了如下操作(我使用的是 Python,但它应该适用于一般的 win32): win32api.SetCursorPos((x,y)) win32api
我想在 ios6 和 ios7 模拟器上运行我的应用程序。我正在尝试安装 ios 6 模拟器,但收到此错误: Failed to install "iOS 6.1 Simulator" An unkn
尽管在实际设备上一切正常,但我想知道为什么从不回调代理 在 iOS 13 beta 5 上的模拟器上? 我在互联网上搜索了答案,但一无所获。 我为协议(protocol)实现了 3 个功能,如下所示:
在我的代码中,我犯了一些错误,将 NSNumber 分配给 NSString: self.totalLikesLabel.text=[user objectForKey:@"totalLikes"];
我使用的是 Xcode 6.1 和 iOS Simulator 8.1。运行我使用 iOS 模拟器编写的简单应用程序需要很长时间。构建过程没问题,但 iOS 模拟器将在应用程序启动前 5 分钟显示黑色
这个问题在这里已经有了答案: Is there a way to simulate multiple iphones using xcode/iphone sim? (10 个回答) 7年前关闭。 我
我旧安装的 Xcode 完全可以正常工作,但我尝试升级 Xcode 以使用 iOS 6,所以我在 Mac App Store 中下载了新版本,但我的 iOS 模拟器现在停止工作了,他告诉我他不能找到S
使用新的 Xcode 6,有时当我在模拟器之间切换时 - 我收到错误消息“模拟器正在使用 - 模拟器无法启动,因为它已经在使用中”。但是,模拟器未在使用中 - 我也没有在事件监视器中看到它。克服这个问
Iam running the latest OSX/Flutter/XCode Versions using flutter, android studio and firebase and
我已将 xcode 更新到 12.3,我收到了新错误。 找不到目标“arm64-apple-ios-simulator”的模块“Alamofire”;找到:x86_64-apple-ios-simul
xcode 9模拟器报错unable to boot the simulator launchd failed to respond mac os sierra 我试过从派生数据中删除内容、重新启动
更新到 Xcode 12 后,项目在模拟器上构建时给了我这个错误: Could not find module 'FrameworkName' for target 'arm64-apple-ios-
我正在尝试在 Windows PC 中使用 IOS Simulator/Emulator 或 iOS SDK 进行移动应用程序测试。是否可以在 Windows PC 中安装 IOS Simulator
我有一个关于如何在 Simpy 中调试的一般性问题。普通的调试工具似乎不起作用,因为一切都在事件循环中运行,您无法逐行检查代码并检查任何时间点存在的内容。 主要是,我感兴趣的是查找在特定时间存在哪些类
在我的模型中,我使用了一个使用自由导航的运输车。如果它是正确的,那么运输车就不能穿墙,奇怪的是在我的模型中,运输车在某一时刻以某种方式能够穿墙? 当我检查模拟时,他在红色圆圈部分的某处滑过墙。 (看截
我是编程新手,我想编写一个程序(仅供自用),每次运行时都会重复一组预设的键盘操作,谁能给我一些建议?是否有任何应用程序可以做到这一点? 最佳答案 有各种各样的程序可以满足您的需求。如果您使用的是 Wi
我是一名优秀的程序员,十分优秀!