完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
--使用max plus II,选择了EPM7128SLC84-6,我的MAXPLUS里没有EPM7128SLC84-10可以选择。
LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY nand2 IS PORT ( a : IN STD_LOGIC; b : IN STD_LOGIC; y : OUT STD_LOGIC ); END nand2; ARCHITECTURE nand2_1 OF nand2 IS BEGIN y <=a nand b; END nand2_1; 错误信息提示,说是第四行错误,TDF语法错误。我跟书上一致的代码。请求帮助 |
|
|
|
|
|
本人正在FPGA入门道路上裸奔的小白一枚,写了一段流水灯代码,四种流动模式,其中一种是来回流动的那种,但是总是出现这两行警告,接上LED灯之后输出还不对 Warning (10240): Verilog HDL Always Construct warning at runhorse_led_4_2.v(95): inferring latch(es) for variable "loop_bit_A", which holds its previous value in one or more paths through the always construct Warning (10240): Verilog HDL Always Construct warning at runhorse_led_4_2.v(95): inferring latch(es) for variable "counter_A", which holds its previous value in one or more paths through the always construct 下面是出问题的那段代码,求大大们指教啊,我已经快要被逼疯了 always @ (posedge clk_led_in or negedge rst) begin case (SW_AB_led) model0: begin decoder_2_4 (counter_A, led_data_r); if (!rst) begin loop_bit_A = 1'b0; counter_A = 2'b0; end else if (loop_bit_A) begin counter_A = counter_A + 1'b1; if (counter_A==2'b11) loop_bit_A = 1'b0; end else begin counter_A = counter_A - 1'b1; if (counter_A==2'b0) loop_bit_A = 1'b0; end end 我在外面定义了一个2-4译码器的任务,就是“decoder_2_4 (counter_A, led_data_r);”那行,我的想法是只要counter_A在2’b0到2‘b11之间来回跑就行了,但是~~~~~~~ |
|
|
|
|
|
最近在写这个接口驱动,有如下问题,求大神帮个忙:
1.对于一个显示器硬件而言,它怎么知道某个时间段是消隐的,某个时间段是有效显示的? 2.这种驱动,怎么放在不同分辨率、刷新频率的显示器上显示? 3.我写的一个800*600@72Hz 的驱动,为什么能在1440*900@60Hz的显示器上正确显示出来(我想要显示的图形是正确的)?? |
|
|
|
|
|
https://bbs.elecfans.com/jishu_348985_1_1.html 中的第一个板子,原创8本教材,硬件配置也丰富的,阿东团队提供技术支持的,才158元(包括USB下载器的),推荐购买! |
|
|
|
|
|
爱吃果冻 发表于 2014-7-24 10:10 不清楚VHDL的语法错误,QUARTUS都升级到14.0了, 还在用MAX PLUS和VHDL,早点换过来吧,大家都在使用QUARTUS和Verilog的! |
|
|
|
|
|
例化不能放在awasys里面,rst不要放在case里面,另外你的代码很多语法问题,建议还是好好看下我们的语法教程,然后再写吧。 |
|
|
|
|
|
VGA不是有标准的时序图吗,显示器也是根据这个做判断的,另外为什么不能在搞分辨率上显示出来呢? |
|
|
|
|
|
最近按照特权同学很早的文章程序写了一个,可是用示波器感觉输出 CS,RD,WR都没有变化。将AD0804数据输出口直接接流水灯,流水灯也没有变化。
module AD(clk,rst_n,cs_n,rd_n,wr_n,LED_Out); input clk; input rst_n; // input intr_n; output cs_n,rd_n,wr_n; output [1:0]LED_Out; /***********************************************/ reg[1:0] idle,start,start_wait,convert,current_state,next_state; reg[15:0] delay; reg cs_n,rd_n,wr_n; // reg[7:0] data_reg; // reg read_flag; always @ (posedge clk or negedge rst_n) begin if(!rst_n) begin current_state <= 0; delay <= 0; // data_reg <= 0; end else begin case(current_state) idle: begin if(delay<10) begin delay <= delay+16'd1; end else begin current_state <= next_state; delay <= 0; end end start: begin current_state <= next_state; end start_wait: begin current_state <= next_state; end convert: begin if(delay<2) begin delay <= delay+16'd1; end else begin // data_reg <= data; current_state <= next_state; delay <= 0; end end default: ; endcase end end // always @ (current_state or intr_n or rst_n) begin always @ (current_state or rst_n) begin if(!rst_n) begin idle <= 0; start <= 1; start_wait <= 2; convert <= 3; // read_flag <= 0; end else begin case (current_state) idle: begin cs_n <= 1; wr_n <= 1; rd_n <= 1; // read_flag <= 0; next_state <= start; end start: begin cs_n <= 0; wr_n <= 0; rd_n <= 1; // read_flag <= 0; next_state <= start_wait; end start_wait: begin wr_n <= 1; cs_n <= 1; rd_n <= 1; // read_flag <= 0; // if(!intr_n) next_state <= convert; // else next_state <= start_wait; end convert: begin cs_n <= 0; rd_n <= 0; wr_n <= 1; // read_flag <= 1; next_state <= idle; end default: next_state <= idle; endcase end end /************************************** */ wire LED0_Out; led0_module U3 ( .clk( clk ), .rst_n( rst_n ), .LED_Out( LED0_Out ) ); /*********************************/ wire LED1_Out; led1_module U4 ( .clk( clk ), .rst_n( rst_n ), .LED_Out( LED1_Out ) ); /*********************************/ assign LED_Out = { LED0_Out, LED1_Out}; endmodule |
|
|
|
|
|
程序如下:是一个加法器 input [3:0] ain; input [3:0] bin; input cin; output count; output [3:0] sum; assign {count,sum} = cin + ain + bin; 仿真想要ain从1-8,bin也从1-8共64中组合,for语句程序如下 initial begin ain = 0; bin = 0; cin = 0;end always #5 cin = ~cin; initial begin for(i=1;i<8;i=i+1) for(j=1;j<8;j=j+1) #10 bin = j; ain = i; end initial begin $monitor($time,,, "%d + %d + %d={%d,%d}",ain,bin,cin,count,sum); #1000 $stop;end Modelsim仿真打印结果: 0 0 + 0 + 0={0, 0}# 5 0 + 0 + 1={0, 1}# 10 0 + 1 + 0={0, 1}# 15 0 + 1 + 1={0, 2}# 20 0 + 2 + 0={0, 2}# 25 0 + 2 + 1={0, 3}# 30 0 + 3 + 0={0, 3}# 35 0 + 3 + 1={0, 4}# 40 0 + 4 + 0={0, 4}# 45 0 + 4 + 1={0, 5}# 50 0 + 5 + 0={0, 5}# 55 0 + 5 + 1={0, 6}# 60 0 + 6 + 0={0, 6}# 65 0 + 6 + 1={0, 7}# 70 0 + 7 + 0={0, 7}# 75 0 + 7 + 1={0, 8}# 80 0 + 1 + 0={0, 1}# 85 0 + 1 + 1={0, 2}# 90 0 + 2 + 0={0, 2}# 95 0 + 2 + 1={0, 3} 460 0 + 4 + 0={0, 4}# 465 0 + 4 + 1={0, 5}# 470 0 + 5 + 0={0, 5}# 475 0 + 5 + 1={0, 6}# 480 0 + 6 + 0={0, 6}# 485 0 + 6 + 1={0, 7}# 490 8 + 7 + 0={0,15}# 495 8 + 7 + 1={1, 0}# 500 8 + 7 + 0={0,15}# 505 8 + 7 + 1={1, 0}# 510 8 + 7 + 0={0,15}# 515 8 + 7 + 1={1, 0}# 520 8 + 7 + 0={0,15}# 525 8 + 7 + 1={1, 0} 960 8 + 7 + 0={0,15}# 965 8 + 7 + 1={1, 0}# 970 8 + 7 + 0={0,15}# 975 8 + 7 + 1={1, 0}# 980 8 + 7 + 0={0,15}# 985 8 + 7 + 1={1, 0}# 990 8 + 7 + 0={0,15}# 995 8 + 7 + 1={1, 0} 结果明显不是我想要的,如何才能让ain,bin分别从1-8一共有64种组合呢? |
|
|
|
|
|
您好 我最近在纠结怎样用VHDL编写NRF24L01无线收发,只要告诉大概的就好了,是怎么设置发送地址/接收的,怎么初始化的?谢谢指导。
|
|
|
|
|
|
阿东前辈您好 我是应届毕业生,在一小公司入职不久,也是刚开始学FPGA不久的菜鸟。小公司带是有个人带,但完全没培训,给本书看,然后要你做哪些。感觉FPGA好难学啊,真怕学不出来。(现在的公司是用FPGA来做通信方面的)
对C语言熟悉,但VHDL又和C语言半毛钱关系没有。 现在都不知道是否要继续下去了,现在的困惑是要不要继续下去呢 。 现在想是应该重新去找个用得着C语言的和硬件又有关联的(比如嵌入式)的工作呢,还是把这FPGA继续学下去? 搞FPGA有前途吗? 望前辈能给点建议 |
|
|
|
|
|
锁定信号哈,代表输出时钟稳定了,复位需要在这个稳定之后进行。 |
|
|
|
|
|
建议你好好学下去,实在不行报个培训班学习下吧,坚持住哈!! |
|
|
|
|
|
1802 浏览 1 评论
1540 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
1757 浏览 0 评论
959 浏览 0 评论
2544 浏览 0 评论
1575 浏览 39 评论
5804 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-3 07:36 , Processed in 1.102036 second(s), Total 73, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号