首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

LX9 Microboard之初试手试用初体验(1)

LX9 Microboard之初试手试用初体验(1)

本人属应届毕业生,进入公司发现公司用的的fpga几乎全是xilinx的,几乎都是是和无线通信有关。最近工作较忙,一直没抽出时间好好看看,抱歉,言归正传。  今天晚上抽出时间仔细分析了下板子,对照原理图,了解了板子每块芯片的作用,比如CDCE913就为一块可编程时钟合成器,CP2102为USB转串口芯片,DP83848J以太网收发器,TPS65708为TI的电源管理模块等等。总体来看这块板子功能还是很强大的,但是我觉得能够把板子的每个相应的芯片发挥或者使用的得心应手还是需要一定时间的。
   为了更快的对它有初步的了解,由于打开板子的时候流水灯在运行,所以我决定首先写个简单的led流水灯实验,一般来说开发环境无外乎新建工程(注意项目文件名不要用中文,开头不要用数字),选择器件,建立源文件(verilog),写程序,检查语法错误,仿真,分配引脚,下载,运行。
verilog简单led程序如下
module STREAM_LED (  SYSCLK, RST_B, LED_DATA ); input  SYSCLK;  
input  RST_B;  
output [9:0] LED_DATA; //LED data output.
wire  SYSCLK;wire  RST_B;
reg [9:0] LED_DATA;
reg [20:0] TIME_CNT;
reg [9:0] LED_DATA_N;
wire [20:0] TIME_CNT_N;
always @(negedge RST_B or negedge SYSCLK)begin  if(!RST_B)    TIME_CNT <= 21'b0;  else    TIME_CNT <= TIME_CNT_N;end
assign TIME_CNT_N = TIME_CNT + 21'b1;
always @(negedge RST_B or negedge SYSCLK)begin  if(!RST_B)    LED_DATA <= 10'b11_1111_1110;  else    LED_DATA <= LED_DATA_N;end
always @ (*)begin  if((LED_DATA == 10'b01_1111_1111) && (TIME_CNT == 24'h0))    LED_DATA_N   = 10'b11_1111_1110;  else if(TIME_CNT == 24'h0)    LED_DATA_N   = {LED_DATA[8:0] , 1'h1};  else    LED_DATA_N   = LED_DATA;end   
endmodule
仿真时序图
[[wysiwyg_imageupload:74:]]
今晚先到这,明天继续
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表