Global Sources
电子工程专辑网站
首页 | 登录 | 现在注册  

可编程逻辑器件应用专区
可编程逻辑器件已经广泛应用于各种电子设备中,其应用、设计已经成为工程师必备的设计技能之一,电子工程专辑“可编程逻辑器件应用”专区是工程师朋友探讨、交流、学习可编程逻辑器件应用的知识乐园,欢迎广大工程师朋友踊跃交流!!
 


发表新主题 发表新主题 
收藏该主题... 收藏   打印这个帖子... 打印   关注该主题... 关注   推荐这个帖子... 推荐
楼主      问题: verilog的
发布时间: 2008-4-19 上午8:59

作者: liwensir
等级: 遁门入道
积分: 298 分

发送消息

查看用户的所有发言

我写了一个verilog程序,当使用4个IF ELSE的时候烧到CPLD里可以用,当是写了5个或者5个以上就不能用...使用CASE语句也是如此...但是仿真是正常的...我用的CPLD是LC4128V144pin
这个程序主要是用一个时钟产生一系列波形的程序.
下面是代码:
module test(clk,LE1,LE2,LE3,LE4,LE5,LE6,LE7,LE8);
input clk;
output LE1,LE2,LE3,LE4,LE5,LE6,LE7,LE8;
reg LE1,LE2,LE3,LE4,LE5,LE6,LE7,LE8;
reg[7:0] state;
parameter   S1 = 8'b00000001,
            S2 = 8'b00000010,
            S3 = 8'b00000100,
            S4 = 8'b00001000,
            S5 = 8'b00010000,
            S6 = 8'b00100000,
            S7 = 8'b01000000,
            S8 = 8'b10000000,
          high = 1,
           low = 0;
always @(negedge clk)
            begin
              if(state==S1)
                    begin
                            LE1<=low;
                            LE2<=high;
                            LE3<=high;
                            LE4<=high;
                            LE5<=high;
                            LE6<=high;
                            LE7<=high;
                            LE8<=high;
                            state<=S2;
                     end
              else if(state==S2)
                     begin
                            LE1<=~LE1;
                            LE2<=~LE2;
                            state<=S3;
                     end
                else if(state==S3)
                     begin
                            LE2<=~LE2;
                            LE3<=~LE3;
                            state<=S4;
                     end
                else if(state==S4)
                     begin
                            LE3<=~LE3;
                            LE4<=~LE4;
                            state<=S5;                      //state<=S1; 
                     end
                else if(state==S5)                       //当把这段
                     begin                                    //语句
                            LE4<=~LE4;                  // 去掉
                              LE5<=~LE5;                //并把
                            state<=S1;                    //上面的 state<=S5
                     end                                      //改成state<=S1就可以用了
              else      state<=S1;
     end
endmodule

鲜花 (
0
)
臭鸡蛋 (
0
)
   回复该主题... 回复   引用这个帖子... 引用 
--- 现有 0 个回复,共 1 页,目前第 1 页 ---


积分排行榜
 

我是工程师


电子工程专辑论坛有奖活动开幕,展示你的智慧,赢得心怡大奖。

查看详情  排行榜


话题PK台

工程师是吃年轻饭的吗?

干一行爱一行还是爱一行干一行?

外企是不是比国企更适合职业发展?


经理人网站精选

热点话题

全新推出管理资源库,汇聚丰富管理知识

成功的人就是会“勉强”别人的人 

案例:被老板出卖的尴尬事

每周一问

鱼与熊掌不可兼得,什么是布里丹选择? 

博客文章

王石和万科错在哪里

(来源:世界经理人)


~
返回论坛首页

eMedia Asia EE Times - Asia | EE Times - India | | | 手机设计 | 媒体播放器 | 家庭娱乐系统 | 工业控制 | 汽车电子设计 | 电源系统
模拟混合信号 | 国际电子商情 | 电子系统设计
环球资源 环球资源企业网 | 环球资源内贸网 | 世界经理人 | 尚品人生 | Electronic Components | Computer Products | China Sourcing Fairs
TechInsights EE Times | ESM Online
 
 
RSS 新闻聚合器 | 意见反馈 | 网站导航 | 帮助 | 关于我们 | 隐私政策 | 联系我们 | 使用条款 | 安全承诺
Copyright © 2008 eMedia Asia Ltd. 本网站所有内容均受版权保护。
未经版权所有人明确的书面许可,不得以任何方式或媒体翻印或转载本网站的部分或全部内容。