完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我并不完全确定,但我的直觉是2049位信号会使100MHz的时序变得非常困难,即使它的操作相当简单。
我不确定你的意思是“4x48进程”。 4 * 48只有192位,如果不知道你打算在它们上运行什么进程,那么回答你的问题是不合理的。 如果利用率不是太高,简单的分配过程可能很好地满足时间要求。 另一方面,“天真”的48位整数除法在任何情况下都不会满足时序 - 我怀疑即使在10MHz / 100ns时也会失败时序,以及占用整个芯片。 在原帖中查看解决方案 |
|
|
|
这是一个无法回答的问题。
从语言语法的角度来看,没有(实际)限制 - 模拟和综合工具都应该能够接受任意数量的这些。 从时间的角度来看,它完全取决于if条件表达式和实体中的内容。 取决于它们是什么,两个可能太多或几十个可能。 此外,这不是你应该问的问题。 在相对较少的情况下,你应该有很多嵌套的if / elsif结构 - 这通常是一个糟糕的编码结构和一个糟糕的架构。 如果你真的有很多条件 - 至少考虑一个案例陈述(编码风格)。 但即便如此,如果您尝试做很多不同的事情,您应该找到一种方法将设计划分为更简单/更逻辑/更可调试/更易于管理的东西...... 为什么你会关注“正半时钟”? 在同步设计中,大多数计算应该在单个时钟域上完成,因此应该具有传播的整个时钟周期...... Avrum |
|
|
|
感谢您的回复...
我是使用FPGA的新手,实际上我需要在正半周期中比较24条件,并且需要在负半周期中使用条件输出,因为我只有10 ns来执行此操作...还有24 比较使用in case语句(总案例是48)所以,只有我使用嵌套if,....除了任何其他有效的方式将有意味着友好分享.... 详细.. 方法-1 在时钟的上升边缘 案件 () 当“000000”=>时 ......如果a ='0'那么 b 。 当“000010”=>时 。 。 。 。 当“101111”=>时 -------------------------------------------------- --------- 方法-2 在时钟的下降边缘 ram(addr) |
|
|
|
这段代码的复杂性看起来并不太高(但很难从中推断出来)。
当然,真正的答案是对其进行编码并尝试合成它 - 该工具会告诉您它是通过还是失败(或者是否接近)。 我更大的问题是为什么你要在时钟的负边缘做任何事情? 虽然架构和工具肯定支持它,但它有点不寻常 - 大多数同步设计仅在时钟的上升沿运行(尽管 - 一如既往 - 有例外)。 Avrum |
|
|
|
嗨..我正在声明像信号下面的信号buf:std_logic_vector(2048 downto 0);这个信号我需要在4x48进程中读取......是否有可能..
|
|
|
|
我并不完全确定,但我的直觉是2049位信号会使100MHz的时序变得非常困难,即使它的操作相当简单。
我不确定你的意思是“4x48进程”。 4 * 48只有192位,如果不知道你打算在它们上运行什么进程,那么回答你的问题是不合理的。 如果利用率不是太高,简单的分配过程可能很好地满足时间要求。 另一方面,“天真”的48位整数除法在任何情况下都不会满足时序 - 我怀疑即使在10MHz / 100ns时也会失败时序,以及占用整个芯片。 |
|
|
|
感谢您的回复.....实际上“信号buf:std_logic_vector(2047 downto 0);”我将使用如下代码..在此我需要知道以下几点...我在此附上了综合实例
log 1.kindly说为什么它给出了这么多的实例.. 2.这么多..if ..elif ...条件在100mhz时钟工作与否3.信号“buf”我可以在下面使用如过程-1在上升边缘 of clockif control_bit ='1'then if addr if .if buf(addr)='1'然后如果buf(addr + 1)='0'则b elsif buf(addr + 2)='0'则b。 。 。 。 。 elsif buf(addr + 23)='0'然后b else b结束if; 否则b结束; 如果addr addr:= addr + 1; else addr:= 0; 万一; 万一; 万一; 万一; 结束过程; ----------------------------------------------- ------------ process-2In在clockram的下降沿(addr).-------------------------- -------------------------------------------------- -------------------------------------------------- --------------------------------------综合报告日志--------- -------------------------------------------------- ----------------------完成的RTL优化阶段2:时间:cpu = 00:01:50; 逝去了= 00:01:54 内存(MB):峰值= 607.035; gain = 428.465 ----------------------------------------------- ----------------------------------报告RTL分区:+ ------ + ---- ---------- + ------------ + ---------- + | | RTL分区|复制|实例| + ------ + -------------- + ------------ + ------ ---- + | 1 | read__GCB0 | 1 | 29561 || 2 | read__GCB1 | 1 | 18504 || 3 | read__GCB2 | 1 | 18652 || 4 | read__GCB3 | 1 | 35917 || 5 | read__GCB4 | 1 | 12406 | + ------ + -------------- + ------------ + ---------- + - -------------------------------------------------- ------------------------------完成跨境优化:时间:cpu = 00:01:58; 逝去了= 00:02:16。 记忆(MB):峰值= 628.395; gain = 449.824 ----------------------------------------------- ----------------------------------完成并行重新参考:时间:cpu = 00:01:58 ; 逝去了= 00:02:16。 记忆(MB):峰值= 628.395; 增益= 449.824报告RTL分区:+ ------ + -------------- + ------------ + ------- --- + | | RTL分区|复制|实例| + ------ + -------------- + ------------ + ------ ---- + | 1 | read__GCB0 | 1 | 29561 || 2 | read__GCB1 | 1 | 18504 || 3 | read__GCB2 | 1 | 18652 || 4 | read__GCB3 | 1 | 35893 || 5 | read__GCB4 | 1 | 12406 | + ------ + -------------- + ------------ + ---------- + - -------------------------------------------------- ------------------------------完成区域优化:时间:cpu = 00:02:03; 逝去了= 00:02:54。 内存(MB):峰值= 682.051; gain = 503.480 ----------------------------------------------- ----------------------------------完成并行区域优化:时间:cpu = 00:02: 03; 逝去了= 00:02:54。 内存(MB):峰值= 682.051; gain = 503.480Report RTL Partitions:+ ------ + -------------- + ------------ + ------- --- + | | RTL分区|复制|实例| + ------ + -------------- + ------------ + ------ ---- + | 1 | read__GCB0 | 1 | 29561 || 2 | read__GCB1 | 1 | 18424 || 3 | read__GCB2 | 1 | 1806 || 4 | read__GCB3 | 1 | 36114 || 5 | read__GCB4 | 1 | 12406 | + ------ + -------------- + ------------ + ---------- + - -------------------------------------------------- ------------------------------完成时间优化:时间:cpu = 00:02:19; 逝去了= 00:03:10。 记忆(MB):峰值= 838.758; gain = 660.188 ----------------------------------------------- ----------------------------------报告RTL分区:+ ------ + ---- ---------- + ------------ + ---------- + | | RTL分区|复制|实例| + ------ + -------------- + ------------ + ------ ---- + | 1 | read__GCB0 | 1 | 7021 || 2 | read__GCB1 | 1 | 5627 || 3 | read__GCB2 | 1 | 1806 || 4 | read__GCB3 | 1 | 20990 || 5 | read__GCB4 | 1 | 3830 | + ------ + -------------- + ------------ + ---------- + |
|
|
|
感谢您的回复.....实际上“信号buf:std_logic_vector(2047 downto 0);”我将使用如下代码..在此我需要知道以下几点...我在此附上了综合实例
log 1.kindly说为什么它给出了这么多的实例.. 2.这么多..if ..elsif ..条件在100mhz时钟工作与否3.信号“buf”我可以在下面使用像建筑行为的读取过程 -1在clockif的上升沿control_bit ='1'如果addr if .if buf(addr)='1'则if buf(addr + 1)='0'则b elsif buf(addr + 2)='0 '然后b。 。 。 。 。 elsif buf(addr + 23)='0'然后b else b结束if; 否则b结束; 如果addr addr:= addr + 1; else addr:= 0; 万一; 万一; 万一; 万一; 结束过程; ----------------------------------------------- ------------ process-2In在clockram的下降沿(addr).-------------------------- -------------------------------------------------- -------------------------------------------------- --------------------------------------综合报告日志--------- -------------------------------------------------- ----------------------完成的RTL优化阶段2:时间:cpu = 00:01:50; 逝去了= 00:01:54 内存(MB):峰值= 607.035; gain = 428.465 ----------------------------------------------- ----------------------------------报告RTL分区:+ ------ + ---- ---------- + ------------ + ---------- + | | RTL分区|复制|实例| + ------ + -------------- + ------------ + ------ ---- + | 1 | read__GCB0 | 1 | 29561 || 2 | read__GCB1 | 1 | 18504 || 3 | read__GCB2 | 1 | 18652 || 4 | read__GCB3 | 1 | 35917 || 5 | read__GCB4 | 1 | 12406 | + ------ + -------------- + ------------ + ---------- + - -------------------------------------------------- ------------------------------完成跨境优化:时间:cpu = 00:01:58; 逝去了= 00:02:16。 记忆(MB):峰值= 628.395; gain = 449.824 ----------------------------------------------- ----------------------------------完成并行重新参考:时间:cpu = 00:01:58 ; 逝去了= 00:02:16。 记忆(MB):峰值= 628.395; 增益= 449.824报告RTL分区:+ ------ + -------------- + ------------ + ------- --- + | | RTL分区|复制|实例| + ------ + -------------- + ------------ + ------ ---- + | 1 | read__GCB0 | 1 | 29561 || 2 | read__GCB1 | 1 | 18504 || 3 | read__GCB2 | 1 | 18652 || 4 | read__GCB3 | 1 | 35893 || 5 | read__GCB4 | 1 | 12406 | + ------ + -------------- + ------------ + ---------- + - -------------------------------------------------- ------------------------------完成区域优化:时间:cpu = 00:02:03; 逝去了= 00:02:54。 内存(MB):峰值= 682.051; gain = 503.480 ----------------------------------------------- ----------------------------------完成并行区域优化:时间:cpu = 00:02: 03; 逝去了= 00:02:54。 内存(MB):峰值= 682.051; gain = 503.480Report RTL Partitions:+ ------ + -------------- + ------------ + ------- --- + | | RTL分区|复制|实例| + ------ + -------------- + ------------ + ------ ---- + | 1 | read__GCB0 | 1 | 29561 || 2 | read__GCB1 | 1 | 18424 || 3 | read__GCB2 | 1 | 1806 || 4 | read__GCB3 | 1 | 36114 || 5 | read__GCB4 | 1 | 12406 | + ------ + -------------- + ------------ + ---------- + - -------------------------------------------------- ------------------------------完成时间优化:时间:cpu = 00:02:19; 逝去了= 00:03:10。 记忆(MB):峰值= 838.758; gain = 660.188 ----------------------------------------------- ----------------------------------报告RTL分区:+ ------ + ---- ---------- + ------------ + ---------- + | | RTL分区|复制|实例| + ------ + -------------- + ------------ + ------ ---- + | 1 | read__GCB0 | 1 | 7021 || 2 | read__GCB1 | 1 | 5627 || 3 | read__GCB2 | 1 | 1806 || 4 | read__GCB3 | 1 | 20990 || 5 | read__GCB4 | 1 | 3830 | + ------ + -------------- + ------------ + ---------- + |
|
|
|
只有小组成员才能发言,加入小组>>
2388 浏览 7 评论
2803 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2270 浏览 9 评论
3338 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2438 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
767浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
551浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
385浏览 1评论
1974浏览 0评论
691浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 18:00 , Processed in 1.708379 second(s), Total 92, Slave 76 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号