作者zxvc (zxvc)
站内Electronics
标题Re: [讨论] HDL有这种语法?
时间Mon Sep 17 23:21:34 2007
※ 引述《CuckooBoy (阿书)》之铭言:
: ※ 引述《acelp (未来,一直来一直来)》之铭言:
: : 拍谢...讲句实话我没写过VHDL 所以可能会说错:p
: : 之前厂商的VHDL的code为下 if内触发的statment只有一个
: : "IF ((Sys_clk'EVENT AND Sys_clk ='0') or (Sys_clk'EVENT AND Sys_clk='1'))"
: : 就我的想法应该是rtl
: : "always @(posedge clk or negedge clk) "
: : 但是今天这位C网友大大的问题在於
: : "if (clock'event and clock='1') or (clock'event and clock='0')"
: : 我想VHDL有if ... or ... then ...的语法吗?
: 嗯~我就是看到Verilog有always @(posedge clk or negedge clk)
你会不会看到的应该是这样才对?
always @(posedge clk or negedge reset)
if( !reset )
...
这在IEEE 1364.1是保证可合成的语法。
就我的印象IEEE 1364.1没有规定:
always @(posedge clk or negedge clk)
是可合成的语法。但没规定不代表EDA厂商做不出来可合成该语法的合成器。
其实上面的语法是有真实的硬体可对应的,就是DDR register。
你说你是用Quartus II的内建合成器合成的吗?
就我所知Altera的FPGA板子大多不支援DDR register,
所以你在一些合成器合不出来是有可能的。
: 所以,我深深相信可以这样做,但是当我使用VHDL写时却没办法写出来...
: 此时,看了错误讯息,觉得又好像没办法PROCESS存在两个CLOCK触发...
: 所以在 可以 和 不可以 之间.......觉得很怪
: 又听到M大说.........."很简单"........"可以".........
: 但.............我就是合成不成功!!
: 所以就提出问题!!
: 目前问题不是在於..."上下缘皆接触发有没有这种语法"....而是软体为什麽无法合成
: 谁有成功案例,分享一下你是用哪个方法合成...
--
往生净土咒:
南无阿弥多婆夜 哆他伽哆夜 哆地夜他 阿弥唎都婆毘 阿弥唎哆
悉耽婆毘 阿弥唎哆 毘迦兰哆 伽弥腻 伽伽那 只多迦隶 莎婆诃
《佛说阿弥陀经》
http://web.cc.ncu.edu.tw/~93501025/amtf.doc
《金刚经》
http://web.cc.ncu.edu.tw/~93501025/jg.doc
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.204.3
1F:→ CuckooBoy:没错.之前听某 大 ,提到DDR都可以,为什麽不能上下缘触发 09/17 23:23
2F:→ CuckooBoy:那时他是用另一个方法,不知道是不是因为不能合成才那样 09/17 23:23
3F:→ CuckooBoy:Verilog那个,听你一说....好像是我看错的机会大 09/17 23:24
4F:→ CuckooBoy:那个大大教的...我做过...的确是可以上下缘皆触发 09/17 23:25
5F:→ CuckooBoy:本来放弃,改用那方法,但听M大说可以,所以又重新拿出讨论 09/17 23:26
6F:→ CuckooBoy:而我会问这问题是因为握那DEMO正是..."DDR" 09/17 23:27
7F:→ CuckooBoy:所以当然他就会有......那种写法 09/17 23:27
8F:→ CuckooBoy:所以我又被他迷惑住啦XD 09/17 23:28
9F:→ CuckooBoy:既然ALTERA不行,为什麽那DEMO还写?而且还是ALTERA的DEMO 09/17 23:28
10F:→ CuckooBoy:写一个不法合成的VHDL CODE........=.=' 09/17 23:29