在verilog 分频中led_bit={led_bit[0],led_bit[7:1]}是什么意思,求大仙指点!!!

Error (10170): Verilog HDL syntax error at led.v(1) near text &01& expecting &module&, or &macromo_百度知道
Error (10170): Verilog HDL syntax error at led.v(1) near text &01& expecting &module&, or &macromo
v(1) near text &;01&module&quotError (10170): Verilog HDL
expecting &, or &macromo无论编写哪个程序都会出现这个错误
0]a,a; 06.
07. 03,b):0; 08. 09module compare(equal.
05; 02? 1; 04.
assign equal=(a==b),b.
output equal
1:0;endmodule这样就可以了module compare(equal:0]b; assign equal=(a==b):0]a; input [1;output equal,b),a; input [1
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Verilog语法问题!reg [20:0] Count1;\x05 reg [2:0]rLED_O\x05 always @ ( posedge CLK or negedge RSTn )\x05 if( RSTn )\x05 begin\x05\x05 Count1
begin--end 组合就相当于一个括号,分号表示语句执行结束,begin--end是用来把多条语句放在一起的执行的,也就是说分号前后都不能再出现其他语句,否则报错,括号内的语句表示都是在前面条件下执行的.希望我的回答能对你有帮助.
为您推荐:
其他类似问题
扫描下载二维码AVR单片机中可以是BIT(0)这个函数,比如:#define LED1_ON (PORTA &= BIT(0))我想知道在c51单片机中是否可以使用BIT()这个函数?
你没有看到AVR头文件里的定义呀?其有这麽一句话定义了这个函数的//移位定义#ifndef BIT#define BIT(x)
为您推荐:
其他类似问题
你可以自己定义一个BIT啊,然后使用这样的方式去引用就可以了.
51当中用BIT就没有必要了,它就相当于51中的sbit
C51支持位操作,只须定义bdata类型,即可直接操作位,根本不需要使用此类函数,要方便得多了。
扫描下载二维码后使用快捷导航没有帐号?
查看: 5210|回复: 4
如何在verilog中调用vhdl模块,最好给个例子,万分感谢啊!
在线时间8 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
如何在verilog中调用vhdl模块,最好给个例子,求大神指点!
在线时间2379 小时
威望3060 分
芯币10480 枚
E金币95 枚
TA的帖子TA的资源
这是网上的说法,没有试过
在verilog设计中实例化VHDL单元。
如果是实例化一个VHDL实体,首先声明一个与你要实例化的VHDL实体同名的module名字,形成一个一般的verilog实例。只有一个实例化的VHDL结构在verilog中构建,没有其他的VHDL结构在verilog中可见。当如此做时,XST使用entity和architecture对作为verilog或VHDL的边界。
XST在verilog设计中实例化VHDL单元时有以下限制:
外部端口联接必须使用。也就是说,通常的有效的端口名字必须在端口映射表中定义。
所有的parameter必须在实例化时传输,即使他们没有变化。
所有的参数通过名字关联而非顺序,所有的参数覆盖必须用实例化而非defparams.
例如:以下是正确的:
ff #(.init(2'b01)) u1 (.sel(sel),.din(din),.dout(dout));
ff u1 (.sel(sel),.din(din),.dout(dout));
defparam u1.init = 2'b01;
在线时间1 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 50, 距离下一级还需 150 积分
一粒金砂(中级), 积分 50, 距离下一级还需 150 积分
VHDL 模块:
ENTITY SIN IS
& && && & PORT (CLK,kd,ku: IN STD_LOGIC;& && && && && && &
& && && & DOUT : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) ;
& && && & daclk,LED: OUT STD_LOGIC
Verilog调用示例:
SIN& & & & u0
& & & & .CLK& & & & & & & & & & & & (clk& & & & & & & & & & & & ),& & & & // I,& & & & & & & & 1-bit,& & & & system clock, 50 MHz
& & & & .kd& & & & & & & & & & & & (kd& & & & & & & & & & & & ),& & & & // I,& & & & & & & & 1-bit,& & & & frequency decrease
& & & & .ku& & & & & & & & & & & & (ku& & & & & & & & & & & & ),& & & & // I,& & & & & & & & 1-bit,& & & & frequency increase
& & & & .DOUT& & & & & & & & (& & & & & & & & & & & & ),& & & & // O,& & & & 8-bit,& & & &
& & & & .daclk& & & & & & & & (& & & & & & & & & & & & ),& & & & // O,& & & & 1-bit,
& & & & .LED& & & & & & & & & & & & (& & & & & & & & & & & & )& & & & // O,& & & & 1-bit,& & & & led
在线时间490 小时
威望9087 分
芯币12352 枚
TA的帖子TA的资源
五彩晶圆(高级), 积分 9087, 距离下一级还需 913 积分
五彩晶圆(高级), 积分 9087, 距离下一级还需 913 积分
verilog调用VHDL模块,直接把VHDL程序加
在Veril0g工程中,然后在Veril0g语中直接
一个为理想不懈前进的人,一个永不言败人!
欢迎光临网上店铺!
在线时间490 小时
威望9087 分
芯币12352 枚
TA的帖子TA的资源
五彩晶圆(高级), 积分 9087, 距离下一级还需 913 积分
五彩晶圆(高级), 积分 9087, 距离下一级还需 913 积分
verilog调用VHDL模块,直接把VHDL程序加
在Veril0g工程中,然后在Veril0g语中直接
一个为理想不懈前进的人,一个永不言败人!
欢迎光临网上店铺!
Powered by
逛了这许久,何不进去瞧瞧?douwangdiaole
粗看了一下你的综合报告,你综合时没有加时序约束啊。综合器连时钟都找不到。。。
UID56910&帖子501&精华0&积分24&资产24 信元&发贴收入2950 信元&推广收入0 信元&附件收入56 信元&下载支出3452 信元&阅读权限10&在线时间520 小时&注册时间&最后登录&
管脚首先要约束上。
UID993813&帖子18&精华0&积分221&资产221 信元&发贴收入95 信元&推广收入0 信元&附件收入4 信元&下载支出58 信元&阅读权限20&在线时间40 小时&注册时间&最后登录&
& &管脚约束是指pin planer里面定义引脚吗?那里面都定义好了
UID993813&帖子18&精华0&积分221&资产221 信元&发贴收入95 信元&推广收入0 信元&附件收入4 信元&下载支出58 信元&阅读权限20&在线时间40 小时&注册时间&最后登录&
& &看了下时序约束好麻烦,一下子还看不懂,能不能简单地讲一下这个程序该怎么改呢?
UID553746&帖子641&精华0&积分4199&资产4199 信元&发贴收入3220 信元&推广收入0 信元&附件收入17 信元&下载支出4606 信元&阅读权限120&在线时间574 小时&注册时间&最后登录&
douwangdiaole
& &代码有很多不规范的地方,建议先检查一下:module key_scan(,这个模块的问题: always @ (posedge clock_50mhz or posedge !reset_n or posedge !key_s) , 一般的综合器很难综合这种代码,最好保留只有一个时钟和一个复位,还一个问题是posedge !reset_n,为什么不写成negedge reset_n,不要用奇形怪状的代码风格。& && && && && & else if(!key_s)& && && && && && && && &key_s_flag &= 1; 这里 else if(!key_s)以后呢?如果key_s=1怎么办,key_s_flag还是保持为1吗,我想你本意不是这样的吧。如果本来就是要求这样,那这里倒是没错了。module led_display(, 这个模块的问题:& && &&&//define register& && &&&reg& && &&&[7:0]& && && && && &led_data&&=&&8'b; 这里=8'b10000xxxx的没有意义(事实上在某些FPGA里面倒是可以用来初始化,可是一般不这么用),删掉吧。& && &&&//define register& && &&&always @ (posedge clock_50mhz or posedge !reset_n); 还是posedge !reset_n,改掉吧。& && && && && && && && &else if(key_s_flag)& && && && && && && && &begin& && && && && && && && && && &&&led_data[0] &= led_data[7];& && && && && && && && && && &&&led_data[1] &= led_data[0];& && && && && && && && && && &&&led_data[2] &= led_data[1];& && && && && && && && && && &&&led_data[3] &= led_data[2];& && && && && && && && && && &&&led_data[4] &= led_data[3];& && && && && && && && && && &&&led_data[5] &= led_data[4];& && && && && && && && && && &&&led_data[6] &= led_data[5];& && && && && && && && && && &&&led_data[7] &= led_data[6];& && && && && && && && &end 这一大段就一个功能led_data[7:0] &= {led_data[6:0], led_data[7]};用这句替代,省的写一堆代码。module sys_clock( 这个模块& && &&&output& &led_& && &&&wire& && & clock_50& && &&&reg& && &&&[25:0]& && &&&led_& && &&&always @ (posedge clock_50mhz or posedge !reset_n)& && &&&begin& && && && && & if(!reset_n)& && && && && && && && &led_clock &= 1'b0;& && && && && & else& && && && && && && && &led_clock &= led_clock+1;& && &&&endled_clock有26个bit,但是输出又变成1个bit,明显不match,所以最后led_clock最高位无法输出,我想你本意是要输出led_clock[25]吧,那么就得改,自己思考一下怎么修改吧,不难。
最后看top,你实例化模块的方法也不通用,led_display(....); 这里没有实例的名字啊,应该led_display u_led_display(....);好歹后面给个u_xxx作为实例的名字。
& && &&&led_display(& && &&&.clock_50mhz& && &(clock_50mhz),& && &&&.led_clock& && && &&&(led_clock),& && &&&.reset_n& && && && & (reset_n),& && &&&.key_s_flag& && &&&(key_s_flag),& && &&&.led& && && && && && & (led)& && &&&);
UID993813&帖子18&精华0&积分221&资产221 信元&发贴收入95 信元&推广收入0 信元&附件收入4 信元&下载支出58 信元&阅读权限20&在线时间40 小时&注册时间&最后登录&
本帖最后由 douwangdiaole 于
23:22 编辑
& &非常感谢你的意见和建议,通过你的一些指点,我都找到了问题的解决办法,也找到了其他的一些问题了,现在程序可以正常编译并且演示结果正常。长经验了。
top:
module led_water(
& && &&&clock_50mhz,
& && &&&reset_n,
& && &&&key_start,
& && &&&key_stop,
& && &&&led
& && &&&);
& && &&&input& && && && && & clock_50
& && &&&input& && && && && & reset_n;
& && &&&input& && && && && & key_
& && &&&input& && && && && & key_
& && &&&
& && &&&output& && &&&[7:0]& && &&&
& && &&&
& && &&&wire& && && && && & led_
& && &&&wire& && && && && & key_s_
& && &&&
& && &&&led_display u_led_display(
& && && && && & .clock_50mhz& && && && && & (clock_50mhz),
& && && && && & .led_clock& && && && && && && &(led_clock),
& && && && && & .reset_n& && && && && && && &&&(reset_n),
& && && && && && && && && && && && && && && && &
& && && && && & .key_s_flag& && && && && && & (key_s_flag),
& && && && && & .led& && && && && && && && && && &(led)
& && && && && &&&);
& && &&&key_scan u_key_scan(
& && && && && & .clock_50mhz& && && && && & (clock_50mhz),
& && && && && & .reset_n& && && && && && && &&&(reset_n),
& && && && && & .key_start& && && && && && &&&(key_start),
& && && && && & .key_stop& && && && && && &&&(key_stop),
& && && && && & .key_s_flag& && && && && &&&(key_s_flag)
& && && && && &&&);
& && &&&sys_clock u_sys_clock(
& && && && && & .clock_50mhz& && && && & (clock_50mhz),
& && && && && & .reset_n& && && && && && && &(reset_n),
& && && && && && && && && && && && && && && && &
& && && && && & .led_clock& && && && && && &(led_clock)
& && && && && & );
endmodule复制代码
模块一:
module sys_clock(
& && &&&clock_50mhz,
& && &&&reset_n,
& && &&&led_clock
& && &&&);
& && &&&input& && && &clock_50
& && &&&input& && && &reset_n;
& && &&&output& && & led_
& && &&&
& && &&&reg& && && &&&[25:0]& && &&&led_
& && &&&parameter& && && && && && &led_counter_max& && &&&=& && &&&49_999_999;
& && &&&
& && &&&always @ (posedge clock_50mhz or negedge reset_n)
& && &&&begin
& && && && && & if(!reset_n)
& && && && && && && && &led_counter &= 26'd0;
& && && && && & else if(led_counter & led_counter_max)
& && && && && && && && &led_counter &= led_counter+1'b1;
& && && && && & else
& && && && && && && && &led_counter &= 26'd0;
& && &&&end
& && &&&assign led_clock = (led_counter == 49_999_999) ? 1'b1:1'b0;
endmodule
& && &&&复制代码
模块二:
//定义函数
module led_display(
& && && && && && &clock_50mhz,
& && && && && && &led_clock,
& && && && && && &reset_n,
& && && && && && &key_s_flag,
& && && && && && &led
& && && && && && &);
& && &&&//out or in port& && && && && && && && && && && && && &
& && &&&input& && && && &&&clock_50
& && &&&input& && && && &&&led_
& && &&&input& && && && &&&reset_n;
& && &&&input& && && && &&&key_s_
& && &&&output& && &&&[7:0]& && && && && &
& && &&&
& && &&&reg& && && && && & [7:0]& && && && && &
& && &&&
& && &&&always @ (posedge clock_50mhz or negedge reset_n)
& && && && && & begin
& && && && && && && && &if(!reset_n)
& && && && && && && && && && &&&led &= 8'b;
& && && && && && && && &else if((key_s_flag ==1) && (led_clock==1))
& && && && && && && && && && &&&led &= {led[6:0],led[7]};
& && && && && & end
endmodule复制代码
模块三:
module key_scan(
& && &&&clock_50mhz,
& && &&&reset_n,
& && &&&key_start,
& && &&&key_stop,
& && &&&key_s_flag
& && &&&);
& && &&&input& && && && && && && && & clock_50
& && &&&input& && && && && && && && && && &&&key_
& && &&&input& && && && && && && && && && &&&key_
& && &&&input& && && && && && && && && && &&&reset_n;
& && &&&output& && && && && && && && &key_s_
& && &&&
& && &&&reg& && && && && && && && && && &&&key_s_
& && &&&
& && &&&always @ (posedge clock_50mhz or negedge reset_n)
& && &&&begin
& && && && && & if(!reset_n)
& && && && && && && && &key_s_flag &= 1'b0;
& && && && && & else if(!key_start)
& && && && && && && && &key_s_flag &= 1'b1;
& && && && && & else if(!key_stop)
& && && && && && && && &key_s_flag &= 1'b0;
//& && && && && & else
//& && && && && && && && &key_s_flag &= 0;
& && &&&end
endmodule复制代码
UID1473378&帖子77&精华0&积分84&资产84 信元&发贴收入385 信元&推广收入0 信元&附件收入0 信元&下载支出359 信元&阅读权限10&在线时间57 小时&注册时间&最后登录&
UID1232065&帖子130&精华0&积分3910&资产3910 信元&发贴收入665 信元&推广收入0 信元&附件收入0 信元&下载支出1427 信元&阅读权限50&在线时间149 小时&注册时间&最后登录&
学习的飘过????
UID930432&帖子36&精华0&积分1627&资产1627 信元&发贴收入205 信元&推广收入0 信元&附件收入244 信元&下载支出1502 信元&阅读权限30&在线时间86 小时&注册时间&最后登录&
您好,请问是代码风格的问题吗?还是时钟约束的问题?谢谢啦
[通过 QQ、MSN 分享给朋友]
TI信号链专区正式上线,欢迎访问!

我要回帖

更多关于 verilog 的文章

 

随机推荐