出几道数字设计的小题目

发布于 2022-09-23 13:58:16 字数 694 浏览 18 评论 0

有的人觉得数字电路简单,模拟电路难。的确,模拟电路确实难。但是数字设计也绝对不可能简单,说它简单的人估计不太懂数字设计。学习数字设计也和学习编程一样,一步一个脚印,不可急功近利。一向觉得要做一个数字设计的高手,首先,脑子里面一般都会有一个现成的verilog或者vhdl编译器,写出了代码,就能大致想清楚其电路构造。有的人设计出来了,却不知道其原理,那是设计不好的。
比如,如下代码:
input rst,clk;
input[3:0]i1;
input[3:0]i2;
...
reg[4:0]r1;
always@(negedge clk or negedge rst)
begin
      if(!rst)
           r1<=5'b0000;
     else
          r1<={1'b0,i1}+{1'b0,i2}+5'b0001;
end
你能不能马上在脑子里把它编译出来吗?如果这都办不到,那么只说明基本功不扎实,还需要继续磨练。

[ 本帖最后由 cjaizss 于 2009-1-3 21:34 编辑 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

殤城〤 2022-09-30 13:58:16

出一道题:
一般数字设计的时候,很喜欢使用翻转信号(T触发器)以便模块间传递事件信号。
因为它很简单:
....
t<=~t;
即可
现在,想把这样一个翻转信号传递给cpu的中断,每一次翻转都代表一个事件。
假设该cpu不支持双沿中断,但支持上升沿中断,且需要一定脉冲宽度,该怎么做呢?
假设module top是顶层模块,下层模块传来一个翻转信号t;
输出到cpu的中断信号是int_cpu;

八巷 2022-09-30 13:58:16
  1. input rst,clk;
  2. reg [1:0]counter;
  3. reg [1:0]r1;
  4. always@(negedge clk or negedge rst)
  5. begin
  6.         if(!rst)
  7.               begin
  8.                     counter <= 2'b00;
  9.                     r1<=2'b00;
  10.               end
  11.        else
  12.               counter<=counter+2'b01;
  13.               if(counter==2'b11)
  14.                       r1<=r1+2'b01;
  15. end

复制代码
以上你可以马上画出其原理图吗?
那么以下呢?

  1. input rst,clk;
  2. reg [1:0]counter;
  3. reg [1:0]r1;
  4. always@(negedge clk or negedge rst)
  5. begin
  6.         if(!rst)
  7.               begin
  8.                     counter = 2'b00;
  9.                     r1=2'b00;
  10.               end
  11.        else
  12.               counter=counter+2'b01;
  13.               if(counter==2'b11)
  14.                       r1=r1+2'b01;
  15. end

复制代码

人心善变 2022-09-30 13:58:16

再试着画一画两者的波形图呢?

公布 2022-09-30 13:58:16

思考题:你可以设计出一个网表文件格式供数字设计使用吗?当然如果你还不知道什么是网表的话.......那么数字设计还一点门都没入,再继续学吧

[ 本帖最后由 cjaizss 于 2009-1-3 21:39 编辑 ]

辞慾 2022-09-30 13:58:16

数字设计还一点门都没入。高深啊!

被你宠の有点坏 2022-09-30 13:58:16

难者不会,会者不难。如果懂了,其实没那么神秘。如果想深入学习数字设计,以上几个是最简单的问题,除了那个网表。

梅窗月明清似水 2022-09-30 13:58:16

我之所以说网表比较难一些,是因为既需要对数字电路足够了解,也要对软件设计足够了解

睫毛上残留的泪 2022-09-30 13:58:16

博士会考虑用云进行计算

余生共白头 2022-09-30 13:58:16

贴了这么多天,不知道有没有人做.
本来想再贴几个难度再高一点的(其实网表文件格式设计是比较难的),但看到大家的反应,暂时算了,呵呵.
这主要是给刚入门的电子工程师做的.
但版内的IC设计人员虽然也是ee的一类,但数字设计是份内工作,这些未免简单了一点

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文