微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > jium007 朋友

jium007 朋友

时间:10-02 整理:3721RD 点击:
你给我写的VERLOG程序我领导本来是要求用VHDL的,,但是我想只要做出来就无所谓 ,,现在问题是仿真的时候老过不了,,抱错误,,我用的是XINLIN的9536,,,我QQ328277289  ..要不晚上在线商量下好不?十万火急,,要不请告诉我如何仿真过去..我抱的错误我开的几个帖子都说明了错误的原因和种类

稍微改一下就好了呀,module switch_divclk(
                       clk_in,
                       clk_out,
                       switch_8bit_in
                       //test
                        //,clk_q1,clk_q2,count,count_clk,输入为0,则时钟输出为0,其它输入00000001为1分频,00000010为2分频……11111111
                           );
input clk_in;
input[7:0] switch_8bit_in;
output  clk_out;
                        //,clk_q1,clk_q2;
reg[7:0] count_clk;
reg  clk_q1,clk_q2;
//output[7:0]        count,count_clk;
wire[7:0]             count;
wire                  estop,switch_0,switch_1;
assign                switch_0=(switch_8bit_in==8'b00000000)? 1'b1 : 1'b0;//assign                switch_1=(switch_8bit_in==8'b00000001)? 1'b1 : 1'b0;assign                estop=switch_0 || switch_1;assign        count=switch_8bit_in[0] ? ((switch_8bit_in-1)/2+1)switch_8bit_in/2+1);//选择assign        clk_out=switch_1 ? clk_in switch_8bit_in[0] ? (clk_q1 || clk_q2): clk_q1);always @(posedge estop or posedge  clk_in)
        if(estop)
        begin
                count_clk<=0;
                clk_q1<=0;
        end
        else
                                if(count_clk<count-1)
                                begin
            count_clk<=count_clk+1;
            clk_q1<=1;
                                end
                                else
                                                if(count_clk<switch_8bit_in-1)
                                                begin
                                                count_clk<=count_clk+1;
                                                clk_q1<=0;
                                                end
                                                else
                                                begin
                                                count_clk<=0;
                                                clk_q1<=0;
                                                end
always @(posedge estop or negedge clk_in)
        if(estop)
                clk_q2<=0;
        else
                clk_q2<=clk_q1;
endmodule

仿真:
always #10 clk_in=!clk_in;
        initial begin
                // Initialize Inputs
                clk_in = 0;
                switch_8bit_in = 0;
                // Wait 100 ns for global reset to finish
                #100;
        
                // Add stimulus here
switch_8bit_in = 8'b0010010;
        end
没有问题,很好用,不过对几个assign语句不是很明白是什么意思

等待高人解答!

houjibin 高人我用了你修改的在ISE编译还是抱错误..要不你发我油箱   puyiyue1980@126.com

ERROR:HDLCompiler:806 - "D:/pyytszy/pyy/ppp.v" Line 21: Syntax error near <=.
ERROR:HDLCompiler:806 - "D:/pyytszy/pyy/ppp.v" Line 27: Syntax error near <=.
ERROR:HDLCompiler:806 - "D:/pyytszy/pyy/ppp.v" Line 33: Syntax error near <=.
ERROR:HDLCompiler:806 - "D:/pyytszy/pyy/ppp.v" Line 38: Syntax error near <=.
ERROR:HDLCompiler:44 - "D:/pyytszy/pyy/ppp.v" Line 19: estop is not a constant
ERROR:HDLCompiler:60 - "D:/pyytszy/pyy/ppp.v" Line 21: count_clk is not a type
ERROR:HDLCompiler:60 - "D:/pyytszy/pyy/ppp.v" Line 22: clk_q1 is not a type
ERROR:HDLCompiler:44 - "D:/pyytszy/pyy/ppp.v" Line 25: count_clk is not a constant
ERROR:HDLCompiler:60 - "D:/pyytszy/pyy/ppp.v" Line 27: count_clk is not a type
ERROR:HDLCompiler:60 - "D:/pyytszy/pyy/ppp.v" Line 28: clk_q1 is not a type
ERROR:HDLCompiler:44 - "D:/pyytszy/pyy/ppp.v" Line 31: count_clk is not a constant
ERROR:HDLCompiler:60 - "D:/pyytszy/pyy/ppp.v" Line 33: count_clk is not a type
ERROR:HDLCompiler:60 - "D:/pyytszy/pyy/ppp.v" Line 34: clk_q1 is not a type
ERROR:HDLCompiler:60 - "D:/pyytszy/pyy/ppp.v" Line 38: count_clk is not a type
ERROR:HDLCompiler:60 - "D:/pyytszy/pyy/ppp.v" Line 39: clk_q1 is not a type

是不是复制粘贴的时候有问题?还是ISE在哪个地方要设置下

对应软件为ISE软件

现在我非常棘手的几个问题
1.程序如何编译通过
2.程序如何仿真的时候改变拨码开关状态,,就是仿真如何改变,,我不会变化,,00000000就永远是这个
3.对应9536芯片如何下弄,,,

十分着急

给你说了是你器件资源不够,逻辑没啥问题,我用quartus仿了的,就是可能需要优化,我都用的ALTERA的器件,你在你ise里设置哈,换个大点的器件试试,还有基础的仿真知识你可以从论坛的资源区去找,很多啊,自己去看嘛。做东西都是靠自己,我也刚做fpga没多久,很多都不懂,多问是好的,但是很多基础的东西还得自己去看,自己去实践。

加油,耐心去找资料看,不要想别人会帮你解决所有问题。good luck!

jium007 可以帮我把程序最大程度优化一下不>?VHDL和VERLOG我无所谓了,,关键仿真过不了,,,等下麻烦..我都用VERLOG改写算了

我换了个大的芯片,,抱这个错误,,什么意思?
ERROR: Can not find hierarchical name Q_OpTx_FX_DC_801_EXP_tsimrenamed_net_.

DDDDDDDDDDDDDDDDDDDD

等待高人解答!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top