OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 11055|回复: 15

菜鸟悲剧的FPGA初探。。。

[复制链接]

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2195
金钱
2195
注册时间
2012-2-8
在线时间
34 小时
发表于 2012-3-7 23:52:22 | 显示全部楼层 |阅读模式

看这个版块比较空旷,我就来发个帖子~

由于过段时间可能要用FPGA做东西,所以就开始学起了FPGA,然后去淘宝买了个板子回来
买的是艾米的最小系统板板,买回来后发现,木有文档教程。。。郁闷死我了。。。
视频教程也只是简单的讲了下工程建立。。。而且视频上说的还不是我买的这个板的,看视频的时候还得留意哪些得根据自己的这块芯片去改。。。
不管怎样,既然已经开始做实验了,至少也得有点成果,然后就像学51那样,先看例程代码的点亮LED实验,照着上面抄了一遍,
揣摩了下代码的意思,

然后看着电路图,开始进行管脚分配(恰好昨天数电实验,第一次接触CPLD,熟悉了下这个操作),利用文档的搜索功能,找到了LED是在199脚的。。。



然后这个就是。。。我的超级菜鸟级的代码。。。
// 我的第一个FPGA程序
module test(
  output  LED
);   

assign LED = 1;

endmodule

没学过verilog,不过大概能猜出这几句的意思,这也应该算是高级语言的好处吧(不知verilog算不算高级语言哩。。。)

有点让人郁闷的是quartus II 的编辑器里不能直接输入中文(从别的地方复制过去倒是可以的),我擦,怪不得昨天老师说这软件对中文很不友好。。。
无奈了,我就是有写注释的习惯,可是每次复制来复制去的也太烦人了,所以下一个实验程序就改成英文注释了。。。
配置工程的的时候要注意的有三点:  (assignment->device)片子别选错了,     (assignment->device->device and pin opiotns ) 对于没有分配的管脚默认设置为输入,还有就是设置这个,视频里这样说的,不太懂。。。求解释


然后就是编译,用USB blaster下载程序,看到灯亮了!!!哈哈,至少郁闷的心情能够舒服一点了。。。

貌似快要断网了。。。先发了。。。下个闪烁灯实验等下再写。。。


https://github.com/roxma
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2195
金钱
2195
注册时间
2012-2-8
在线时间
34 小时
 楼主| 发表于 2012-3-7 23:59:17 | 显示全部楼层

接下来是第二个实验了,卖家人比较好,给我提供了他的文档,我参考了里面的时钟分频器程序,遇到了些问题,然后又参考了艾米的例程代码,去猜代码的意思。。。
然后。。。这个就是我写的代码:
module LED_Flicker(
     clk_in,
     led
     );

input clk_in;  //50MHz clock input
output led;  //1 Hz clock output, flicker
reg  led_r;

// toggle led every 25M clock input
parameter DIV = 25_000_000;
//parameter TOG2 = 50_000_000;

// 2 ^ 25 = 32*1024*1024, a 25-bit counter
reg [24:0] counter;

always @(posedge clk_in) // when a clock posedge occurs, do the following things
begin
 if(counter == DIV) //does counter reach 25M?
  begin
   counter <= 0;  // this operator '<=' is like the assign operator '=' in C
   led_r = ~led_r;   // toggle led
  end
 else
  counter <= counter + 1'b1;
end
assign led = led_r;
endmodule

接下来还是查电路图。。。时钟在哪里???找啊找,然后看到电路板上晶振标了Y1,然后我就在原理图文档里搜。。。啊,终于找到了。。。


期间也出了几次问题,反复修改代码,下载,。。。终于。。。成功啦~~~

第一次比较痛苦。。。还是应该先去学学verilog HDL才好。。。那是以后的事了。。。今天就到这里。断网了
https://github.com/roxma
回复 支持 反对

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2195
金钱
2195
注册时间
2012-2-8
在线时间
34 小时
 楼主| 发表于 2012-3-8 01:01:59 | 显示全部楼层
手机党来也~
其实我发这个帖子的主要目的不是来分享经历的,
我是想来求推荐合适的FPGA入门资料的
https://github.com/roxma
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165186
金钱
165186
注册时间
2010-12-1
在线时间
2106 小时
发表于 2012-3-8 08:54:20 | 显示全部楼层
FPGA的板子,推荐黑金开发板.不过他的价格很高.但是教程很好.
如果没买板子,也可以去其官方论坛下载资料,很多很好的参考资料,相信对学习FPGA很大帮助.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2195
金钱
2195
注册时间
2012-2-8
在线时间
34 小时
 楼主| 发表于 2012-3-8 13:59:58 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------

