求一个FPGA大神帮个忙,帮我看一下我写的Verilog HDL程序,或者帮我写一个程序也行。感激不尽,加分。
主要实现的功能是:1:AD一直以1us一个周期转换数据,当FPGA串口收到上位机发的数据255时,将fifo的写标志位拉高,允许AD转换的数据写入fifo,fifo8位,...
主要实现的功能是:
1:AD一直以1us一个周期转换数据,当FPGA串口收到上位机发的数据255时,将fifo的写标志位拉高,允许AD转换的数据写入fifo,fifo8位,512个字节。
2:当fifo写满后,即fifo的full标志位为1时,停止写入fifo,即拉低写标志位wrreq。同时开始串口发送数据到上位机。
3:先入先出的顺序将刚采集到的512个数据通过串口发送到上位机,当fifo为空,即无数据时,fifo空标志位empty为1时,停止串口发送,进入等待下次的开始。
概括:1us采集一个数据,先保存到fifo中,最后发送给上位机。
后续会提高悬赏,也请大神多多帮忙,充q币也行啊,非常急!!!!!
已经写好了,调试也好了,什么大神都是浮云,自己才是王道,丫的 展开
1:AD一直以1us一个周期转换数据,当FPGA串口收到上位机发的数据255时,将fifo的写标志位拉高,允许AD转换的数据写入fifo,fifo8位,512个字节。
2:当fifo写满后,即fifo的full标志位为1时,停止写入fifo,即拉低写标志位wrreq。同时开始串口发送数据到上位机。
3:先入先出的顺序将刚采集到的512个数据通过串口发送到上位机,当fifo为空,即无数据时,fifo空标志位empty为1时,停止串口发送,进入等待下次的开始。
概括:1us采集一个数据,先保存到fifo中,最后发送给上位机。
后续会提高悬赏,也请大神多多帮忙,充q币也行啊,非常急!!!!!
已经写好了,调试也好了,什么大神都是浮云,自己才是王道,丫的 展开
4个回答
展开全部
`timescale 1ns/1nsmodule Automat(A,B,CLK,QH,QQ,Sale,Back,data_XS); input A,B,QH,QQ,CLK; output Sale,Back; output [6:0] data_XS; reg [5:0] sum; reg [3:0] XSH; reg [3:0] XSL; wire [6:0] data_XS; reg Sale,Back; reg D; wire [3:0] data; wire CLK2; Clk D1(CLK2); SEL2X1 D2(XSH,XSL,CLK2,data); bin47seg D3(data,data_XS); initial begin sum=0; end always@(posedge A or posedge B) begin #1 if(A) sum=sum+5; if(B) sum=sum+10; end always@(posedge CLK) begin XSH=sum/10; XSL=sum%10; #1 if(sum<15) D=0; else D=1; end always@(posedge QH) begin if(D) begin Sale=1; sum=sum-10; #5 Sale=0; end end always@(posedge QQ) begin sum=0; Back=1; endendmodulemodule bin47seg(data_in,data_out);input[3:0] data_in;output[6:0] data_out;reg [6:0] data_out;always@(data_in)case(data_in) 4'b0000:data_out=7'b1000000; 4'b0001:data_out=7'b1111001; 4'b0010:data_out=7'b0100100; 4'b0011:data_out=7'b0110000; 4'b0100:data_out=7'b0011001; 4'b0101:data_out=7'b0010010; 4'b0110:data_out=7'b0000010; 4'b0111:data_out=7'b1111000; 4'b1000:data_out=7'b0000000; 4'b1001:data_out=7'b0011000; 4'b1010:data_out=7'b0001000; 4'b1011:data_out=7'b0000011; 4'b1100:data_out=7'b0100111; 4'b1101:data_out=7'b0100001; 4'b1110:data_out=7'b0000110; 4'b1111:data_out=7'b0001110; default: data_out=7'b1111111;endcaseendmodulemodule SEL2X1(data1,data2,Sel,data_C); input [3:0] data1; input [3:0] data2; input Sel; output [3:0] data_C; reg [3:0] data_C; always@(Sel) begin if(Sel==1) data_C=data1; if(Sel==0) data_C=data2; endendmodulemodule Clk(CLK); output CLK; reg CLK; initial begin CLK=0; forever begin #2 CLK=1; #2; CLK=0; end endendmodule
追问
着只是AD吧
VERILOG HDL,可以使用延时程序吗?还有 initial 只执行一次,不是在仿真的时候采用的吗,程序也可以使用? 还差好多,比如串口,fifo ,再说上面是1ns 延迟到1us还是比较麻烦的,可以q我 上面有我的q 。六2六3五6八6二
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这要求不是很快就能搞定的
要搞uart
要搞数据协议
要写fifo
还要操作AD
烦的很呢
自己慢慢摸索吗
要是有人写了个和你一样的程序,就当我没有说
要搞uart
要搞数据协议
要写fifo
还要操作AD
烦的很呢
自己慢慢摸索吗
要是有人写了个和你一样的程序,就当我没有说
追答
哎,你不会仿真,代码都能写好了。。
追问
加我q---q聊吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-05-20
展开全部
我已加你,联系吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-05-16
展开全部
不知道你的问题解决了没?
我是在我们团队的求助里看到你的问题的,很显然你选错了团队了,因为我们属于烦恼分类的,我们擅长的是情感情绪方面的问题,对于编程一窍不通啊。
不过,如果你有什么感情上的困扰,我们可是很乐意帮助你哦!
我是在我们团队的求助里看到你的问题的,很显然你选错了团队了,因为我们属于烦恼分类的,我们擅长的是情感情绪方面的问题,对于编程一窍不通啊。
不过,如果你有什么感情上的困扰,我们可是很乐意帮助你哦!
追问
汗,大四了,挥一挥衣袖,带不走一个妹子,算不算情感上的困扰。
呵呵,谢谢提醒
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询