银杏科技有限公司旗下技术文档发布平台 | |||
技术支持电话 | 0379-69926675-801 | ||
技术支持邮件 | Gingko@vip.163.com | ||
版本 | 日期 | 作者 | 修改内容 |
---|---|---|---|
V1.0 | 2020-11-18 | zgf | 初次建立 |
操作符 | 执行的操作 | 操作数个数 | 表达式 |
+ | 加法运算 | 2 | rega + 10 |
- | 减法运算 | 2 | rega - 10 |
* | 乘法运算 | 2 | rega * 10 |
/ | 除法运算 | 2 | 23 / 10,运行结果为2。 |
操作符 | 执行的操作 | 操作数个数 | 表达式 |
! | 逻辑求反 | 1 | !a |
&& | 逻辑与 | 2 | a && b |
|| | 逻辑或 | 2 | a || b |
a | b | !a | !b | a && b | a || b |
1 | 1 | 0 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 0 | 1 |
0 | 1 | 1 | 0 | 0 | 1 |
0 | 0 | 1 | 1 | 0 | 0 |
操作符 | 执行的操作 | 操作数个数 | 表达式 |
< | 小于 | 2 | a < b |
> | 大于 | 2 | a > b |
< = | 小于等于 | 2 | a ⇐ b |
>= | 大于等于 | 2 | a >= b |
con_expression ? true_expression : false_expression;
wire data_out = sel_en ? a : b;
操作符 | 执行的操作 | 操作数个数 | 表达式 |
~ | 按位求反 | 1 | ~a |
& | 按位与 | 2 | a & b |
| | 按位或 | 2 | a | b |
^ | 按位异或 | 2 | a ^ b |
~^,^~ | 按位同或 | 2 | a ~^ b,a ^~ b |
{signal1,signal2}
操作符 | 执行的操作 | 操作数个数 | 表达式 |
» | 右移 | 2 | a » m,a为操作数,m为移的位数 |
« | 左移 | 2 | a « m,a为操作数,m为移的位数 |
操作符 | 执行的操作 | 操作数个数 | 表达式 |
== | 等于 | 2 | a == b |
!= | 不等于 | 2 | a != b |
=== | 等于 | 2 | a === b |
!== | 不等于 | 2 | a !=== b |
操作符 | 执行的操作 | 操作数个数 | 表达式 |
= | 连续赋值 | 不定 | a = b |
= | 过程赋值 | 不定 | a = b |
⇐ | 过程赋值 | 不定 | a ⇐ b |
/*************************************************/ //算数运算符:"+"、"-"、"*"、“/” assign out_a = x1 + y1;//加法运算符表达式 assign out_b = y1 - x1;//减法运算符表法式 assign out_c = 2 * x1;//乘法运算符 assign out_d = y1 / 5;//除法运算符
/*************************************************/ //逻辑运算符:“!”、“&&”、“||”,逻辑运算符的结果只能是“1”或者“0” assign out_e = !x2;//逻辑求反表达式 assign out_f = x2 && y2;//逻辑与表达式 assign out_g = x2 || y2;//逻辑或表达式
/*************************************************/ //关系运算符:“<”、“>”、“<=”、“>=” //条件运算符表达式:con_expression ? true_expression ? false_expression; assign out_h = (x3 < y3) ? (y3 - x3) : 4'd0;//小于号表达式 assign out_i = (x3 > y3) ? 4'd0 : (y3 + x3);//大于号表达式 assign out_j = (y3 <= z3) ? (y3 - x3) : 4'd0;//小于等于号表达式 assign out_k = (y3 >= z3) ? (y3 - x3) : 4'd0;//大于等于号表达式
/*************************************************/ //按位运算符:“~”、“&”、“|”、“^”、“~^” //在按位运算中,若两个操作数的位宽不一致,则会自动将两个操作数右对齐,高位补0后进行运算 assign out_l = ~x4;//按位求反表达式 assign out_m = x4 & y4;//按位与表达式 assign out_n = x4 | y4;//按位或表达式 assign out_o = x4 ^ y4;//按位异或表达式 assign out_p = x4 ~^ y4;//按位同或表达式
/*************************************************/ //拼接运算符 assign q = {x5,y5};//拼接运算符表达式
/*************************************************/ //移位运算符:“<<”、“>>” assign r = x6 << 3;//左移表达式 assign s = x6 >>3;//右移表达式
1、 将下载器连接到iCore3L双核心板; 2、 通过Micro USB线给iCore3L供电; 3、 将编写好的代码进行编译,编译无报错之后点击“全部运行”按钮,进行全编译。
4、 全编译通过后,点击左上角的“调试模式”按钮,进入调试模式。然后点击“采集调试信息”按钮。
5、 将clk_25m信号设置为采样时钟,rst_n设置为采样且触发,其他信号设置为仅采样;然后点击红框中“ILVA配置”按钮,即红框中齿轮状图标。
6、 将采样深度设置为1024,然后点击确定,并点击“文件”按钮,下拉菜单中点击“保存工程…”。
7、 点击“实现→下载”按钮,将仿真文件下载到FPGA中,然后点击实时调试按钮。
8、 单击rst_n信号,设置触发表达式,将触发类型设置为“算数比较”,“等于”,“1’h1”,然后点击确定,再点击左上角的“运行”,开始进行信号的采集。
9、 信息输出窗口出现“Done:1”,表示调试完成,同时会出现下图中调试完成的提示,点击“OK”即可;然后点击工具栏红框中的“波形”按钮,查看调试波形。
10、 如果出现如下弹窗,则检查触发条件设置是否满足触发要求,或者采样深度是深度是否过大等原因。
11、 通过HqInsight Debugger工具对运算结果进行采集,进行对比验证HqInsight Debugger采集到的运算结果与逻辑运算的实验结果。