嗯,谢谢,我有去下载过黑金的资料,当时那个卖家也是给我推荐黑金的,就是因为看到价格比较高,所以才没买

师兄送的板子已经收到了,谢谢! 我很喜欢~
https://github.com/roxma
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165186
金钱
165186
注册时间
2010-12-1
在线时间
2106 小时
发表于 2012-3-8 14:56:54 | 显示全部楼层
好好学习.呵呵.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

10

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2012-3-14
在线时间
0 小时
发表于 2012-3-15 11:23:13 | 显示全部楼层
 同是FPGA学习者,在这里发表一下我的看法,希望对楼主有益。
首先,学习FPGA和学习单片机不一样,没必要纠结芯片型号,因为芯片内都是用逻辑电路实现,什么芯片无所谓。
其次,Verilog不同于程序设计语言,它是硬件描述语言,他们有本质的区别。Verilog代码不是用来执行的(当然仿真器除外),而是用来生成电路(综合概念要理解)。
第三,学习FPGA必须有扎实的数学功底,数字信号处理理论一定要学,否则,只能做些简单的逻辑电路,实现不了算法,那就只能是学学可编程逻辑器件原理罢了,没有任何应用价值。因为这些功能用单片机实现简单得多(就是速度慢了点)。
共勉!
回复 支持 反对

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2195
金钱
2195
注册时间
2012-2-8
在线时间
34 小时
 楼主| 发表于 2012-3-15 12:21:33 | 显示全部楼层
回复【7楼】10086rainer:
---------------------------------
谢谢你的建议。

芯片的型号在项目属性配置的时候要留意一下的,至于其它的地方区别确实不大。

现在对Verilog还不怎么了解,楼上有没有比较好的资料推荐一下?

至于数学功底和数字信号理论,现在不急着去深究了,因为功课也比较重,而且我们这学期才学数字电路。。。
先有一点感性的认识也许会好一点吧,等理论学扎实了再回来学FPGA估计那时我已经大学毕业了。。。
单片机也是这么学过来的,呵呵,刚开始的时候完全没有电路的概念。。。
https://github.com/roxma
回复 支持 反对

使用道具 举报

10

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2012-3-14
在线时间
0 小时
发表于 2012-3-15 15:41:32 | 显示全部楼层
回复【8楼】Pony279:
---------------------------------
特好的资料也没有,推荐你我看过的两本认为不错的书,
1.电子工业出版社的《基于verilogHDL的数字系统设计与验证》,书名记不太清了,大概是这个,作者叫 乔卢峰,你可以网上查一下,这本书对理解verilog的某些核心概念有很大的帮助,个人认为写得非常浅显易懂。
2.电子工业出版社《精通verilogHDL语言编程》,作者 刘波,这本书对verilog语言的综合概念那一章节我认为写得很详细,初学者必看的。
当然,我个人的建议,最好的学习资料非altera官方文档莫属了,不过都是英文的,楼主如果英文可以,推荐你去看看。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165186
金钱
165186
注册时间
2010-12-1
在线时间
2106 小时
发表于 2012-3-15 15:56:38 | 显示全部楼层
楼上的对PFAG/CPLD很熟悉么?我们论坛这方面资料不多...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2012-4-17
在线时间
0 小时
发表于 2012-5-7 21:25:15 | 显示全部楼层
学习Verilog HDL,肯定要看夏宇闻的经典教材啦
回复 支持 反对

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2195
金钱
2195
注册时间
2012-2-8
在线时间
34 小时
 楼主| 发表于 2012-5-7 22:02:19 | 显示全部楼层
回复【11楼】stream_lee:
---------------------------------
嗯,已经买了一本夏老师的书了~
https://github.com/roxma
回复 支持 反对

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2012-7-2
在线时间
0 小时
发表于 2012-7-4 20:26:04 | 显示全部楼层
我买了黑金的开发板,黑金的资料不错。
回复 支持 反对

使用道具 举报

63

主题

305

帖子

1

精华

高级会员

Rank: 4

积分
853
金钱
853
注册时间
2012-8-3
在线时间
79 小时
发表于 2014-3-27 13:54:16 | 显示全部楼层
夏宇闻的书也是有一些错误的,只是入门可以看一看,深入的还是多看一些高手的设计,多做项目。
回复 支持 反对

使用道具 举报

63

主题

305

帖子

1

精华

高级会员

Rank: 4

积分
853
金钱
853
注册时间
2012-8-3
在线时间
79 小时
发表于 2014-3-27 13:55:06 | 显示全部楼层
altera有官方视频,可以一看
回复 支持 反对

使用道具 举报

0

主题

11

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2014-4-7
在线时间
1 小时
发表于 2014-4-17 08:22:39 | 显示全部楼层
学习了。。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-9-30 06:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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