搜索
bottom↓
回复: 14

谁能看懂这些代码????--!

[复制链接]

出0入0汤圆

发表于 2009-11-26 10:41:44 | 显示全部楼层 |阅读模式
呵呵~  大家别骂我,其实是个很简单的错误程序,(我只学了一个周,属于超级菜鸟)程序如下: 其实就是为了将下面的原理图用
VERILOG写出来:  可怎么编译就是不过。
   module pv1(po1,po2,po3,po4,po5,po6,DSP_PDPINTA,
           p1,p2,p3,p4,p5,p6,RCHIGH,IO_FALURE,RCLOCK,IO_UNLOCK);
output po1,po2,po3,po4,po5,po6,DSP_PDPINTA;
input p1,p2,p3,p4,p5,p6,RCHIGH,IO_FALURE,RCLOCK,IO_UNLOCK;
reg po1,po2,po3,po4,po5,po6;

always@(p1 or p2 or p3 or p4 or p5 or p6 or RCHIGH or  IO_FALURE or  RCLOCK or IO_UNLOCK)
if(!RCHIGH||IO_FALURE||RCLOCK||IO_UNLOCK)
     po1<=0;
     po2<=0;
     po3<=0;
     po4<=0;
     po5<=0;
     po6<=0;
else
     po1<=p1;
     po2<=p2;
     po3<=p3;
     po4<=p4;
     po5<=p5;
     po6<=p6;
else if(p1 xnor p2)
     p1<=0;
     p2<=0;
else po1<=p1;
     po2<=p2;
if(p3 xnor p4)
     p3<=0;
     p4<=0;
else po3<=p3;
     po4<=p4;
if(p5 xnor p6)
     p5<=0;
     p6<=0;
else po5<=p5;
     po6<=p6;
if(!IO_FALURE)
     DSP_PDPINTA<=1;
else DSP_PDPINTA<=0;

endmodule

原理图如下:  还望高手不吝指点。。。。

(原文件名:3.jpg)

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2009-11-26 11:06:11 | 显示全部楼层
如果你是要把那个原理图用verilog实现,那么不是用always,而是assign。

出0入0汤圆

发表于 2009-11-26 11:11:35 | 显示全部楼层
我老总说过这样的话:CPLD的误区是能用画图的却偏偏要写成代码!

出0入0汤圆

 楼主| 发表于 2009-11-26 11:50:26 | 显示全部楼层
“我老总说过这样的话:CPLD的误区是能用画图的却偏偏要写成代码!”
关键这不是最终原理图,用代码写的话,以后可能会好改动。
“如果你是要把那个原理图用verilog实现,那么不是用always,而是assign”
电平触发的 用assign行吗?还是always好些吧?

出0入0汤圆

发表于 2009-11-26 12:52:38 | 显示全部楼层
建议你还是用原理图吧。
如果非要用verilog,可以去查查门级建模。
写出来的东西估计你一个月之后再看如天书一样。那远不如原理图来的直观。

出0入0汤圆

发表于 2009-11-26 13:47:57 | 显示全部楼层
你这东西能综合就怪了。这种给你原理图了的还是输入原理图吧。
自己设计倒是应该从写代码开始,原理图输入不能适应现在越来越大的设计规模了。

出0入0汤圆

发表于 2009-11-26 14:59:21 | 显示全部楼层
只说语法:
这么多个if-else之间的语句没有加begin/end?

出0入0汤圆

发表于 2009-11-26 15:31:17 | 显示全部楼层
组合逻辑用assign写很直观。
assign a=b?c:d;

出0入0汤圆

发表于 2009-11-26 17:14:03 | 显示全部楼层
要用行为语言描述,必须搞清楚它的功能。这样的图,谁能一下子知道,它是译码器还是别的什么“器”?
只能用结构化的描述方法。

出0入0汤圆

发表于 2009-11-26 21:24:31 | 显示全部楼层
呃。。。。
我也觉得应该是用assign语句。
毕竟从你的电路图看好像不是时序逻辑,而是一些与门非门做的组合逻辑。

出0入0汤圆

发表于 2009-11-30 12:59:42 | 显示全部楼层
时钟接地的D触发器?

出0入0汤圆

发表于 2009-12-30 20:28:28 | 显示全部楼层
楼主的编程风格有问题:
   1.always 写的组合逻辑电路, 赋值用的非阻塞赋值
   2.电路里面有触发器时序逻辑电路,楼主把时序和组合写在一个块。

   3.多条语句中应该加入begin end
  建议 时序电路单独编写模块
   在顶层模块例化调用即可 顶层里面就剩下组合逻辑电路,用assign语句就可以搞定

出0入0汤圆

发表于 2010-1-8 19:43:05 | 显示全部楼层
楼主,你这个图太亲切了,我2000年左右使用1K10的时候就这么干过,不过比你这个还复杂,但是刚毕业,干劲十足。可是过了一年自己都看不懂了,我的同事要把代码从Altera转到Quicklogic费了很多劲才弄过去。
    画原理图的确直观,但是对于后期维护和移植都很不方便,尤其是如果规模很大的时候,劝你还是劝劝老板用Verilog或者VHDL写吧

出0入0汤圆

发表于 2010-1-9 03:53:43 | 显示全部楼层
【2楼】 yy43102328
积分:101
派别:
等级:------
来自:
我老总说过这样的话:CPLD的误区是能用画图的却偏偏要写成代码!  
   

你们老总真可爱.

出0入0汤圆

 楼主| 发表于 2010-1-9 10:31:49 | 显示全部楼层
好久没来这里了,谢谢大家的关注。祝大家新年快乐~ 万事如意。
呵呵 我现在看起来也好亲切的感觉。
特别感谢 EDWIN~~~  谢谢你的指点。
一会我就改。。。。。哎~ 太菜了,说的自己无地自容了 呵呵
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 19:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表