Electronics 板


LINE

一般我们都说Verilog中initial是"不能合成"的。 其是所谓的"不能合成",有两种意义,一种是"不可能合成", 另一种是"合成器不支援"。 "不支援"比起"不可能"还有周旋余地。 "不可能"把话说死了,即使未来的工艺技术(state of the art) 再怎麽进步都不可能合成出来的意思。 事上很多HDL语法仅仅只是当代的state of the art不支援罢了。 也没人证明出哪一个HDL语法保证不可能合成。 但有standard规定哪些语法保证可合成,例如[1]: IEEE 1364.1 Verilog register transfer level synthesis 我以前一直说initial语法不能合成。 今天我看IEEE 1364.1发现initial在某些情况下是可合成的。 例如以下这个范例[1](原始的code有点bug,我稍微修改了一下): ~~~~~~~~~~~~~~~~~~~~~~~rom_2dimarray_initial.v~~~~~~~~~~~~~~~~ module rom_2dimarray_initial ( output wire [3:0] z, input wire [2:0] a); reg [3:0] rom[7:0]; initial begin rom[0] = 4'b1011; rom[1] = 4'b0001; rom[2] = 4'b0011; rom[3] = 4'b0010; rom[4] = 4'b1110; rom[5] = 4'b0111; rom[6] = 4'b0101; rom[7] = 4'b0100; end assign z = rom[a]; endmodule ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 这在Xilinx ISE 8.2i是可以合成出来的。我跑过post-layout simulation也是正确的。 其实这code是在model一个ROM。 所以,说"当代合成器不支援某个语法",会比说"不能合成"的好。 因为"不能合成"有两种意思。 [1] IEEE, "IEEE 1364.1 Verilog register transfer level synthesis," http://ieeexplore.ieee.org/Xplore/dynhome.jsp -- 西方三圣:http://p8.p.pixnet.net/albums/userpics/8/3/553683/1193661731.jpg
《佛说阿弥陀经》http://web.cc.ncu.edu.tw/~93501025/amtf.doc 十一面观音咒:http://file.buda.idv.tw/music/DBZFY04.mp3 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.220.219 ※ 编辑: zxvc 来自: 140.115.220.219 (04/07 07:53)
1F:→ zxvc:其实说"大多数的合成器不能合成"也不错,因为没有把话说死。 04/07 07:56
2F:→ M9407120:那应该算是书本的问题巴~时代会进步 04/07 08:39
3F:→ M9407120:早期的书这样写并不算错误~现在几乎都可以这样合成了 04/07 08:39
4F:→ horsehead:那是因为你用FPGA的缘故才能和成出initial 04/07 09:23
5F:→ horsehead:如果今天你是在asic design flow 里依然不行 04/07 09:24
6F:→ horsehead:你想想看你所认识的逻辑闸有那些东西可以兜出initial 04/07 09:26
7F:→ horsehead:FPGA因为他也算一颗ASIC 他有内部的RESET信号 04/07 09:26
8F:→ horsehead:他是利用一开始的RESET去初始化 04/07 09:28
9F:→ horsehead:所以并非是用逻辑闸去兜出来 04/07 09:29
10F:→ horsehead:数位任何电路都是逻辑闸变成的 想想哪个逻辑闸可以和成 04/07 09:30
11F:→ horsehead:该FUNCTION 就知道何不合理 04/07 09:31
12F:推 lightnsalt:同意楼上。在学习HDL之前应加强对逻辑闸的认识。 04/07 10:51
13F:推 pupucar:他写的电路是单纯的组合逻辑 应该没有啥reset问题吧?! 04/07 14:26
14F:→ pupucar:抱歉 没看到REG 当我没说 不过要写ROM我也不会这样写 04/07 14:28
15F:推 pupucar:囧 再修正一下 刚刚在ISE试过了是纯组合逻辑没错 突然脑残 04/07 14:38
16F:→ zxvc:h大,ROM只是纯combinational circuit,不需要reset讯号。 04/07 16:10
17F:→ zxvc:我用Design Compiler 2004合成,的确有看到忽略initial的讯 04/07 16:12
18F:→ zxvc:息。合成(compile)可以过,但最後的电路不是我要的ROM。 04/07 16:13
19F:→ zxvc:initial在这种code所model的东西,并不是一个什麽初始化的 04/07 16:15
20F:→ zxvc:电路。所以ISE可以合得出来,并不是因为它可以合你说的这种 04/07 16:17
21F:→ zxvc:initial电路。而Design Compiler之所以不能合,我认为只是它 04/07 16:18
22F:→ zxvc:不完全支援IEEE 1364.1。 04/07 16:19
23F:→ zxvc:Design Compiler怎麽会笨到不能合ROM? 04/07 16:20
24F:→ zxvc:只不过要用Design Compiler合ROM要用另外一种写法。 04/07 16:21
25F:→ zxvc:况且说我上面code可以合是IEEE 1364.1自己说可以合的 04/07 16:23
26F:→ zxvc:IEEE 1364.1何必说一个不能合的code可以合呢? 04/07 16:24
27F:→ zxvc:所以这只是Design Compiler 2004不支援IEEE 1364.1的标准。 04/07 16:24
28F:推 horsehead:这边非常抱歉 我没看清楚你写的code 04/07 16:29
29F:→ horsehead:依你的设计模式和成一个ROM是OK的 04/07 16:29
30F:→ horsehead:一开使我误以为又有人要在暂存器上给初始值了 04/07 16:30
31F:→ horsehead:所以是我误会你了 这边说声抱歉 04/07 16:31
32F:→ zxvc:h大,没关系。不过这种写法还是少写为妙,我目前只有ISE合得 04/07 17:48
33F:→ zxvc:出来ROM。其它都合出一些很怪的东西。 04/07 17:49
34F:→ zxvc:Quartus II 9.0合出来的电路gate-level模拟结果是错的。 04/07 17:50
35F:→ zxvc:Design Compiler合出z讯号全是0。 04/07 17:53
36F:→ zxvc:Cadence RTL Compiler也是忽略initial叙述。 04/07 17:54
37F:推 proach:大部分的FPGA开电後,先把资料从SRAM/Flash搬移到cell内, 04/07 18:39
38F:→ proach:所以可以指定每个bit的initial value 04/07 18:40
39F:→ ksmrt0123:虽然initail合成rom看来只能在ise用, 我也不会这样用, 04/07 20:20
40F:→ ksmrt0123:但我大推这篇文章, 因为对tool有深入了解是成为好的 04/07 20:22
41F:→ ksmrt0123:designer的必要条件 04/07 20:22
42F:推 ksmrt0123:说个故事 某家design house的某颗chip, 用了不少由 04/07 20:37
43F:→ ksmrt0123:memory compiler产生的sram blocks, 後来才发现 04/07 20:37
44F:→ ksmrt0123:ower ring width是可以设定的 若设成跟竞争对手一样宽, 04/07 20:37
45F:→ ksmrt0123:die cost可减少好几角NTD... 那颗chip是低价大量 04/07 20:37
46F:→ ksmrt0123:的产品, 每颗差几角, 一个月至少差好几十万 04/07 20:37
47F:→ ksmrt0123:整个1-2年的life cycle就差好几百万了 04/07 20:38
48F:→ ksmrt0123:因只是没人仔细去study memory compiler的设定... 04/07 20:38
49F:→ ksmrt0123:power ring width... 发现时已量产一段时间了... 04/07 20:39
50F:→ zxvc:p大,ISE合出来的真的只是一个combinational的ROM。SRAM是 04/07 20:53
51F:→ zxvc:sequantial circuit。 04/07 20:53
52F:→ zxvc:这是ISE合出上面code的RTL schematic: 04/07 20:54
53F:→ zxvc:http://0rz.com/74Cf 04/07 20:55
54F:→ sneak: 如果今天你是在asic https://noxiv.com 11/11 15:03
55F:→ sneak: https://noxiv.com 01/04 21:54







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW 或 站内搜寻

TOP